{"version":3,"file":"BackgroundImage.CsD39YBo.mjs","names":["useRef","useState","useCallback"],"sources":["https:/framerusercontent.com/modules/UnwjjJD58kJROI44QeCx/QcUEY42nSPVkO1nWZtcG/BackgroundImage.js"],"sourcesContent":["// Apple-style liquid glass WebGL component with real-time background distortion\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,useIsStaticRenderer}from\"framer\";import{useState,useRef,useEffect,useCallback,startTransition}from\"react\";/**\n * Liquid Glass Component - Apple WWDC Style\n * \n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight fixed\n */export default function LiquidGlass(props){const{image={src:\"https://framerusercontent.com/images/GfGkADagM4KEibNcIiRUWlfrR0.jpg\",alt:\"Liquid Glass Background\"},interactionMode=\"hover\",magnification=1.2,refraction=.3,chromaticAberration=0,tintColor=\"#00ff88\",tintIntensity=.1,cornerRadius=16,animationSpeed=.8,easingFunction=\"easeOut\"}=props;const canvasRef=useRef(null);const glRef=useRef(null);const programRef=useRef(null);const textureRef=useRef(null);const animationRef=useRef();const mouseRef=useRef({x:.5,y:.5});const targetMouseRef=useRef({x:.5,y:.5});const effectsRef=useRef({magnification:0,refraction:0,chromatic:0});const targetEffectsRef=useRef({magnification:0,refraction:0,chromatic:0});const[isActive,setIsActive]=useState(interactionMode===\"static\");const[isPressed,setIsPressed]=useState(false);const[isWebGLReady,setIsWebGLReady]=useState(false);const isStatic=useIsStaticRenderer();// Vertex shader\nconst vertexShaderSource=`\n        attribute vec2 a_position;\n        attribute vec2 a_texCoord;\n        varying vec2 v_texCoord;\n        \n        void main() {\n            gl_Position = vec4(a_position, 0.0, 1.0);\n            v_texCoord = a_texCoord;\n        }\n    `;// Fragment shader with liquid glass effects\nconst fragmentShaderSource=`\n        precision mediump float;\n        \n        uniform sampler2D u_texture;\n        uniform vec2 u_mouse;\n        uniform float u_time;\n        uniform float u_magnification;\n        uniform float u_refraction;\n        uniform float u_chromatic;\n        uniform vec3 u_tint;\n        uniform float u_tintIntensity;\n        uniform float u_active;\n        uniform vec2 u_resolution;\n        \n        varying vec2 v_texCoord;\n        \n        void main() {\n            vec2 uv = v_texCoord;\n            vec2 mouse = u_mouse;\n            \n            // Distance from mouse\n            float dist = distance(uv, mouse);\n            float influence = smoothstep(0.4, 0.0, dist) * u_active;\n            \n            // Liquid distortion\n            float wave = sin(dist * 20.0 - u_time * 3.0) * 0.01;\n            float ripple = sin(dist * 40.0 - u_time * 5.0) * 0.005;\n            \n            // Magnification effect\n            vec2 direction = normalize(uv - mouse);\n            float magnify = influence * u_magnification * 0.1;\n            vec2 distortedUV = uv + direction * magnify;\n            \n            // Refraction distortion\n            vec2 refractOffset = vec2(\n                sin(uv.y * 10.0 + u_time) * u_refraction * influence * 0.02,\n                cos(uv.x * 10.0 + u_time) * u_refraction * influence * 0.02\n            );\n            \n            distortedUV += refractOffset + vec2(wave, ripple);\n            \n            // Sample texture without chromatic aberration\n            vec3 color = texture2D(u_texture, distortedUV).rgb;\n            \n            // Apply tint\n            color = mix(color, u_tint, u_tintIntensity * influence);\n            \n            // Brightness boost in active area\n            color += influence * 0.1;\n            \n            gl_FragColor = vec4(color, 1.0);\n        }\n    `;const createShader=useCallback((gl,type,source)=>{const shader=gl.createShader(type);if(!shader)return null;gl.shaderSource(shader,source);gl.compileShader(shader);if(!gl.getShaderParameter(shader,gl.COMPILE_STATUS)){console.error(\"Shader compilation error:\",gl.getShaderInfoLog(shader));gl.deleteShader(shader);return null;}return shader;},[]);const initWebGL=useCallback(()=>{const canvas=canvasRef.current;if(!canvas)return;const gl=canvas.getContext(\"webgl\")||canvas.getContext(\"experimental-webgl\");if(!gl||!(gl instanceof WebGLRenderingContext)){console.error(\"WebGL not supported\");return;}glRef.current=gl;// Set clear color to transparent\ngl.clearColor(0,0,0,0);gl.clear(gl.COLOR_BUFFER_BIT);// Create shaders\nconst vertexShader=createShader(gl,gl.VERTEX_SHADER,vertexShaderSource);const fragmentShader=createShader(gl,gl.FRAGMENT_SHADER,fragmentShaderSource);if(!vertexShader||!fragmentShader)return;// Create program\nconst program=gl.createProgram();if(!program)return;gl.attachShader(program,vertexShader);gl.attachShader(program,fragmentShader);gl.linkProgram(program);if(!gl.getProgramParameter(program,gl.LINK_STATUS)){console.error(\"Program linking error:\",gl.getProgramInfoLog(program));return;}programRef.current=program;// Set up geometry\nconst positions=new Float32Array([-1,-1,0,0,1,-1,1,0,-1,1,0,1,1,1,1,1]);const buffer=gl.createBuffer();gl.bindBuffer(gl.ARRAY_BUFFER,buffer);gl.bufferData(gl.ARRAY_BUFFER,positions,gl.STATIC_DRAW);const positionLocation=gl.getAttribLocation(program,\"a_position\");const texCoordLocation=gl.getAttribLocation(program,\"a_texCoord\");gl.enableVertexAttribArray(positionLocation);gl.vertexAttribPointer(positionLocation,2,gl.FLOAT,false,16,0);gl.enableVertexAttribArray(texCoordLocation);gl.vertexAttribPointer(texCoordLocation,2,gl.FLOAT,false,16,8);// Load texture\nloadTexture(gl,image.src);},[createShader,image.src]);const loadTexture=useCallback((gl,url)=>{const texture=gl.createTexture();gl.bindTexture(gl.TEXTURE_2D,texture);// Temporary 1x1 transparent pixel instead of blue\ngl.texImage2D(gl.TEXTURE_2D,0,gl.RGBA,1,1,0,gl.RGBA,gl.UNSIGNED_BYTE,new Uint8Array([0,0,0,0]));const img=new Image;img.crossOrigin=\"anonymous\";img.onload=()=>{gl.bindTexture(gl.TEXTURE_2D,texture);gl.texImage2D(gl.TEXTURE_2D,0,gl.RGBA,gl.RGBA,gl.UNSIGNED_BYTE,img);gl.texParameteri(gl.TEXTURE_2D,gl.TEXTURE_WRAP_S,gl.CLAMP_TO_EDGE);gl.texParameteri(gl.TEXTURE_2D,gl.TEXTURE_WRAP_T,gl.CLAMP_TO_EDGE);gl.texParameteri(gl.TEXTURE_2D,gl.TEXTURE_MIN_FILTER,gl.LINEAR);gl.texParameteri(gl.TEXTURE_2D,gl.TEXTURE_MAG_FILTER,gl.LINEAR);// Mark WebGL as ready after texture loads\nstartTransition(()=>setIsWebGLReady(true));};img.src=url;textureRef.current=texture;},[]);const render=useCallback(time=>{const gl=glRef.current;const program=programRef.current;const canvas=canvasRef.current;if(!gl||!program||!canvas)return;// Easing functions\nconst easing={linear:t=>t,easeInOut:t=>t<.5?2*t*t:-1+(4-2*t)*t,easeOut:t=>t*(2-t),easeIn:t=>t*t,spring:t=>{const c4=2*Math.PI/3;return t===0?0:t===1?1:Math.pow(2,-10*t)*Math.sin((t*10-.75)*c4)+1;}};const applyEasing=(current,target,speed)=>{const diff=target-current;const easedSpeed=easing[easingFunction](speed);return current+diff*easedSpeed;};// Smooth mouse interpolation with different speeds for enter/leave\nconst lerpSpeed=isActive?.1:.05// Slower when leaving\n;mouseRef.current.x=applyEasing(mouseRef.current.x,targetMouseRef.current.x,lerpSpeed);mouseRef.current.y=applyEasing(mouseRef.current.y,targetMouseRef.current.y,lerpSpeed);// Smooth interpolation for effects\nconst effectLerpSpeed=isActive?.15:.08// Slower return to zero\n;// Set target effects based on active state\nif(isActive){targetEffectsRef.current.magnification=magnification;targetEffectsRef.current.refraction=refraction;targetEffectsRef.current.chromatic=chromaticAberration;}else{targetEffectsRef.current.magnification=0;targetEffectsRef.current.refraction=0;targetEffectsRef.current.chromatic=0;}// Interpolate current effects towards target with easing\neffectsRef.current.magnification=applyEasing(effectsRef.current.magnification,targetEffectsRef.current.magnification,effectLerpSpeed);effectsRef.current.refraction=applyEasing(effectsRef.current.refraction,targetEffectsRef.current.refraction,effectLerpSpeed);effectsRef.current.chromatic=applyEasing(effectsRef.current.chromatic,targetEffectsRef.current.chromatic,effectLerpSpeed);gl.viewport(0,0,canvas.width,canvas.height);gl.useProgram(program);// Set uniforms\nconst mouseLocation=gl.getUniformLocation(program,\"u_mouse\");const timeLocation=gl.getUniformLocation(program,\"u_time\");const magnificationLocation=gl.getUniformLocation(program,\"u_magnification\");const refractionLocation=gl.getUniformLocation(program,\"u_refraction\");const chromaticLocation=gl.getUniformLocation(program,\"u_chromatic\");const tintLocation=gl.getUniformLocation(program,\"u_tint\");const tintIntensityLocation=gl.getUniformLocation(program,\"u_tintIntensity\");const activeLocation=gl.getUniformLocation(program,\"u_active\");const resolutionLocation=gl.getUniformLocation(program,\"u_resolution\");gl.uniform2f(mouseLocation,mouseRef.current.x,1-mouseRef.current.y);gl.uniform1f(timeLocation,time*.001);gl.uniform1f(magnificationLocation,effectsRef.current.magnification);gl.uniform1f(refractionLocation,effectsRef.current.refraction);gl.uniform1f(chromaticLocation,effectsRef.current.chromatic);// Parse tint color\nconst tint=tintColor.replace(\"#\",\"\");const r=parseInt(tint.substr(0,2),16)/255;const g=parseInt(tint.substr(2,2),16)/255;const b=parseInt(tint.substr(4,2),16)/255;gl.uniform3f(tintLocation,r,g,b);gl.uniform1f(tintIntensityLocation,tintIntensity);// Smooth active state transition\nconst activeValue=isActive?1:0;gl.uniform1f(activeLocation,activeValue);gl.uniform2f(resolutionLocation,canvas.width,canvas.height);gl.drawArrays(gl.TRIANGLE_STRIP,0,4);if(!isStatic){animationRef.current=requestAnimationFrame(render);}},[isActive,magnification,refraction,chromaticAberration,tintColor,tintIntensity,isStatic,easingFunction]);const handleMouseMove=useCallback(e=>{if(isStatic)return;const rect=canvasRef.current?.getBoundingClientRect();if(!rect)return;const x=(e.clientX-rect.left)/rect.width;const y=(e.clientY-rect.top)/rect.height;targetMouseRef.current={x,y};},[isStatic]);const handleMouseEnter=useCallback(()=>{if(interactionMode===\"hover\"&&!isStatic){startTransition(()=>setIsActive(true));}},[interactionMode,isStatic]);const handleMouseLeave=useCallback(()=>{if(interactionMode===\"hover\"&&!isStatic){startTransition(()=>setIsActive(false));}},[interactionMode,isStatic]);const handleMouseDown=useCallback(()=>{if(interactionMode===\"press\"&&!isStatic){startTransition(()=>{setIsPressed(true);setIsActive(true);});}},[interactionMode,isStatic]);const handleMouseUp=useCallback(()=>{if(interactionMode===\"press\"&&!isStatic){startTransition(()=>{setIsPressed(false);setIsActive(false);});}},[interactionMode,isStatic]);useEffect(()=>{if(isStatic)return;initWebGL();animationRef.current=requestAnimationFrame(render);return()=>{if(animationRef.current){cancelAnimationFrame(animationRef.current);}};},[initWebGL,render,isStatic]);useEffect(()=>{const canvas=canvasRef.current;if(!canvas)return;const resizeCanvas=()=>{const rect=canvas.getBoundingClientRect();canvas.width=rect.width*window.devicePixelRatio;canvas.height=rect.height*window.devicePixelRatio;};resizeCanvas();window.addEventListener(\"resize\",resizeCanvas);return()=>window.removeEventListener(\"resize\",resizeCanvas);},[]);if(isStatic){return /*#__PURE__*/_jsx(\"div\",{style:{width:\"100%\",height:\"100%\",borderRadius:`${cornerRadius}px`,overflow:\"hidden\",backgroundImage:`url(${image.src})`,backgroundSize:\"cover\",backgroundPosition:\"center\"}});}return /*#__PURE__*/_jsxs(\"div\",{style:{width:\"100%\",height:\"100%\",borderRadius:`${cornerRadius}px`,overflow:\"hidden\",cursor:interactionMode===\"press\"?\"pointer\":\"default\",position:\"relative\"},onMouseMove:handleMouseMove,onMouseEnter:handleMouseEnter,onMouseLeave:handleMouseLeave,onMouseDown:handleMouseDown,onMouseUp:handleMouseUp,children:[/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",top:0,left:0,width:\"100%\",height:\"100%\",backgroundImage:`url(${image.src})`,backgroundSize:\"cover\",backgroundPosition:\"center\",opacity:isWebGLReady?0:1,transition:\"opacity 0.3s ease-in-out\",zIndex:1}}),/*#__PURE__*/_jsx(\"canvas\",{ref:canvasRef,style:{width:\"100%\",height:\"100%\",display:\"block\",transition:`transform ${animationSpeed}s cubic-bezier(0.23, 1, 0.32, 1)`,transform:isPressed?\"scale(0.98)\":\"scale(1)\",opacity:isWebGLReady?1:0,zIndex:2,position:\"relative\"}})]});}addPropertyControls(LiquidGlass,{image:{type:ControlType.ResponsiveImage,title:\"Background Image\"},interactionMode:{type:ControlType.Enum,title:\"Interaction Mode\",options:[\"hover\",\"press\",\"static\"],optionTitles:[\"Hover\",\"Press\",\"Static\"],defaultValue:\"hover\",displaySegmentedControl:true},magnification:{type:ControlType.Number,title:\"Magnification\",defaultValue:.4,min:1,max:2,step:.1},refraction:{type:ControlType.Number,title:\"Refraction\",defaultValue:.3,min:0,max:1,step:.1},chromaticAberration:{type:ControlType.Number,title:\"Chromatic Aberration\",defaultValue:0,min:0,max:.1,step:.01},tintColor:{type:ControlType.Color,title:\"Tint Color\",defaultValue:\"#00ff88\"},tintIntensity:{type:ControlType.Number,title:\"Tint Intensity\",defaultValue:.1,min:0,max:1,step:.1},cornerRadius:{type:ControlType.Number,title:\"Corner Radius\",defaultValue:16,min:0,max:50,step:1,unit:\"px\"},animationSpeed:{type:ControlType.Number,title:\"Animation Speed\",defaultValue:.8,min:.1,max:2,step:.1,unit:\"s\"},easingFunction:{type:ControlType.Enum,title:\"Easing Function\",options:[\"linear\",\"easeInOut\",\"easeOut\",\"easeIn\",\"spring\"],optionTitles:[\"Linear\",\"Ease In Out\",\"Ease Out\",\"Ease In\",\"Spring\"],defaultValue:\"easeOut\",displaySegmentedControl:false}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"LiquidGlass\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutWidth\":\"fixed\",\"framerSupportedLayoutHeight\":\"fixed\",\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./BackgroundImage.map"],"mappings":"8NAMG,SAAwB,EAAY,EAAM,CAAC,GAAK,CAAC,QAAM,CAAC,IAAI,sEAAsE,IAAI,yBAAyB,EAAE,kBAAgB,QAAQ,gBAAc,IAAI,aAAW,GAAG,sBAAoB,EAAE,YAAU,UAAU,gBAAc,GAAG,eAAa,GAAG,iBAAe,GAAG,iBAAe,WAAW,EAAY,EAAUA,EAAO,IAAI,EAAQ,EAAMA,EAAO,IAAI,EAAQ,EAAWA,EAAO,IAAI,EAAQ,EAAWA,EAAO,IAAI,EAAQ,EAAaA,EAAO,EAAQ,EAASA,EAAO,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,EAAQ,EAAeA,EAAO,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,EAAQ,EAAWA,EAAO,CAAC,cAAc,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC,EAAQ,EAAiBA,EAAO,CAAC,cAAc,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC,EAAO,CAAC,EAAS,GAAaC,EAAS,IAAkB,QAAQ,EAAO,CAAC,EAAU,GAAcA,EAAS,EAAK,EAAO,CAAC,EAAa,GAAiBA,EAAS,EAAK,EAAQ,EAAS,EAAoB,EA+D33B,EAAaC,GAAa,EAAG,EAAK,IAAS,CAAC,IAAM,EAAO,EAAG,aAAa,CAAI,EAAkP,OAA5O,GAAmB,EAAG,aAAa,EAAO,CAAM,EAAE,EAAG,cAAc,CAAM,EAAM,EAAG,mBAAmB,EAAO,EAAG,cAAc,EAAsH,GAAnH,QAAQ,MAAM,4BAA4B,EAAG,iBAAiB,CAAM,CAAC,EAAE,EAAG,aAAa,CAAM,EAAS,OAAxN,IAA4O,EAAE,CAAC,CAAC,EAAQ,EAAUA,MAAgB,CAAC,IAAM,EAAO,EAAU,QAAQ,GAAG,CAAC,EAAO,OAAO,IAAM,EAAG,EAAO,WAAW,OAAO,GAAG,EAAO,WAAW,oBAAoB,EAAE,GAAG,CAAC,GAAI,EAAE,aAAc,uBAAuB,CAAC,QAAQ,MAAM,qBAAqB,EAAE,MAAO,CAAC,EAAM,QAAQ,EACzmB,EAAG,WAAW,EAAE,EAAE,EAAE,CAAC,EAAE,EAAG,MAAM,EAAG,gBAAgB,EACnD,IAAM,EAAa,EAAa,EAAG,EAAG,cAAc;;;;;;;;;KAAkB,EAAQ,EAAe,EAAa,EAAG,EAAG,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAAoB,EAAE,GAAG,CAAC,GAAc,CAAC,EAAe,OACxL,IAAM,EAAQ,EAAG,cAAc,EAAE,GAAG,CAAC,EAAQ,OAA6G,GAAtG,EAAG,aAAa,EAAQ,CAAY,EAAE,EAAG,aAAa,EAAQ,CAAc,EAAE,EAAG,YAAY,CAAO,EAAK,CAAC,EAAG,oBAAoB,EAAQ,EAAG,WAAW,EAAE,CAAC,QAAQ,MAAM,yBAAyB,EAAG,kBAAkB,CAAO,CAAC,EAAE,MAAO,CAAC,EAAW,QAAQ,EAC/S,IAAM,EAAU,IAAI,aAAa,CAAC,GAAG,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAQ,EAAO,EAAG,aAAa,EAAE,EAAG,WAAW,EAAG,aAAa,CAAM,EAAE,EAAG,WAAW,EAAG,aAAa,EAAU,EAAG,WAAW,EAAE,IAAM,EAAiB,EAAG,kBAAkB,EAAQ,YAAY,EAAQ,EAAiB,EAAG,kBAAkB,EAAQ,YAAY,EAAE,EAAG,wBAAwB,CAAgB,EAAE,EAAG,oBAAoB,EAAiB,EAAE,EAAG,MAAM,GAAM,GAAG,CAAC,EAAE,EAAG,wBAAwB,CAAgB,EAAE,EAAG,oBAAoB,EAAiB,EAAE,EAAG,MAAM,GAAM,GAAG,CAAC,EAC/hB,EAAY,EAAG,EAAM,GAAG,CAAE,EAAE,CAAC,EAAa,EAAM,GAAG,CAAC,EAAQ,EAAYA,GAAa,EAAG,IAAM,CAAC,IAAM,EAAQ,EAAG,cAAc,EAAE,EAAG,YAAY,EAAG,WAAW,CAAO,EACpK,EAAG,WAAW,EAAG,WAAW,EAAE,EAAG,KAAK,EAAE,EAAE,EAAE,EAAG,KAAK,EAAG,cAAc,IAAI,WAAW,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,IAAM,EAAI,IAAI,MAAM,EAAI,YAAY,YAAY,EAAI,WAAW,CAAC,EAAG,YAAY,EAAG,WAAW,CAAO,EAAE,EAAG,WAAW,EAAG,WAAW,EAAE,EAAG,KAAK,EAAG,KAAK,EAAG,cAAc,CAAG,EAAE,EAAG,cAAc,EAAG,WAAW,EAAG,eAAe,EAAG,aAAa,EAAE,EAAG,cAAc,EAAG,WAAW,EAAG,eAAe,EAAG,aAAa,EAAE,EAAG,cAAc,EAAG,WAAW,EAAG,mBAAmB,EAAG,MAAM,EAAE,EAAG,cAAc,EAAG,WAAW,EAAG,mBAAmB,EAAG,MAAM,EAC9gB,MAAoB,EAAgB,EAAI,CAAC,CAAE,EAAE,EAAI,IAAI,EAAI,EAAW,QAAQ,CAAQ,EAAE,CAAC,CAAC,EAAQ,EAAOA,EAAY,GAAM,CAAC,IAAM,EAAG,EAAM,QAAc,EAAQ,EAAW,QAAc,EAAO,EAAU,QAAQ,GAAG,CAAC,GAAI,CAAC,GAAS,CAAC,EAAO,OAC3O,IAAM,EAAO,CAAC,OAAO,GAAG,EAAE,UAAU,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,QAAQ,GAAG,GAAG,EAAE,GAAG,OAAO,GAAG,EAAE,EAAE,OAAO,GAAG,CAAC,IAAM,EAAG,EAAE,KAAK,GAAG,EAAE,OAAO,IAAI,EAAE,EAAE,IAAI,EAAE,EAAW,IAAE,IAAI,GAAG,KAAK,KAAK,EAAE,GAAG,KAAK,CAAE,EAAE,CAAE,CAAC,EAAQ,GAAa,EAAQ,EAAO,IAAyF,GAArE,EAAO,GAAyB,EAAO,EAAe,CAAC,CAAoC,EACjV,EAAU,EAAS,GAAG,IAC3B,EAAS,QAAQ,EAAE,EAAY,EAAS,QAAQ,EAAE,EAAe,QAAQ,EAAE,CAAS,EAAE,EAAS,QAAQ,EAAE,EAAY,EAAS,QAAQ,EAAE,EAAe,QAAQ,EAAE,CAAS,EAC3K,IAAM,EAAgB,EAAS,IAAI,IAEhC,GAAU,EAAiB,QAAQ,cAAc,EAAc,EAAiB,QAAQ,WAAW,EAAW,EAAiB,QAAQ,UAAU,IAA0B,EAAiB,QAAQ,cAAc,EAAE,EAAiB,QAAQ,WAAW,EAAE,EAAiB,QAAQ,UAAU,GAChS,EAAW,QAAQ,cAAc,EAAY,EAAW,QAAQ,cAAc,EAAiB,QAAQ,cAAc,CAAe,EAAE,EAAW,QAAQ,WAAW,EAAY,EAAW,QAAQ,WAAW,EAAiB,QAAQ,WAAW,CAAe,EAAE,EAAW,QAAQ,UAAU,EAAY,EAAW,QAAQ,UAAU,EAAiB,QAAQ,UAAU,CAAe,EAAE,EAAG,SAAS,EAAE,EAAE,EAAO,MAAM,EAAO,MAAM,EAAE,EAAG,WAAW,CAAO,EAC9b,IAAM,EAAc,EAAG,mBAAmB,EAAQ,SAAS,EAAQ,EAAa,EAAG,mBAAmB,EAAQ,QAAQ,EAAQ,EAAsB,EAAG,mBAAmB,EAAQ,iBAAiB,EAAQ,EAAmB,EAAG,mBAAmB,EAAQ,cAAc,EAAQ,EAAkB,EAAG,mBAAmB,EAAQ,aAAa,EAAQ,EAAa,EAAG,mBAAmB,EAAQ,QAAQ,EAAQ,EAAsB,EAAG,mBAAmB,EAAQ,iBAAiB,EAAQ,EAAe,EAAG,mBAAmB,EAAQ,UAAU,EAAQ,EAAmB,EAAG,mBAAmB,EAAQ,cAAc,EAAE,EAAG,UAAU,EAAc,EAAS,QAAQ,EAAE,EAAE,EAAS,QAAQ,CAAC,EAAE,EAAG,UAAU,EAAa,EAAK,IAAI,EAAE,EAAG,UAAU,EAAsB,EAAW,QAAQ,aAAa,EAAE,EAAG,UAAU,EAAmB,EAAW,QAAQ,UAAU,EAAE,EAAG,UAAU,EAAkB,EAAW,QAAQ,SAAS,EACv4B,IAAM,EAAK,EAAU,QAAQ,IAAI,EAAE,EAAQ,EAAE,SAAS,EAAK,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE,IAAU,EAAE,SAAS,EAAK,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE,IAAU,EAAE,SAAS,EAAK,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE,IAAI,EAAG,UAAU,EAAa,EAAE,EAAE,CAAC,EAAE,EAAG,UAAU,EAAsB,CAAa,EACpP,IAAM,EAAY,KAAa,EAAG,UAAU,EAAe,CAAW,EAAE,EAAG,UAAU,EAAmB,EAAO,MAAM,EAAO,MAAM,EAAE,EAAG,WAAW,EAAG,eAAe,EAAE,CAAC,EAAM,IAAU,EAAa,QAAQ,sBAAsB,CAAM,EAAG,EAAE,CAAC,EAAS,EAAc,EAAW,EAAoB,EAAU,EAAc,EAAS,CAAc,CAAC,EAAQ,EAAgBA,EAAY,GAAG,CAAC,GAAG,EAAS,OAAO,IAAM,EAAK,EAAU,SAAS,sBAAsB,EAAE,GAAG,CAAC,EAAK,OAAO,IAAM,GAAG,EAAE,QAAQ,EAAK,MAAM,EAAK,MAAY,GAAG,EAAE,QAAQ,EAAK,KAAK,EAAK,OAAO,EAAe,QAAQ,CAAC,IAAE,GAAC,CAAE,EAAE,CAAC,CAAQ,CAAC,EAAQ,EAAiBA,MAAgB,CAAI,IAAkB,SAAS,CAAC,GAAU,MAAoB,EAAY,EAAI,CAAC,CAAG,EAAE,CAAC,EAAgB,CAAQ,CAAC,EAAQ,EAAiBA,MAAgB,CAAI,IAAkB,SAAS,CAAC,GAAU,MAAoB,EAAY,EAAK,CAAC,CAAG,EAAE,CAAC,EAAgB,CAAQ,CAAC,EAAQ,EAAgBA,MAAgB,CAAI,IAAkB,SAAS,CAAC,GAAU,MAAoB,CAAC,EAAa,EAAI,EAAE,EAAY,EAAI,CAAE,CAAC,CAAG,EAAE,CAAC,EAAgB,CAAQ,CAAC,EAAQ,EAAcA,MAAgB,CAAI,IAAkB,SAAS,CAAC,GAAU,MAAoB,CAAC,EAAa,EAAK,EAAE,EAAY,EAAK,CAAE,CAAC,CAAG,EAAE,CAAC,EAAgB,CAAQ,CAAC,EAAuxB,OAArxB,MAAc,CAAI,MAA+E,OAA/D,EAAU,EAAE,EAAa,QAAQ,sBAAsB,CAAM,MAAY,CAAI,EAAa,SAAS,qBAAqB,EAAa,OAAO,CAAG,CAAE,EAAE,CAAC,EAAU,EAAO,CAAQ,CAAC,EAAE,MAAc,CAAC,IAAM,EAAO,EAAU,QAAQ,GAAG,CAAC,EAAO,OAAO,IAAM,MAAiB,CAAC,IAAM,EAAK,EAAO,sBAAsB,EAAE,EAAO,MAAM,EAAK,MAAM,EAAO,iBAAiB,EAAO,OAAO,EAAK,OAAO,EAAO,gBAAiB,EAAgE,OAA9D,EAAa,EAAE,EAAO,iBAAiB,SAAS,CAAY,MAAY,EAAO,oBAAoB,SAAS,CAAY,CAAE,EAAE,CAAC,CAAC,EAAK,EAA8B,EAAK,MAAM,CAAC,MAAM,CAAC,MAAM,OAAO,OAAO,OAAO,aAAa,GAAG,EAAa,IAAI,SAAS,SAAS,gBAAgB,OAAO,EAAM,IAAI,GAAG,eAAe,QAAQ,mBAAmB,QAAQ,CAAC,CAAC,EAAuB,EAAM,MAAM,CAAC,MAAM,CAAC,MAAM,OAAO,OAAO,OAAO,aAAa,GAAG,EAAa,IAAI,SAAS,SAAS,OAAO,IAAkB,QAAQ,UAAU,UAAU,SAAS,UAAU,EAAE,YAAY,EAAgB,aAAa,EAAiB,aAAa,EAAiB,YAAY,EAAgB,UAAU,EAAc,SAAS,CAAc,EAAK,MAAM,CAAC,MAAM,CAAC,SAAS,WAAW,IAAI,EAAE,KAAK,EAAE,MAAM,OAAO,OAAO,OAAO,gBAAgB,OAAO,EAAM,IAAI,GAAG,eAAe,QAAQ,mBAAmB,SAAS,QAAQ,IAAiB,WAAW,2BAA2B,OAAO,CAAC,CAAC,CAAC,EAAe,EAAK,SAAS,CAAC,IAAI,EAAU,MAAM,CAAC,MAAM,OAAO,OAAO,OAAO,QAAQ,QAAQ,WAAW,aAAa,EAAe,kCAAkC,UAAU,EAAU,cAAc,WAAW,QAAQ,KAAiB,OAAO,EAAE,SAAS,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAE,qBArFxxF,IAAwE,IAAyE,EAqFwoF,EAAoB,EAAY,CAAC,MAAM,CAAC,KAAK,EAAY,gBAAgB,MAAM,kBAAkB,EAAE,gBAAgB,CAAC,KAAK,EAAY,KAAK,MAAM,mBAAmB,QAAQ,CAAC,QAAQ,QAAQ,QAAQ,EAAE,aAAa,CAAC,QAAQ,QAAQ,QAAQ,EAAE,aAAa,QAAQ,wBAAwB,EAAI,EAAE,cAAc,CAAC,KAAK,EAAY,OAAO,MAAM,gBAAgB,aAAa,GAAG,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,WAAW,CAAC,KAAK,EAAY,OAAO,MAAM,aAAa,aAAa,GAAG,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,oBAAoB,CAAC,KAAK,EAAY,OAAO,MAAM,uBAAuB,aAAa,EAAE,IAAI,EAAE,IAAI,GAAG,KAAK,GAAG,EAAE,UAAU,CAAC,KAAK,EAAY,MAAM,MAAM,aAAa,aAAa,SAAS,EAAE,cAAc,CAAC,KAAK,EAAY,OAAO,MAAM,iBAAiB,aAAa,GAAG,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,aAAa,CAAC,KAAK,EAAY,OAAO,MAAM,gBAAgB,aAAa,GAAG,IAAI,EAAE,IAAI,GAAG,KAAK,EAAE,KAAK,IAAI,EAAE,eAAe,CAAC,KAAK,EAAY,OAAO,MAAM,kBAAkB,aAAa,GAAG,IAAI,GAAG,IAAI,EAAE,KAAK,GAAG,KAAK,GAAG,EAAE,eAAe,CAAC,KAAK,EAAY,KAAK,MAAM,kBAAkB,QAAQ,CAAC,SAAS,YAAY,UAAU,SAAS,QAAQ,EAAE,aAAa,CAAC,SAAS,cAAc,WAAW,UAAU,QAAQ,EAAE,aAAa,UAAU,wBAAwB,EAAK,CAAC,CAAC"}