@takram/three-geospatial 0.6.0 → 0.7.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/build/webgpu.cjs CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const x=require("three"),e=require("three/tsl"),m=require("three/webgpu"),I=require("./shared3.cjs"),y=require("./shared.cjs"),te=require("three/src/nodes/core/NodeUtils.js");let C;function b(r,t,s){C??=new WeakMap;let o=C.get(r);return o==null&&(o={},C.set(r,o)),o[t]??=s()}const ve=r=>b(r,"projectionMatrix",()=>e.reference("projectionMatrix","mat4",r).setName("projectionMatrix")),xe=r=>b(r,"viewMatrix",()=>e.reference("matrixWorldInverse","mat4",r).setName("viewMatrix")),ge=r=>b(r,"inverseProjectionMatrix",()=>e.reference("projectionMatrixInverse","mat4",r).setName("inverseProjectionMatrix")),fe=r=>b(r,"inverseViewMatrix",()=>e.reference("matrixWorld","mat4",r).setName("inverseViewMatrix")),ye=r=>b(r,"cameraPositionWorld",()=>e.uniform(new x.Vector3).setName("cameraPositionWorld").onRenderUpdate((t,{value:s})=>{s.setFromMatrixPosition(r.matrixWorld)})),A=r=>b(r,"cameraNear",()=>e.reference("near","float",r).setName("cameraNear")),D=r=>b(r,"cameraFar",()=>e.reference("far","float",r).setName("cameraFar"));async function j(r,t){return await r.debug.getShaderAsync(new x.Scene,new x.Camera,t).then(s=>s).catch(s=>(console.error(s),{fragmentShader:null,vertexShader:null}))}function we(r,t){const s=new x.Mesh(new I.QuadGeometry,t);j(r,s).then(o=>{console.log(o.fragmentShader)}).finally(()=>{s.geometry.dispose()})}function Te(r,t){const s=new x.Mesh(new I.QuadGeometry,t);j(r,s).then(o=>{console.log(o.vertexShader)}).finally(()=>{s.geometry.dispose()})}function Ne(r,t){const s=new m.NodeMaterial;s.vertexNode=e.vec4(e.positionGeometry.xy,0,1),s.fragmentNode=t;const o=new x.Mesh(new I.QuadGeometry,s);j(r,o).then(i=>{console.log(i.fragmentShader)}).finally(()=>{s.dispose(),o.geometry.dispose()})}function Se(r,t,s){const o=r[t];return r[t]=((...i)=>(s(...i),o.apply(r,i))),r}class se extends m.TextureNode{static get type(){return"OutputTextureNode"}constructor(t,s){super(s),this.owner=t,this.setUpdateMatrix(!1)}setup(t){return this.owner.build(t),super.setup(t)}clone(){return new this.constructor(this.owner,this.value)}}const G=(...r)=>new se(...r);class P extends m.TempNode{constructor(t){super("vec4"),this.resolutionScale=1,this.renderTargets=[],this.inputNode=t,this.updateBeforeType=m.NodeUpdateType.FRAME}static get type(){return"FilterNode"}createRenderTarget(t){const s=new x.RenderTarget(1,1,{depthBuffer:!1,type:x.HalfFloatType,format:x.RGBAFormat}),o=s.texture;o.minFilter=x.LinearFilter,o.magFilter=x.LinearFilter,o.generateMipmaps=!1;const i=this.constructor.type;return o.name=t!=null?`${i}.${t}`:i,this.renderTargets.push(s),s}getTextureNode(){return y.invariant(this.textureNode!=null,"outputTexture must be specified before getTextureNode() is called."),this.textureNode}get outputTexture(){return this.textureNode?.value??null}set outputTexture(t){this.textureNode=t!=null?G(this,t):void 0}setup(t){const{inputNode:s,textureNode:o}=this;return y.invariant(s!=null,"inputNode must be specified before being setup."),y.invariant(o!=null,"outputTexture must be specified before being setup."),o.uvNode=s.uvNode,o}dispose(){for(const t of this.renderTargets)t.dispose();super.dispose()}}const{resetRendererState:Me,restoreRendererState:be}=m.RendererUtils;class L extends P{constructor(t,s){super(t),this.downsampleRTs=[],this.upsampleRTs=[],this.downsampleMaterial=new m.NodeMaterial,this.upsampleMaterial=new m.NodeMaterial,this.mesh=new m.QuadMesh,this.inputTexelSize=e.uniform(new x.Vector2),this.downsampleNode=e.texture();for(let o=0;o<s;++o)this.downsampleRTs[o]=this.createRenderTarget(`Downsample${o}`),o<s-1&&(this.upsampleRTs[o]=this.createRenderTarget(`Upsample${o}`));this.outputTexture=this.upsampleRTs[0].texture}setSize(t,s){const{resolutionScale:o}=this;let i=Math.max(Math.round(t*o),1),n=Math.max(Math.round(s*o),1);const{downsampleRTs:a,upsampleRTs:c}=this;for(let u=0;u<a.length;++u)i=Math.max(Math.round(i/2),1),n=Math.max(Math.round(n/2),1),a[u].setSize(i,n),u<c.length&&c[u].setSize(i,n);return this}updateBefore({renderer:t}){if(t==null)return;const{downsampleRTs:s,upsampleRTs:o,mesh:i,inputNode:n,inputTexelSize:a,downsampleNode:c}=this;y.invariant(n!=null);const{width:u,height:h}=n.value;this.setSize(u,h);const d=n.value;this.rendererState=Me(t,this.rendererState),i.material=this.downsampleMaterial;for(const l of s){const{width:p,height:v}=n.value;a.value.set(1/p,1/v),t.setRenderTarget(l),i.render(t),n.value=l.texture}i.material=this.upsampleMaterial;for(let l=o.length-1;l>=0;--l){const p=o[l],{width:v,height:g}=n.value;a.value.set(1/v,1/g),c.value=s[l].texture,t.setRenderTarget(p),i.render(t),n.value=p.texture}be(t,this.rendererState),n.value=d}setup(t){const{inputNode:s}=this;y.invariant(s!=null);const{downsampleMaterial:o,upsampleMaterial:i}=this;return o.fragmentNode=this.setupDownsampleNode(t),i.fragmentNode=this.setupUpsampleNode(t),o.needsUpdate=!0,i.needsUpdate=!0,super.setup(t)}dispose(){for(const t of this.downsampleRTs)t.dispose();for(const t of this.upsampleRTs)t.dispose();this.downsampleMaterial.dispose(),this.upsampleMaterial.dispose(),this.mesh.geometry.dispose(),super.dispose()}}const k=(r,t)=>{const s=e.uv(),o=e.vec4(1,1,-1,-1).mul(t.xyxy).add(s.xyxy),i=e.vec4(2,2,-2,-2).mul(t.xyxy).add(s.xyxy),n=o.zy.toVertexStage(),a=o.xy.toVertexStage(),c=o.zw.toVertexStage(),u=o.xw.toVertexStage(),h=e.vec2(s.x,i.y).toVertexStage(),d=e.vec2(i.z,s.y).toVertexStage(),l=e.vec2(i.x,s.y).toVertexStage(),p=e.vec2(s.x,i.w).toVertexStage(),v=i.zy.toVertexStage(),g=i.xy.toVertexStage(),f=i.zw.toVertexStage(),N=i.xw.toVertexStage();return e.add(e.add(r.sample(s),r.sample(n),r.sample(a),r.sample(c),r.sample(u)).mul(1/8),e.add(r.sample(h),r.sample(d),r.sample(l),r.sample(p)).mul(1/16),e.add(r.sample(v),r.sample(g),r.sample(f),r.sample(N)).mul(1/32))},oe=(r,t)=>{const s=e.uv(),o=e.vec4(1,1,-1,-1).mul(t.xyxy).add(s.xyxy),i=e.vec2(s.x,o.y).toVertexStage(),n=e.vec2(o.z,s.y).toVertexStage(),a=e.vec2(o.x,s.y).toVertexStage(),c=e.vec2(s.x,o.w).toVertexStage(),u=o.zy.toVertexStage(),h=o.xy.toVertexStage(),d=o.zw.toVertexStage(),l=o.xw.toVertexStage();return e.add(r.sample(s).mul(.25),e.add(r.sample(i),r.sample(n),r.sample(a),r.sample(c)).mul(.125),e.add(r.sample(u),r.sample(h),r.sample(d),r.sample(l)).mul(.0625))};class re extends L{static get type(){return"MipmapBlurNode"}constructor(t,s=4){super(t,s),this.resolutionScale=.5}setupDownsampleNode(t){return y.invariant(this.inputNode!=null),k(this.inputNode,this.inputTexelSize)}setupUpsampleNode(t){return y.invariant(this.inputNode!=null),oe(this.inputNode,this.inputTexelSize)}}const Re=(...r)=>new re(...r),{resetRendererState:Ve,restoreRendererState:ze}=m.RendererUtils;class Be extends P{constructor(t){super(t),this.material=new m.NodeMaterial,this.mesh=new m.QuadMesh(this.material),this.inputTexelSize=e.uniform(new x.Vector2),this.renderTarget=this.createRenderTarget(),this.outputTexture=this.renderTarget.texture}setSize(t,s){const{resolutionScale:o}=this,i=Math.max(Math.round(t*o),1),n=Math.max(Math.round(s*o),1);return this.renderTarget.setSize(i,n),this}updateBefore({renderer:t}){if(t==null)return;const{inputNode:s}=this;y.invariant(s!=null);const{width:o,height:i}=s.value;this.setSize(o,i),this.inputTexelSize.value.set(1/o,1/i),this.rendererState=Ve(t,this.rendererState),t.setRenderTarget(this.renderTarget),this.mesh.render(t),ze(t,this.rendererState)}setup(t){const{inputNode:s}=this;y.invariant(s!=null);const{material:o}=this;return o.fragmentNode=this.setupOutputNode(t),o.needsUpdate=!0,super.setup(t)}dispose(){this.renderTarget.dispose(),this.material.dispose(),this.mesh.geometry.dispose(),super.dispose()}}class q extends Be{constructor(t){super(t),this.thresholdLevel=e.uniform(5),this.thresholdRange=e.uniform(1),this.resolutionScale=.5}static get type(){return"DownsampleThresholdNode"}setupOutputNode(){const{inputNode:t,thresholdLevel:s,thresholdRange:o,inputTexelSize:i}=this;y.invariant(t!=null);const n=k(t,i),a=e.luminance(n.rgb),c=e.smoothstep(s,s.add(o),a);return e.vec4(n.rgb,a).mul(c)}}const Fe=(...r)=>new q(...r);function Q(r){if(typeof r=="string")return r;if(r.layout.name==null)throw new Error("Struct name is required.");return r.layout.name}function F({typeOnly:r=!1,...t}){return r?s=>e.Fn(s):s=>e.Fn(s).setLayout({...t,type:Q(t.type),inputs:t.inputs?.map(o=>({...o,type:Q(o.type)}))??[]})}function R(r){return e.Fn((t,s)=>{const o=r(...t);return typeof o=="function"?o(s):o})}const{resetRendererState:Pe,restoreRendererState:Ce}=m.RendererUtils;class Ae extends P{constructor(t){super(t),this.iterations=1,this.material=new m.NodeMaterial,this.mesh=new m.QuadMesh(this.material),this.inputTexelSize=e.uniform(new x.Vector2),this.direction=e.uniform(new x.Vector2),this.horizontalRT=this.createRenderTarget("Horizontal"),this.verticalRT=this.createRenderTarget("Vertical"),this.outputTexture=this.verticalRT.texture}setSize(t,s){const{resolutionScale:o}=this,i=Math.max(Math.round(t*o),1),n=Math.max(Math.round(s*o),1);return this.horizontalRT.setSize(i,n),this.verticalRT.setSize(i,n),this}updateBefore({renderer:t}){if(t==null)return;const{horizontalRT:s,verticalRT:o,mesh:i,inputNode:n,direction:a}=this;y.invariant(n!=null);const{width:c,height:u}=n.value;this.setSize(c,u),this.inputTexelSize.value.set(1/c,1/u);const h=n.value;this.rendererState=Pe(t,this.rendererState);for(let d=0;d<this.iterations;++d)a.value.set(1,0),t.setRenderTarget(s),i.render(t),n.value=s.texture,a.value.set(0,1),t.setRenderTarget(o),i.render(t),n.value=o.texture;Ce(t,this.rendererState),n.value=h}setup(t){const{inputNode:s}=this;y.invariant(s!=null);const{material:o}=this;return o.fragmentNode=this.setupOutputNode(t),o.needsUpdate=!0,super.setup(t)}dispose(){this.horizontalRT.dispose(),this.verticalRT.dispose(),this.material.dispose(),this.mesh.geometry.dispose(),super.dispose()}}function Z(r){if(y.invariant(r>=0),r===0)return new Float64Array(0);if(r===1)return new Float64Array([1]);let t=new Float64Array(r),s=new Float64Array(r),o=s;for(let i=1;i<=r;++i){for(let n=0;n<i;++n)s[n]=n===0||n===i-1?1:t[n-1]+t[n];o=s,s=t,t=o}return o}function De(r,t=2){y.invariant(r>=3);const s=r+t*2,o=t>0?Z(s).slice(t,-t):Z(s),i=Math.floor((o.length-1)/2),n=o.reduce((l,p)=>l+p,0),a=o.slice(i),c=[...Array(i+1).keys()],u=new Float64Array(Math.floor(c.length/2)),h=new Float64Array(u.length);u[0]=a[0]/n;for(let l=1,p=1;l<c.length-1;l+=2,++p){const v=c[l],g=c[l+1],f=a[l],N=a[l+1],w=f+N,M=(v*f+g*N)/w;u[p]=w/n,h[p]=M}const d=(u.reduce((l,p)=>l+p,0)-u[0]*.5)*2;if(d!==0){const l=1/d;for(let p=0;p<u.length;++p)u[p]*=l}return{offsets:h,weights:u}}class O extends Ae{static get type(){return"GaussianBlurNode"}constructor(t,s=35){super(t),this.kernelSize=s}setupOutputNode(t){const{inputNode:s,inputTexelSize:o,direction:i}=this;y.invariant(s!=null);const{offsets:n,weights:a}=De(this.kernelSize);return e.Fn(()=>{const c=e.uv(),u=i.mul(o).toVertexStage(),h=s.sample(c).mul(a[0]);for(let d=1;d<n.length;++d){const l=u.mul(n[d]);h.addAssign(e.add(s.sample(c.add(l)),s.sample(c.sub(l))).mul(a[d]))}return h})()}}const Ue=(...r)=>new O(...r),ie=r=>r.dot(e.vec2(.06711056,.00583715)).fract().mul(52.9829189).fract(),Ie=e.Fn(()=>{const r=e.vec2(e.screenCoordinate.xy).add(e.time.fract().mul(1337)),t=ie(r);return e.vec3(t,t.oneMinus(),t).sub(.5).div(255)}).once()(),je=(r,t,s=e.vec2(90,45))=>{const o=e.equirectUV(r),i=e.fwidth(o),n=t.mul(i).mul(.5),a=e.abs(o.mul(s).fract().sub(.5)).div(s),c=e.smoothstep(n,n.add(i),a).oneMinus();return c.x.add(c.y).clamp(0,1)};class ne extends m.TempNode{constructor(){super("vec3"),this.currentProjectionMatrix=e.uniform(new x.Matrix4),this.previousProjectionMatrix=e.uniform("mat4"),this.currentModelViewMatrix=e.uniform(new x.Matrix4),this.previousModelViewMatrix=e.uniform("mat4"),this.objectModelViewMatrices=new WeakMap,this.updateType=m.NodeUpdateType.FRAME,this.updateBeforeType=m.NodeUpdateType.OBJECT,this.updateAfterType=m.NodeUpdateType.OBJECT}static get type(){return"HighpVelocityNode"}update({camera:t}){if(t==null)return;const{currentProjectionMatrix:s,previousProjectionMatrix:o}=this,i=this.projectionMatrix??t.projectionMatrix;o.value==null?o.value=new x.Matrix4().copy(i):o.value.copy(s.value),s.value.copy(i)}updateBefore({object:t,camera:s}){if(t==null||s==null)return;const{currentModelViewMatrix:o,previousModelViewMatrix:i,objectModelViewMatrices:n}=this;o.value.multiplyMatrices(s.matrixWorldInverse,t.matrixWorld),i.value=n.get(t)??o.value}updateAfter({object:t}){if(t==null)return;const{currentModelViewMatrix:s,objectModelViewMatrices:o}=this;let i=o.get(t);i==null&&(i=new x.Matrix4,o.set(t,i)),i.copy(s.value)}setup(t){const s=this.currentProjectionMatrix.mul(this.currentModelViewMatrix).mul(e.positionLocal).toVertexStage(),o=this.previousProjectionMatrix.mul(this.previousModelViewMatrix).mul(e.positionPrevious).toVertexStage(),i=s.xyz.div(s.w),n=o.xyz.div(o.w);return e.sub(i,n)}}const Ge=e.nodeImmutable(ne);class ae extends L{static get type(){return"KawaseBlurNode"}constructor(t,s=4){super(t,s),this.resolutionScale=.5}setupDownsampleNode(t){const{inputNode:s,inputTexelSize:o}=this;y.invariant(s!=null);const i=e.uv(),n=e.vec4(1,1,-1,-1).mul(o.xyxy.mul(.5)).add(i.xyxy),a=n.zy.toVertexStage(),c=n.xy.toVertexStage(),u=n.xw.toVertexStage(),h=n.zw.toVertexStage();return e.add(s.sample(i).mul(4),s.sample(a),s.sample(c),s.sample(u),s.sample(h)).mul(1/8)}setupUpsampleNode(t){const{inputNode:s,inputTexelSize:o}=this;y.invariant(s!=null);const i=e.uv(),n=e.vec4(1,1,-1,-1).mul(o.xyxy.mul(.5)).add(i.xyxy),a=n.zy.toVertexStage(),c=n.xy.toVertexStage(),u=n.xw.toVertexStage(),h=n.zw.toVertexStage(),d=e.vec2(n.z,i.y).toVertexStage(),l=e.vec2(n.x,i.y).toVertexStage(),p=e.vec2(i.x,n.y).toVertexStage(),v=e.vec2(i.x,n.w).toVertexStage();return e.add(e.add(s.sample(a),s.sample(c),s.sample(u),s.sample(h)).mul(1/12),e.add(s.sample(d),s.sample(l),s.sample(p),s.sample(v)).mul(1/6))}}const Le=(...r)=>new ae(...r);class ke extends m.TempNode{constructor(t){super("vec3"),this.intensity=e.uniform(1e-5),this.inputNode=t}static get type(){return"LensGhostNode"}setup(t){const{inputNode:s,intensity:o}=this;y.invariant(s!=null);const i=F({name:"sampleGhost",type:"vec3",inputs:[{name:"uv",type:"vec2"},{name:"direction",type:"vec2"},{name:"color",type:"vec3"},{name:"offset",type:"float"}]})(([u,h,d,l])=>{const p=h.mul(l).add(u.oneMinus()).saturate(),v=s.sample(p).rgb.mul(d),g=e.sub(.5,p).length().mul(1/(Math.SQRT2/4)).saturate();return v.mulAssign(g.oneMinus().pow(3)),v}),n=e.uv(),a=n.sub(.5);return e.add(i(n,a,e.vec3(.8,.8,1),-5),i(n,a,e.vec3(1,.8,.4),-1.5),i(n,a,e.vec3(.9,1,.8),-.4),i(n,a,e.vec3(1,.8,.4),-.2),i(n,a,e.vec3(.9,.7,.7),-.1),i(n,a,e.vec3(.5,1,.4),.7),i(n,a,e.vec3(.5,.5,.5),1),i(n,a,e.vec3(1,1,.6),2.5),i(n,a,e.vec3(.5,.8,1),10)).mul(o)}}const{resetRendererState:qe,restoreRendererState:Oe}=m.RendererUtils;function We(){const r=new m.RenderTarget(1,1,{depthBuffer:!1,type:m.HalfFloatType,format:m.RGBAFormat}),t=r.texture;return t.minFilter=m.LinearFilter,t.magFilter=m.LinearFilter,t.generateMipmaps=!1,r}const Ee=new m.Vector2;class W extends m.TextureNode{constructor(t,s){const o=We();super(o.texture,s??e.uv()),this.resolutionScale=1,this.material=new m.NodeMaterial,this.mesh=new m.QuadMesh(this.material),this.node=t,this.renderTarget=o,this.updateBeforeType=m.NodeUpdateType.FRAME}static get type(){return"RTTextureNode"}setSize(t,s){const{resolutionScale:o}=this,i=Math.max(Math.round(t*o),1),n=Math.max(Math.round(s*o),1);return this.renderTarget.setSize(i,n),this}updateBefore({renderer:t}){if(t==null)return;const s=t.getDrawingBufferSize(Ee);this.setSize(s.x,s.y),this.rendererState=qe(t,this.rendererState),t.setRenderTarget(this.renderTarget),this.mesh.render(t),Oe(t,this.rendererState)}setup(t){const{material:s}=this;return s.fragmentNode=this.node.context(t.getContext()),s.needsUpdate=!0,super.setup(t)}dispose(){this.renderTarget.dispose(),this.material.dispose(),this.mesh.geometry.dispose(),super.dispose()}clone(){const t=new m.TextureNode(this.value,this.uvNode,this.levelNode);return t.sampler=this.sampler,t.referenceNode=this,t}}const ue=(...r)=>new W(...r),E=(r,t)=>{let s;return r.isTextureNode===!0||r.isSampleNode===!0?s=r:r.getTextureNode!=null?s=r.getTextureNode():(s=new W(r),t!=null&&(s.value.name=t)),s},{resetRendererState:He,restoreRendererState:$e}=m.RendererUtils;function Qe(){const o=document.createElement("canvas");o.width=256,o.height=32;const i=o.getContext("2d");y.invariant(i!=null),i.beginPath(),i.moveTo(0,32/2),i.lineTo(256/2,5),i.lineTo(256,32/2),i.lineTo(256/2,27),i.closePath();const n=i.createLinearGradient(0,0,256,0);return n.addColorStop(0,"#000000"),n.addColorStop(.5,"#ffffff"),n.addColorStop(1,"#000000"),i.fillStyle=n,i.fill(),new x.CanvasTexture(o)}const K=e.struct({color:"vec3",luminance:"float",position:"vec2",scale:"float",sin:"float",cos:"float"});class Ze extends P{constructor(t){super(t),this.spikePairCount=6,this.wireframe=!1,this.intensity=e.uniform(1e-5),this.sizeScale=e.uniform(new x.Vector2(1.5,.01)),this.luminanceThreshold=e.uniform(100),this.counterBuffer=new m.StorageBufferAttribute(1,1),this.instanceBuffer=e.instancedArray(1,K),this.renderTarget=this.createRenderTarget(),this.material=new m.MeshBasicNodeMaterial({depthTest:!1,depthWrite:!1,transparent:!0,blending:x.AdditiveBlending}),this.mesh=new x.Mesh(new x.PlaneGeometry(1,1),this.material),this.camera=new x.PerspectiveCamera,this.inputTexelSize=e.uniform(new x.Vector2),this.outputTexelSize=e.uniform(new x.Vector2),this.geometryRatio=e.uniform(new x.Vector2),this.inputNode=t,this.resolutionScale=.5,this.outputTexture=this.renderTarget.texture}customCacheKey(){return te.hash(this.spikePairCount,+this.wireframe)}setSize(t,s){const{resolutionScale:o}=this,i=Math.max(Math.round(t*o),1),n=Math.max(Math.round(s*o),1);this.renderTarget.setSize(i,n);const a=Math.floor(i/2),c=Math.floor(n/2),u=a*c;return this.instanceBuffer.bufferCount<u&&(this.instanceBuffer.dispose(),this.instanceBuffer=e.instancedArray(u,K),this.setupCompute(a,c),this.setupMaterial()),this}updateBefore({renderer:t}){if(t==null)return;const{inputNode:s}=this;y.invariant(s!=null);const{width:o,height:i}=s.value;this.setSize(o,i);const{computeNode:n,counterBuffer:a,renderTarget:c}=this;y.invariant(n!=null),this.inputTexelSize.value.set(1/o,1/i);const u=o/i;u>1?this.geometryRatio.value.set(1/u,1):this.geometryRatio.value.set(1,u);const{width:h,height:d}=c;this.outputTexelSize.value.set(1/h,1/d),a.array[0]=0,a.needsUpdate=!0,t.compute(n),t.getArrayBufferAsync(a).then(l=>{this.mesh.count=new Uint32Array(l)[0]}).catch(l=>{console.error(l)}),this.rendererState=He(t,this.rendererState),t.setRenderTarget(c),t.render(this.mesh,this.camera),$e(t,this.rendererState)}setupCompute(t,s){const{spikePairCount:o,inputNode:i,counterBuffer:n,instanceBuffer:a,outputTexelSize:c}=this;y.invariant(i!=null);const u=e.storage(n,"uint",n.count).toAtomic();this.computeNode=e.Fn(()=>{const h=e.uvec2(t,s);e.If(e.globalId.xy.greaterThanEqual(h).any(),()=>{e.Return()});const d=e.vec2(e.globalId.xy).mul(c).mul(2),l=i.sample(d),p=l.a;e.If(p.greaterThan(.1),()=>{const v=e.atomicAdd(u.element(0),o);for(let g=0;g<o;++g){const f=a.element(v.add(g));f.get("color").assign(l.rgb),f.get("luminance").assign(p),f.get("position").assign(e.globalId.xy),f.get("scale").assign(g%2===0?1:.5);const N=Math.PI*(3-Math.sqrt(5)),w=Math.PI/o*g+N;f.get("sin").assign(Math.sin(w)),f.get("cos").assign(Math.cos(w))}})})().compute([Math.ceil(t/8),Math.ceil(s/8),1],[8,8,1])}setupMaterial(){const{inputNode:t,spikeNode:s,instanceBuffer:o,luminanceThreshold:i,intensity:n,sizeScale:a,outputTexelSize:c,geometryRatio:u}=this;y.invariant(t!=null),y.invariant(s!=null);const h=o.element(e.instanceIndex);this.material.colorNode=this.wireframe?e.vec4(1):s.mul(h.get("color").mul(n)),this.material.vertexNode=e.Fn(()=>{const d=h.get("sin"),l=h.get("cos"),p=e.mat3(l,d,0,d.negate(),l,0,0,0,1),g=h.get("position").mul(c).mul(2),f=g.flipY().mul(2).sub(1),w=h.get("luminance").div(i).saturate(),M=e.vec2(w,1).mul(h.get("scale"),a,g.sub(.5).length().mul(2).oneMinus().mul(.5).add(.5)),B=p.mul(e.positionGeometry.mul(e.vec4(M,1,1))).mul(u).add(e.vec3(f,0));return e.vec4(B,1)})(),this.material.wireframe=this.wireframe,this.material.needsUpdate=!0}setup(t){if(this.spikeNode==null){const s=Qe();s.colorSpace=x.SRGBColorSpace,this.spikeNode=e.texture(s)}return this.setupMaterial(),super.setup(t)}dispose(){this.renderTarget.dispose(),this.material.dispose(),this.mesh.geometry.dispose(),super.dispose()}}const Ke=new x.Vector2;class _e extends m.TempNode{constructor(t){super("vec3"),this.intensity=e.uniform(1e-5),this.chromaticAberration=e.uniform(.005),this.aspectRatio=e.uniform(0),this.inputNode=t,this.updateBeforeType=m.NodeUpdateType.FRAME}static get type(){return"LensHaloNode"}updateBefore({renderer:t}){if(t==null)return;const{width:s,height:o}=t.getDrawingBufferSize(Ke);this.aspectRatio.value=s/o}setup(t){const{inputNode:s,intensity:o,chromaticAberration:i,aspectRatio:n}=this;y.invariant(s!=null);const a=F({name:"cubicRingMask",type:"float",inputs:[{name:"x",type:"float"},{name:"radius",type:"float"},{name:"thickness",type:"float"}]})(([d,l,p])=>{const v=e.min(e.abs(d.sub(l)).div(p),1);return e.mul(v,v,e.sub(3,v.mul(2))).oneMinus()}),c=F({name:"sampleHalo",type:"vec3",inputs:[{name:"uv",type:"vec2"},{name:"radius",type:"float"}]})(([d,l])=>{const p=e.vec2(n,1),v=d.sub(.5).mul(p).normalize().div(p),g=e.vec3(i).mul(e.vec3(-1,0,1)),f=e.fract(v.mul(l).add(d.oneMinus())),N=e.vec3(s.sample(v.mul(g.r).add(f)).r,s.sample(v.mul(g.g).add(f)).g,s.sample(v.mul(g.b).add(f)).b),w=d.sub(e.vec2(.5,0)).mul(p).add(e.vec2(.5,0)),M=e.distance(w,e.vec2(.5)).saturate();return N.mulAssign(a(M,.45,.25)),N}),u=e.uv();return c(u,.3).mul(o)}}const S=r=>r.greaterThanEqual(0).all().and(r.lessThanEqual(1).all()).toFloat();class H extends L{constructor(t,s=4){super(t,s),this.blendAmount=e.uniform(.85),this.resolutionScale=.5}static get type(){return"MipmapSurfaceBlurNode"}setupDownsampleNode(t){const{inputNode:s,inputTexelSize:o}=this;return y.invariant(s!=null),e.Fn(()=>{const i=e.uv(),n=e.vec4(1,1,-1,-1).mul(o.xyxy).add(i.xyxy),a=e.vec4(2,2,-2,-2).mul(o.xyxy).add(i.xyxy),c=n.zy.toVertexStage(),u=n.xy.toVertexStage(),h=n.zw.toVertexStage(),d=n.xw.toVertexStage(),l=a.zy.toVertexStage(),p=a.xy.toVertexStage(),v=a.zw.toVertexStage(),g=a.xw.toVertexStage(),f=e.vec2(i.x,a.y).toVertexStage(),N=e.vec2(a.z,i.y).toVertexStage(),w=e.vec2(a.x,i.y).toVertexStage(),M=e.vec2(i.x,a.w).toVertexStage(),B=1/4/2,V=1/9/2,z=s.sample(i).mul(V);let T;return T=e.vec4(S(c),S(u),S(h),S(d)).mul(B),z.addAssign(s.sample(c).mul(T.x),s.sample(u).mul(T.y),s.sample(h).mul(T.z),s.sample(d).mul(T.w)),T=e.vec4(S(l),S(p),S(v),S(g)).mul(V),z.addAssign(s.sample(l).mul(T.x),s.sample(p).mul(T.y),s.sample(v).mul(T.z),s.sample(g).mul(T.w)),T=e.vec4(S(f),S(N),S(w),S(M)).mul(V),z.addAssign(s.sample(f).mul(T.x),s.sample(N).mul(T.y),s.sample(w).mul(T.z),s.sample(M).mul(T.w)),z})()}setupUpsampleNode(t){const{inputNode:s,inputTexelSize:o,downsampleNode:i}=this;y.invariant(s!=null);const n=e.uv(),a=e.vec4(1,1,-1,-1).mul(o.xyxy).add(n.xyxy),c=e.vec2(n.x,a.y).toVertexStage(),u=e.vec2(a.z,n.y).toVertexStage(),h=e.vec2(a.x,n.y).toVertexStage(),d=e.vec2(n.x,a.w).toVertexStage(),l=a.zy.toVertexStage(),p=a.xy.toVertexStage(),v=a.zw.toVertexStage(),g=a.xw.toVertexStage(),f=e.add(s.sample(n).mul(1/4),e.add(s.sample(c),s.sample(u),s.sample(h),s.sample(d)).mul(1/8),e.add(s.sample(l),s.sample(p),s.sample(v),s.sample(g)).mul(1/16));return e.mix(i.sample(n),f,this.blendAmount)}}const Je=(...r)=>new H(...r);function $(r){return(r instanceof m.NodeBuilder?r.renderer.backend:"backend"in r?r.backend:r).isWebGPUBackend===!0}class ce extends m.TempNode{constructor(t){super("vec4"),this.bloomIntensity=e.uniform(.05),this.inputNode=t,this.thresholdNode=new q,this.blurNode=new O,this.ghostNode=new ke,this.haloNode=new _e,this.bloomNode=new H(null,8),this.glareNode=new Ze,this.featuresNode=ue(e.add(this.ghostNode,this.haloNode)),this.featuresNode.value.name="LensFlareNode.Features",this.featuresNode.resolutionScale=.5,this.blurNode.resolutionScale=1,this.bloomNode.resolutionScale=1,this.glareNode.resolutionScale=1}static get type(){return"LensFlareNode"}setup(t){const{inputNode:s,thresholdNode:o,blurNode:i,ghostNode:n,haloNode:a,bloomNode:c,featuresNode:u,glareNode:h}=this;y.invariant(s!=null);const d=o.getTextureNode(),l=i.getTextureNode();o.inputNode=s,i.inputNode=d,n.inputNode=l,a.inputNode=l,c.inputNode=d,h.inputNode=d;const p=c.getTextureNode().mul(this.bloomIntensity),v=h.getTextureNode();return e.Fn(()=>{const g=s;return g.addAssign(p),$(t)&&g.addAssign(v),g.add(u)})()}dispose(){this.thresholdNode.dispose(),this.blurNode.dispose(),this.ghostNode.dispose(),this.haloNode.dispose(),this.bloomNode.dispose(),this.glareNode.dispose(),this.featuresNode.dispose(),super.dispose()}}const Ye=r=>new ce(r!=null?E(r,"LensFlareNode.Input"):null),Xe=R((r,t,s,o)=>{const i=r.sub(s),n=e.dot(t,i),a=e.dot(i,i).sub(o.pow2()),c=n.pow2().sub(a).toVar(),u=e.vec2(-1);return e.If(c.greaterThanEqual(0),()=>{const h=e.sqrt(c);u.assign(e.vec2(n.negate().sub(h),n.negate().add(h)))}),u}),le=e.struct({near:"vec4",far:"vec4"},"raySpheresIntersections"),et=R((r,t,s,o)=>{const i=r.sub(s),n=e.dot(t,i),a=e.dot(i,i).sub(o.pow2()),c=n.pow2().sub(a).toVar(),u=e.vec4(-1),h=e.vec4(-1);return e.If(c.greaterThanEqual(0),()=>{const d=e.sqrt(c);u.assign(n.negate().sub(d)),h.assign(n.negate().add(d))}),le(u,h)}),tt=R((r,t,s)=>{const o=r.div(s),i=t.div(s),n=i.dot(i),a=o.dot(i),c=o.dot(o),u=a.pow2().sub(n.mul(c.sub(1))).toVar(),h=e.vec2(-1);return e.If(u.greaterThanEqual(0),()=>{const d=e.sqrt(u);h.assign(e.vec2(a.negate().sub(d),a.negate().add(d)).div(n))}),h}),st={float:e.float,int:e.int,uint:e.uint,bool:e.bool,vec2:e.vec2,ivec2:e.ivec2,uvec2:e.uvec2,bvec2:e.bvec2,vec3:e.vec3,ivec3:e.ivec3,uvec3:e.uvec3,bvec3:e.bvec3,vec4:e.vec4,ivec4:e.ivec4,uvec4:e.uvec4,bvec4:e.bvec4,mat2:e.mat2,mat3:e.mat3,mat4:e.mat4,color:e.color},ot=m.Node;function rt(r){return st[r]}class de extends m.Texture3DNode{static get type(){return"OutputTexture3DNode"}constructor(t,s){super(s),this.owner=t,this.setUpdateMatrix(!1)}setup(t){return this.owner.build(t),super.setup(t)}clone(){return new this.constructor(this.owner,this.value)}}const it=(...r)=>new de(...r),nt=R((r,t)=>{const s=e.vec2(e.textureSize(r)),o=s.reciprocal(),i=t.mul(s),n=i.sub(.5).floor().add(.5),a=i.sub(n),c=a.mul(a.mul(a.mul(.5).oneMinus()).sub(.5)),u=a.mul(a).mul(a.mul(1.5).sub(2.5)).add(1),h=a.mul(a.mul(e.sub(2,a.mul(1.5))).add(.5)),d=a.mul(a).mul(a.mul(.5).sub(.5)),l=u.add(h),p=h.div(u.add(h)),v=n.sub(1).mul(o),g=n.add(2).mul(o),f=n.add(p).mul(o);return e.add(r.sample(e.vec2(v.x,v.y)).mul(c.x).mul(c.y),r.sample(e.vec2(f.x,v.y)).mul(l.x).mul(c.y),r.sample(e.vec2(g.x,v.y)).mul(d.x).mul(c.y),r.sample(e.vec2(v.x,f.y)).mul(c.x).mul(l.y),r.sample(e.vec2(f.x,f.y)).mul(l.x).mul(l.y),r.sample(e.vec2(g.x,f.y)).mul(d.x).mul(l.y),r.sample(e.vec2(v.x,g.y)).mul(c.x).mul(d.y),r.sample(e.vec2(f.x,g.y)).mul(l.x).mul(d.y),r.sample(e.vec2(g.x,g.y)).mul(d.x).mul(d.y))});function _(r,t){let s=1,o=0;for(;r>0;)s/=t,o+=s*(r%t),r=Math.floor(r/t);return o}const J=Array.from({length:16},(r,t)=>new x.Vector2(_(t+1,2),_(t+1,3))),he=(r,t,s,{perspective:o=!0,logarithmic:i=!1}={})=>i?e.logarithmicDepthToViewZ(r,t,s):o?e.perspectiveDepthToViewZ(r,t,s):e.orthographicDepthToViewZ(r,t,s),U=(r,t,s)=>{const o=e.logarithmicDepthToViewZ(r,t,s);return e.viewZToPerspectiveDepth(o,t,s)},at=(r,t,s)=>{const o=e.perspectiveDepthToViewZ(r,t,s);return e.viewZToLogarithmicDepth(o,t,s)},ut=(r,t,s,o,i)=>{const n=o.element(e.int(2)).element(e.int(3)),a=o.element(e.int(3)).element(e.int(3)),u=e.vec4(e.vec3(r.flipY(),t).mul(2).sub(1),1).mul(s.mul(n).add(a));return i.mul(u).xyz},Y=[e.vec3(58.1375,2.7747,26.8183),e.vec3(-150.5666,4.2109,-88.5066),e.vec3(130.5887,-14.0195,109.0745),e.vec3(-42.3277,4.8052,-60.1097),e.vec3(4.5974,2.1856,12.5925),e.vec3(.1357,.0914,.1067)],pe=r=>Y.slice(1).reduce((t,s)=>s.add(r.mul(t)),Y[0]),ct=(r,t,s,o)=>{const i=he(r,t,s,o);return pe(e.viewZToLogarithmicDepth(i,t,s))},lt=r=>{const t=e.sub(.5,r.x).mul(e.PI2),s=e.sub(r.y,.5).mul(e.PI),o=e.cos(s);return e.vec3(o.mul(e.cos(t)),e.sin(s),o.mul(e.sin(t)))},{resetRendererState:dt,restoreRendererState:ht}=m.RendererUtils;function pt(r){return r.isPerspectiveCamera===!0||r.isOrthographicCamera===!0||"updateProjectionMatrix"in r&&"setViewOffset"in r&&"clearViewOffset"in r}const mt=F({name:"clipAABB",type:"vec4",inputs:[{name:"current",type:"vec4"},{name:"history",type:"vec4"},{name:"minColor",type:"vec4"},{name:"maxColor",type:"vec4"}]})(([r,t,s,o])=>{const i=o.rgb.add(s.rgb).mul(.5),n=o.rgb.sub(s.rgb).mul(.5).add(1e-7),a=t.sub(e.vec4(i,r.a)),u=a.xyz.div(n).abs(),h=e.max(u.x,u.y,u.z);return e.select(h.greaterThan(1),e.vec4(i,r.a).add(a.div(h)),t)}),X=[e.ivec2(-1,-1),e.ivec2(-1,1),e.ivec2(1,-1),e.ivec2(1,1),e.ivec2(1,0),e.ivec2(0,-1),e.ivec2(0,1),e.ivec2(-1,0)],vt=R((r,t,s,o,i)=>{const n=s.toVar(),a=s.pow2().toVar();for(const p of X){const v=r.load(t.add(p));n.addAssign(v),a.addAssign(v.pow2())}const c=e.float(X.length+1),u=n.div(c),h=e.sqrt(a.div(c).sub(u.pow2()).max(0)).mul(i),d=u.sub(h),l=u.add(h);return mt(u.clamp(d,l),o,d,l)}),xt=[e.ivec2(-1,-1),e.ivec2(-1,0),e.ivec2(-1,1),e.ivec2(0,-1),e.ivec2(0,0),e.ivec2(0,1),e.ivec2(1,-1),e.ivec2(1,0),e.ivec2(1,1)],gt=e.struct({coord:"ivec2",depth:"float"}),ft=R((r,t)=>{const s=e.float(1),o=e.ivec2(0);for(const i of xt){const n=t.add(i).toVar(),a=r.load(n).toVar();e.If(a.r.lessThan(s),()=>{o.assign(n),s.assign(a.r)})}return gt(o,s)}),ee=new x.Vector2,yt=new x.DepthTexture(1,1);class me extends m.TempNode{constructor(t,s,o,i,n){if(super("vec4"),this.temporalAlpha=e.uniform(.05),this.varianceGamma=e.uniform(1),this.velocityThreshold=e.uniform(.1),this.depthError=e.uniform(.001),this.debugShowRejection=!1,this.resolveRT=this.createRenderTarget("Resolve"),this.historyRT=this.createRenderTarget("History"),this.resolveMaterial=new m.NodeMaterial,this.copyMaterial=new m.NodeMaterial,this.mesh=new m.QuadMesh,this.needsSyncPostProcessing=!1,this.needsClearHistory=!1,this.resolveNode=e.texture(this.resolveRT.texture),this.historyNode=e.texture(this.historyRT.texture),this.previousDepthNode=e.texture(yt),this.originalProjectionMatrix=new x.Matrix4,this.jitterIndex=0,this.velocityNodeImmutable=t,this.inputNode=s,this.depthNode=o,this.velocityNode=i,!pt(n))throw new Error("The provided camera is not supported.");this.camera=n,this.textureNode=G(this,this.resolveRT.texture),this.updateBeforeType=m.NodeUpdateType.FRAME}static get type(){return"TemporalAntialiasNode"}customCacheKey(){return te.hash(this.camera.id,+this.debugShowRejection)}createRenderTarget(t){const s=new x.RenderTarget(1,1,{depthBuffer:!1,type:x.HalfFloatType,format:x.RGBAFormat}),o=s.texture;o.minFilter=x.LinearFilter,o.magFilter=x.LinearFilter,o.generateMipmaps=!1;const i=this.constructor.type;return o.name=t!=null?`${i}.${t}`:i,s}getTextureNode(){return this.textureNode}setProjectionMatrix(t){const{velocityNodeImmutable:s}=this;s!=null&&(s.projectionMatrix=t)}setSize(t,s){const{resolveRT:o,historyRT:i}=this;return(t!==i.width||s!==i.height)&&(o.setSize(t,s),i.setSize(t,s),this.needsClearHistory=!0),this}clearHistory(t){t.setRenderTarget(this.resolveRT),t.clear(),t.setRenderTarget(this.historyRT),t.clear(),t.setRenderTarget(this.historyRT),this.mesh.material=this.copyMaterial,this.mesh.render(t),this.needsClearHistory=!1}setViewOffset(t,s){const{camera:o}=this;o.updateProjectionMatrix(),this.originalProjectionMatrix.copy(o.projectionMatrix),this.setProjectionMatrix(this.originalProjectionMatrix);const i=J[this.jitterIndex],n=i.x-.5,a=i.y-.5;o.setViewOffset(t,s,n,a,t,s)}clearViewOffset(){this.camera.clearViewOffset(),this.setProjectionMatrix(null),this.jitterIndex=(this.jitterIndex+1)%J.length}copyDepthTexture(t){const s=this.depthNode.value,o=this.previousDepthTexture??=s.clone();(o.image.width!==s.width||o.image.height!==s.height)&&(o.image.width=s.width,o.image.height=s.height,o.needsUpdate=!0),t.copyTextureToTexture(s,o),this.previousDepthNode.value=o}swapBuffers(){const{resolveRT:t,historyRT:s}=this;this.resolveRT=s,this.historyRT=t,this.resolveNode.value=s.texture,this.historyNode.value=t.texture,this.textureNode.value=t.texture}updateBefore({renderer:t}){if(t==null)return;const s=t.getDrawingBufferSize(ee);this.setSize(s.x,s.y),this.rendererState=dt(t,this.rendererState),this.needsClearHistory&&this.clearHistory(t),t.setRenderTarget(this.resolveRT),this.mesh.material=this.resolveMaterial,this.mesh.render(t),ht(t,this.rendererState),$(t)&&this.copyDepthTexture(t),this.swapBuffers(),this.needsSyncPostProcessing&&this.clearViewOffset()}setupResolveNode({renderer:t}){const s=o=>{const{previousDepthNode:i}=this,n=i.load(e.ivec2(o.mul(e.textureSize(i)).sub(.5))).toVar();return t.logarithmicDepthBuffer?U(n,A(this.camera),D(this.camera)):n};return e.Fn(()=>{const o=e.ivec2(e.screenCoordinate),i=e.screenUV,n=this.inputNode.load(o),a=ft(this.depthNode,o),c=a.get("coord"),u=this.velocityNode.load(c).xyz.mul(e.vec3(.5,-.5,.5)).toVar(),h=u.xy.length().div(this.velocityThreshold).oneMinus().saturate(),d=i.sub(u.xy).toVar(),l=s(d),p=t.logarithmicDepthBuffer?U(a.get("depth"),A(this.camera),D(this.camera)):a.get("depth"),v=e.step(p.add(u.z),l.add(this.depthError)),g=h.mul(v),f=e.and(d.greaterThanEqual(0).all(),d.lessThanEqual(1).all()).toFloat(),N=a.get("depth").notEqual(1).toFloat(),w=e.vec4(0).toVar();return e.If(f.mul(N).mul(g).greaterThan(0),()=>{const M=e.texture(this.historyNode,d),B=vt(this.inputNode,o,n,M,this.varianceGamma),V=u.xy.abs().mul(e.screenSize),z=e.max(V.x,V.y).fract().mul(.5),T=e.mix(this.temporalAlpha,.8,z).saturate();w.assign(e.mix(B,n,T))}).Else(()=>{w.assign(n),this.debugShowRejection&&w.assign(e.vec3(1,0,0))}),w})()}setup(t){const{context:s}=t.getContext().postProcessing??{};if(s!=null){const{onBeforePostProcessing:n}=s;s.onBeforePostProcessing=()=>{n?.();const a=t.renderer.getDrawingBufferSize(ee);this.setViewOffset(a.width,a.height)},this.needsSyncPostProcessing=!0}const{resolveMaterial:o,copyMaterial:i}=this;return o.fragmentNode=this.setupResolveNode(t),o.needsUpdate=!0,i.fragmentNode=this.inputNode,i.needsUpdate=!0,this.textureNode.uvNode=this.inputNode.uvNode,this.textureNode}dispose(){this.resolveRT.dispose(),this.historyRT.dispose(),this.previousDepthTexture?.dispose(),this.resolveMaterial.dispose(),this.copyMaterial.dispose(),this.mesh.geometry.dispose(),super.dispose()}}const wt=r=>(t,s,o,i)=>new me(r,E(t,"TemporalAntialiasNode.Input"),s,o,i);exports.DownsampleThresholdNode=q;exports.FnLayout=F;exports.FnVar=R;exports.GaussianBlurNode=O;exports.HighpVelocityNode=ne;exports.KawaseBlurNode=ae;exports.LensFlareNode=ce;exports.MipmapBlurNode=re;exports.MipmapSurfaceBlurNode=H;exports.Node=ot;exports.OutputTexture3DNode=de;exports.OutputTextureNode=se;exports.RTTextureNode=W;exports.TemporalAntialiasNode=me;exports.cameraFar=D;exports.cameraNear=A;exports.cameraPositionWorld=ye;exports.convertToTexture=E;exports.debugFragmentNode=we;exports.debugNode=Ne;exports.debugVertexNode=Te;exports.depthToColor=ct;exports.depthToViewZ=he;exports.dithering=Ie;exports.downsampleThreshold=Fe;exports.equirectGrid=je;exports.equirectToDirectionWorld=lt;exports.gaussianBlur=Ue;exports.highpVelocity=Ge;exports.hookFunction=Se;exports.interleavedGradientNoise=ie;exports.inverseProjectionMatrix=ge;exports.inverseViewMatrix=fe;exports.isWebGPU=$;exports.kawaseBlur=Le;exports.lensFlare=Ye;exports.logarithmicToPerspectiveDepth=U;exports.mipmapBlur=Re;exports.mipmapBlurDownsample=k;exports.mipmapBlurUpsample=oe;exports.mipmapSurfaceBlur=Je;exports.node=rt;exports.outputTexture=G;exports.outputTexture3D=it;exports.perspectiveToLogarithmicDepth=at;exports.projectionMatrix=ve;exports.rayEllipsoidIntersection=tt;exports.raySphereIntersection=Xe;exports.raySpheresIntersections=et;exports.raySpheresIntersectionsStruct=le;exports.rtTexture=ue;exports.screenToPositionView=ut;exports.temporalAntialias=wt;exports.textureCatmullRom=nt;exports.turbo=pe;exports.viewMatrix=xe;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const f=require("three"),e=require("three/tsl"),m=require("three/webgpu"),I=require("./shared3.cjs"),y=require("./shared.cjs"),te=require("three/src/nodes/core/NodeUtils.js");let C;function b(r,t,s){C??=new WeakMap;let o=C.get(r);return o==null&&(o={},C.set(r,o)),o[t]??=s()}const ve=r=>b(r,"projectionMatrix",()=>e.reference("projectionMatrix","mat4",r).setName("projectionMatrix")),fe=r=>b(r,"viewMatrix",()=>e.reference("matrixWorldInverse","mat4",r).setName("viewMatrix")),xe=r=>b(r,"inverseProjectionMatrix",()=>e.reference("projectionMatrixInverse","mat4",r).setName("inverseProjectionMatrix")),ge=r=>b(r,"inverseViewMatrix",()=>e.reference("matrixWorld","mat4",r).setName("inverseViewMatrix")),ye=r=>b(r,"cameraPositionWorld",()=>e.uniform(new f.Vector3).setName("cameraPositionWorld").onRenderUpdate((t,{value:s})=>{s.setFromMatrixPosition(r.matrixWorld)})),A=r=>b(r,"cameraNear",()=>e.reference("near","float",r).setName("cameraNear")),D=r=>b(r,"cameraFar",()=>e.reference("far","float",r).setName("cameraFar"));async function j(r,t){return await r.debug.getShaderAsync(new f.Scene,new f.Camera,t).then(s=>s).catch(s=>(console.error(s),{fragmentShader:null,vertexShader:null}))}function we(r,t){const s=new f.Mesh(new I.QuadGeometry,t);j(r,s).then(o=>{console.log(o.fragmentShader)}).finally(()=>{s.geometry.dispose()})}function Te(r,t){const s=new f.Mesh(new I.QuadGeometry,t);j(r,s).then(o=>{console.log(o.vertexShader)}).finally(()=>{s.geometry.dispose()})}function Ne(r,t){const s=new m.NodeMaterial;s.vertexNode=e.vec4(e.positionGeometry.xy,0,1),s.fragmentNode=t;const o=new f.Mesh(new I.QuadGeometry,s);j(r,o).then(i=>{console.log(i.fragmentShader)}).finally(()=>{s.dispose(),o.geometry.dispose()})}function Se(r,t,s){const o=r[t];return r[t]=((...i)=>(s(...i),o.apply(r,i))),r}class se extends m.TextureNode{static get type(){return"OutputTextureNode"}constructor(t,s){super(s),this.owner=t,this.setUpdateMatrix(!1)}setup(t){return this.owner.build(t),super.setup(t)}clone(){return new this.constructor(this.owner,this.value)}}const G=(...r)=>new se(...r);class P extends m.TempNode{constructor(t){super("vec4"),this.resolutionScale=1,this.renderTargets=[],this.inputNode=t,this.updateBeforeType=m.NodeUpdateType.FRAME}static get type(){return"FilterNode"}createRenderTarget(t){const s=new f.RenderTarget(1,1,{depthBuffer:!1,type:f.HalfFloatType,format:f.RGBAFormat}),o=s.texture;o.minFilter=f.LinearFilter,o.magFilter=f.LinearFilter,o.generateMipmaps=!1;const i=this.constructor.type;return o.name=t!=null?`${i}.${t}`:i,this.renderTargets.push(s),s}getTextureNode(){return y.invariant(this.textureNode!=null,"outputTexture must be specified before getTextureNode() is called."),this.textureNode}get outputTexture(){return this.textureNode?.value??null}set outputTexture(t){this.textureNode=t!=null?G(this,t):void 0}setup(t){const{inputNode:s,textureNode:o}=this;return y.invariant(s!=null,"inputNode must be specified before being setup."),y.invariant(o!=null,"outputTexture must be specified before being setup."),o.uvNode=s.uvNode,o}dispose(){for(const t of this.renderTargets)t.dispose();super.dispose()}}const{resetRendererState:Me,restoreRendererState:be}=m.RendererUtils;class L extends P{constructor(t,s){super(t),this.downsampleRTs=[],this.upsampleRTs=[],this.downsampleMaterial=new m.NodeMaterial,this.upsampleMaterial=new m.NodeMaterial,this.mesh=new m.QuadMesh,this.inputTexelSize=e.uniform(new f.Vector2),this.downsampleNode=e.texture();for(let o=0;o<s;++o)this.downsampleRTs[o]=this.createRenderTarget(`Downsample${o}`),o<s-1&&(this.upsampleRTs[o]=this.createRenderTarget(`Upsample${o}`));this.outputTexture=this.upsampleRTs[0].texture}setSize(t,s){const{resolutionScale:o}=this;let i=Math.max(Math.round(t*o),1),n=Math.max(Math.round(s*o),1);const{downsampleRTs:a,upsampleRTs:c}=this;for(let u=0;u<a.length;++u)i=Math.max(Math.round(i/2),1),n=Math.max(Math.round(n/2),1),a[u].setSize(i,n),u<c.length&&c[u].setSize(i,n);return this}updateBefore({renderer:t}){if(t==null)return;const{downsampleRTs:s,upsampleRTs:o,mesh:i,inputNode:n,inputTexelSize:a,downsampleNode:c}=this;y.invariant(n!=null);const{width:u,height:h}=n.value;this.setSize(u,h);const d=n.value;this.rendererState=Me(t,this.rendererState),i.material=this.downsampleMaterial;for(const l of s){const{width:p,height:v}=n.value;a.value.set(1/p,1/v),t.setRenderTarget(l),i.render(t),n.value=l.texture}i.material=this.upsampleMaterial;for(let l=o.length-1;l>=0;--l){const p=o[l],{width:v,height:x}=n.value;a.value.set(1/v,1/x),c.value=s[l].texture,t.setRenderTarget(p),i.render(t),n.value=p.texture}be(t,this.rendererState),n.value=d}setup(t){const{inputNode:s}=this;y.invariant(s!=null);const{downsampleMaterial:o,upsampleMaterial:i}=this;return o.fragmentNode=this.setupDownsampleNode(t),i.fragmentNode=this.setupUpsampleNode(t),o.needsUpdate=!0,i.needsUpdate=!0,super.setup(t)}dispose(){for(const t of this.downsampleRTs)t.dispose();for(const t of this.upsampleRTs)t.dispose();this.downsampleMaterial.dispose(),this.upsampleMaterial.dispose(),this.mesh.geometry.dispose(),super.dispose()}}const k=(r,t)=>{const s=e.uv(),o=e.vec4(1,1,-1,-1).mul(t.xyxy).add(s.xyxy).toVertexStage(),i=e.vec4(2,2,-2,-2).mul(t.xyxy).add(s.xyxy).toVertexStage(),n=o.zy,a=o.xy,c=o.zw,u=o.xw,h=e.vec2(s.x,i.y),d=e.vec2(i.z,s.y),l=e.vec2(i.x,s.y),p=e.vec2(s.x,i.w),v=i.zy,x=i.xy,g=i.zw,N=i.xw;return e.add(e.add(r.sample(s),r.sample(n),r.sample(a),r.sample(c),r.sample(u)).mul(1/8),e.add(r.sample(h),r.sample(d),r.sample(l),r.sample(p)).mul(1/16),e.add(r.sample(v),r.sample(x),r.sample(g),r.sample(N)).mul(1/32))},oe=(r,t)=>{const s=e.uv(),o=e.vec4(1,1,-1,-1).mul(t.xyxy).add(s.xyxy).toVertexStage(),i=e.vec2(s.x,o.y),n=e.vec2(o.z,s.y),a=e.vec2(o.x,s.y),c=e.vec2(s.x,o.w),u=o.zy,h=o.xy,d=o.zw,l=o.xw;return e.add(r.sample(s).mul(.25),e.add(r.sample(i),r.sample(n),r.sample(a),r.sample(c)).mul(.125),e.add(r.sample(u),r.sample(h),r.sample(d),r.sample(l)).mul(.0625))};class re extends L{static get type(){return"MipmapBlurNode"}constructor(t,s=4){super(t,s),this.resolutionScale=.5}setupDownsampleNode(t){return y.invariant(this.inputNode!=null),k(this.inputNode,this.inputTexelSize)}setupUpsampleNode(t){return y.invariant(this.inputNode!=null),oe(this.inputNode,this.inputTexelSize)}}const Re=(...r)=>new re(...r),{resetRendererState:ze,restoreRendererState:Ve}=m.RendererUtils;class Be extends P{constructor(t){super(t),this.material=new m.NodeMaterial,this.mesh=new m.QuadMesh(this.material),this.inputTexelSize=e.uniform(new f.Vector2),this.renderTarget=this.createRenderTarget(),this.outputTexture=this.renderTarget.texture}setSize(t,s){const{resolutionScale:o}=this,i=Math.max(Math.round(t*o),1),n=Math.max(Math.round(s*o),1);return this.renderTarget.setSize(i,n),this}updateBefore({renderer:t}){if(t==null)return;const{inputNode:s}=this;y.invariant(s!=null);const{width:o,height:i}=s.value;this.setSize(o,i),this.inputTexelSize.value.set(1/o,1/i),this.rendererState=ze(t,this.rendererState),t.setRenderTarget(this.renderTarget),this.mesh.render(t),Ve(t,this.rendererState)}setup(t){const{inputNode:s}=this;y.invariant(s!=null);const{material:o}=this;return o.fragmentNode=this.setupOutputNode(t),o.needsUpdate=!0,super.setup(t)}dispose(){this.renderTarget.dispose(),this.material.dispose(),this.mesh.geometry.dispose(),super.dispose()}}class q extends Be{constructor(t){super(t),this.thresholdLevel=e.uniform(5),this.thresholdRange=e.uniform(1),this.resolutionScale=.5}static get type(){return"DownsampleThresholdNode"}setupOutputNode(){const{inputNode:t,thresholdLevel:s,thresholdRange:o,inputTexelSize:i}=this;y.invariant(t!=null);const n=k(t,i),a=e.luminance(n.rgb),c=e.smoothstep(s,s.add(o),a);return e.vec4(n.rgb,a).mul(c)}}const Fe=(...r)=>new q(...r);function Q(r){if(typeof r=="string")return r;if(r.layout.name==null)throw new Error("Struct name is required.");return r.layout.name}function F({typeOnly:r=!1,...t}){return r?s=>e.Fn(s):s=>e.Fn(s).setLayout({...t,type:Q(t.type),inputs:t.inputs?.map(o=>({...o,type:Q(o.type)}))??[]})}function R(r){return e.Fn((t,s)=>{const o=r(...t);return typeof o=="function"?o(s):o})}const{resetRendererState:Pe,restoreRendererState:Ce}=m.RendererUtils;class Ae extends P{constructor(t){super(t),this.iterations=1,this.material=new m.NodeMaterial,this.mesh=new m.QuadMesh(this.material),this.inputTexelSize=e.uniform(new f.Vector2),this.direction=e.uniform(new f.Vector2),this.horizontalRT=this.createRenderTarget("Horizontal"),this.verticalRT=this.createRenderTarget("Vertical"),this.outputTexture=this.verticalRT.texture}setSize(t,s){const{resolutionScale:o}=this,i=Math.max(Math.round(t*o),1),n=Math.max(Math.round(s*o),1);return this.horizontalRT.setSize(i,n),this.verticalRT.setSize(i,n),this}updateBefore({renderer:t}){if(t==null)return;const{horizontalRT:s,verticalRT:o,mesh:i,inputNode:n,direction:a}=this;y.invariant(n!=null);const{width:c,height:u}=n.value;this.setSize(c,u),this.inputTexelSize.value.set(1/c,1/u);const h=n.value;this.rendererState=Pe(t,this.rendererState);for(let d=0;d<this.iterations;++d)a.value.set(1,0),t.setRenderTarget(s),i.render(t),n.value=s.texture,a.value.set(0,1),t.setRenderTarget(o),i.render(t),n.value=o.texture;Ce(t,this.rendererState),n.value=h}setup(t){const{inputNode:s}=this;y.invariant(s!=null);const{material:o}=this;return o.fragmentNode=this.setupOutputNode(t),o.needsUpdate=!0,super.setup(t)}dispose(){this.horizontalRT.dispose(),this.verticalRT.dispose(),this.material.dispose(),this.mesh.geometry.dispose(),super.dispose()}}function Z(r){if(y.invariant(r>=0),r===0)return new Float64Array(0);if(r===1)return new Float64Array([1]);let t=new Float64Array(r),s=new Float64Array(r),o=s;for(let i=1;i<=r;++i){for(let n=0;n<i;++n)s[n]=n===0||n===i-1?1:t[n-1]+t[n];o=s,s=t,t=o}return o}function De(r,t=2){y.invariant(r>=3);const s=r+t*2,o=t>0?Z(s).slice(t,-t):Z(s),i=Math.floor((o.length-1)/2),n=o.reduce((l,p)=>l+p,0),a=o.slice(i),c=[...Array(i+1).keys()],u=new Float64Array(Math.floor(c.length/2)),h=new Float64Array(u.length);u[0]=a[0]/n;for(let l=1,p=1;l<c.length-1;l+=2,++p){const v=c[l],x=c[l+1],g=a[l],N=a[l+1],w=g+N,M=(v*g+x*N)/w;u[p]=w/n,h[p]=M}const d=(u.reduce((l,p)=>l+p,0)-u[0]*.5)*2;if(d!==0){const l=1/d;for(let p=0;p<u.length;++p)u[p]*=l}return{offsets:h,weights:u}}class O extends Ae{static get type(){return"GaussianBlurNode"}constructor(t,s=35){super(t),this.kernelSize=s}setupOutputNode(t){const{inputNode:s,inputTexelSize:o,direction:i}=this;y.invariant(s!=null);const{offsets:n,weights:a}=De(this.kernelSize);return e.Fn(()=>{const c=e.uv(),u=i.mul(o).toVertexStage(),h=s.sample(c).mul(a[0]);for(let d=1;d<n.length;++d){const l=u.mul(n[d]);h.addAssign(e.add(s.sample(c.add(l)),s.sample(c.sub(l))).mul(a[d]))}return h})()}}const Ue=(...r)=>new O(...r),ie=r=>r.dot(e.vec2(.06711056,.00583715)).fract().mul(52.9829189).fract(),Ie=e.Fn(()=>{const r=e.vec2(e.screenCoordinate.xy).add(e.time.fract().mul(1337)),t=ie(r);return e.vec3(t,t.oneMinus(),t).sub(.5).div(255)}).once()(),je=(r,t,s=e.vec2(90,45))=>{const o=e.equirectUV(r),i=e.fwidth(o),n=t.mul(i).mul(.5),a=e.abs(o.mul(s).fract().sub(.5)).div(s),c=e.smoothstep(n,n.add(i),a).oneMinus();return c.x.add(c.y).clamp(0,1)};class ne extends m.TempNode{constructor(){super("vec3"),this.currentProjectionMatrix=e.uniform(new f.Matrix4),this.previousProjectionMatrix=e.uniform("mat4"),this.currentModelViewMatrix=e.uniform(new f.Matrix4),this.previousModelViewMatrix=e.uniform("mat4"),this.objectModelViewMatrices=new WeakMap,this.updateType=m.NodeUpdateType.FRAME,this.updateBeforeType=m.NodeUpdateType.OBJECT,this.updateAfterType=m.NodeUpdateType.OBJECT}static get type(){return"HighpVelocityNode"}update({camera:t}){if(t==null)return;const{currentProjectionMatrix:s,previousProjectionMatrix:o}=this,i=this.projectionMatrix??t.projectionMatrix;o.value==null?o.value=new f.Matrix4().copy(i):o.value.copy(s.value),s.value.copy(i)}updateBefore({object:t,camera:s}){if(t==null||s==null)return;const{currentModelViewMatrix:o,previousModelViewMatrix:i,objectModelViewMatrices:n}=this;o.value.multiplyMatrices(s.matrixWorldInverse,t.matrixWorld),i.value=n.get(t)??o.value}updateAfter({object:t}){if(t==null)return;const{currentModelViewMatrix:s,objectModelViewMatrices:o}=this;let i=o.get(t);i==null&&(i=new f.Matrix4,o.set(t,i)),i.copy(s.value)}setup(t){const s=this.currentProjectionMatrix.mul(this.currentModelViewMatrix).mul(e.positionLocal).toVertexStage(),o=this.previousProjectionMatrix.mul(this.previousModelViewMatrix).mul(e.positionPrevious).toVertexStage(),i=s.xyz.div(s.w),n=o.xyz.div(o.w);return e.sub(i,n)}}const Ge=e.nodeImmutable(ne);class ae extends L{static get type(){return"KawaseBlurNode"}constructor(t,s=4){super(t,s),this.resolutionScale=.5}setupDownsampleNode(t){const{inputNode:s,inputTexelSize:o}=this;y.invariant(s!=null);const i=e.uv(),n=e.vec4(1,1,-1,-1).mul(o.xyxy.mul(.5)).add(i.xyxy).toVertexStage(),a=n.zy,c=n.xy,u=n.xw,h=n.zw;return e.add(s.sample(i).mul(4),s.sample(a),s.sample(c),s.sample(u),s.sample(h)).mul(1/8)}setupUpsampleNode(t){const{inputNode:s,inputTexelSize:o}=this;y.invariant(s!=null);const i=e.uv(),n=e.vec4(1,1,-1,-1).mul(o.xyxy.mul(.5)).add(i.xyxy).toVertexStage(),a=n.zy,c=n.xy,u=n.xw,h=n.zw,d=e.vec2(n.z,i.y),l=e.vec2(n.x,i.y),p=e.vec2(i.x,n.y),v=e.vec2(i.x,n.w);return e.add(e.add(s.sample(a),s.sample(c),s.sample(u),s.sample(h)).mul(1/12),e.add(s.sample(d),s.sample(l),s.sample(p),s.sample(v)).mul(1/6))}}const Le=(...r)=>new ae(...r);class ke extends m.TempNode{constructor(t){super("vec3"),this.intensity=e.uniform(1e-5),this.inputNode=t}static get type(){return"LensGhostNode"}setup(t){const{inputNode:s,intensity:o}=this;y.invariant(s!=null);const i=F({name:"sampleGhost",type:"vec3",inputs:[{name:"uv",type:"vec2"},{name:"direction",type:"vec2"},{name:"color",type:"vec3"},{name:"offset",type:"float"}]})(([u,h,d,l])=>{const p=h.mul(l).add(u.oneMinus()).saturate(),v=s.sample(p).rgb.mul(d),x=e.sub(.5,p).length().mul(1/(Math.SQRT2/4)).saturate();return v.mulAssign(x.oneMinus().pow(3)),v}),n=e.uv(),a=n.sub(.5);return e.add(i(n,a,e.vec3(.8,.8,1),-5),i(n,a,e.vec3(1,.8,.4),-1.5),i(n,a,e.vec3(.9,1,.8),-.4),i(n,a,e.vec3(1,.8,.4),-.2),i(n,a,e.vec3(.9,.7,.7),-.1),i(n,a,e.vec3(.5,1,.4),.7),i(n,a,e.vec3(.5,.5,.5),1),i(n,a,e.vec3(1,1,.6),2.5),i(n,a,e.vec3(.5,.8,1),10)).mul(o)}}const{resetRendererState:qe,restoreRendererState:Oe}=m.RendererUtils;function We(){const r=new m.RenderTarget(1,1,{depthBuffer:!1,type:m.HalfFloatType,format:m.RGBAFormat}),t=r.texture;return t.minFilter=m.LinearFilter,t.magFilter=m.LinearFilter,t.generateMipmaps=!1,r}const Ee=new m.Vector2;class W extends m.TextureNode{constructor(t,s){const o=We();super(o.texture,s??e.uv()),this.resolutionScale=1,this.material=new m.NodeMaterial,this.mesh=new m.QuadMesh(this.material),this.node=t,this.renderTarget=o,this.updateBeforeType=m.NodeUpdateType.FRAME}static get type(){return"RTTextureNode"}setSize(t,s){const{resolutionScale:o}=this,i=Math.max(Math.round(t*o),1),n=Math.max(Math.round(s*o),1);return this.renderTarget.setSize(i,n),this}updateBefore({renderer:t}){if(t==null)return;const s=t.getDrawingBufferSize(Ee);this.setSize(s.x,s.y),this.rendererState=qe(t,this.rendererState),t.setRenderTarget(this.renderTarget),this.mesh.render(t),Oe(t,this.rendererState)}setup(t){const{material:s}=this;return s.fragmentNode=this.node.context(t.getContext()),s.needsUpdate=!0,super.setup(t)}dispose(){this.renderTarget.dispose(),this.material.dispose(),this.mesh.geometry.dispose(),super.dispose()}clone(){const t=new m.TextureNode(this.value,this.uvNode,this.levelNode);return t.sampler=this.sampler,t.referenceNode=this,t}}const ue=(...r)=>new W(...r),E=(r,t)=>{let s;return r.isTextureNode===!0||r.isSampleNode===!0?s=r:r.getTextureNode!=null?s=r.getTextureNode():(s=new W(r),t!=null&&(s.value.name=t)),s},{resetRendererState:He,restoreRendererState:$e}=m.RendererUtils;function Qe(){const o=document.createElement("canvas");o.width=256,o.height=32;const i=o.getContext("2d");y.invariant(i!=null),i.beginPath(),i.moveTo(0,32/2),i.lineTo(256/2,5),i.lineTo(256,32/2),i.lineTo(256/2,27),i.closePath();const n=i.createLinearGradient(0,0,256,0);return n.addColorStop(0,"#000000"),n.addColorStop(.5,"#ffffff"),n.addColorStop(1,"#000000"),i.fillStyle=n,i.fill(),new f.CanvasTexture(o)}const K=e.struct({color:"vec3",luminance:"float",position:"vec2",scale:"float",sin:"float",cos:"float"});class Ze extends P{constructor(t){super(t),this.spikePairCount=6,this.wireframe=!1,this.intensity=e.uniform(1e-5),this.sizeScale=e.uniform(new f.Vector2(1.5,.01)),this.luminanceThreshold=e.uniform(100),this.counterBuffer=new m.StorageBufferAttribute(1,1),this.instanceBuffer=e.instancedArray(1,K),this.renderTarget=this.createRenderTarget(),this.material=new m.MeshBasicNodeMaterial({depthTest:!1,depthWrite:!1,transparent:!0,blending:f.AdditiveBlending}),this.mesh=new f.Mesh(new f.PlaneGeometry(1,1),this.material),this.camera=new f.PerspectiveCamera,this.inputTexelSize=e.uniform(new f.Vector2),this.outputTexelSize=e.uniform(new f.Vector2),this.geometryRatio=e.uniform(new f.Vector2),this.inputNode=t,this.resolutionScale=.5,this.outputTexture=this.renderTarget.texture}customCacheKey(){return te.hash(this.spikePairCount,+this.wireframe)}setSize(t,s){const{resolutionScale:o}=this,i=Math.max(Math.round(t*o),1),n=Math.max(Math.round(s*o),1);this.renderTarget.setSize(i,n);const a=Math.floor(i/2),c=Math.floor(n/2),u=a*c;return this.instanceBuffer.bufferCount<u&&(this.instanceBuffer.dispose(),this.instanceBuffer=e.instancedArray(u,K),this.setupCompute(a,c),this.setupMaterial()),this}updateBefore({renderer:t}){if(t==null)return;const{inputNode:s}=this;y.invariant(s!=null);const{width:o,height:i}=s.value;this.setSize(o,i);const{computeNode:n,counterBuffer:a,renderTarget:c}=this;y.invariant(n!=null),this.inputTexelSize.value.set(1/o,1/i);const u=o/i;u>1?this.geometryRatio.value.set(1/u,1):this.geometryRatio.value.set(1,u);const{width:h,height:d}=c;this.outputTexelSize.value.set(1/h,1/d),a.array[0]=0,a.needsUpdate=!0,t.compute(n),t.getArrayBufferAsync(a).then(l=>{this.mesh.count=new Uint32Array(l)[0]}).catch(l=>{console.error(l)}),this.rendererState=He(t,this.rendererState),t.setRenderTarget(c),t.render(this.mesh,this.camera),$e(t,this.rendererState)}setupCompute(t,s){const{spikePairCount:o,inputNode:i,counterBuffer:n,instanceBuffer:a,outputTexelSize:c}=this;y.invariant(i!=null);const u=e.storage(n,"uint",n.count).toAtomic();this.computeNode=e.Fn(()=>{const h=e.uvec2(t,s);e.If(e.globalId.xy.greaterThanEqual(h).any(),()=>{e.Return()});const d=e.vec2(e.globalId.xy).mul(c).mul(2),l=i.sample(d),p=l.a;e.If(p.greaterThan(.1),()=>{const v=e.atomicAdd(u.element(0),o);for(let x=0;x<o;++x){const g=a.element(v.add(x));g.get("color").assign(l.rgb),g.get("luminance").assign(p),g.get("position").assign(e.globalId.xy),g.get("scale").assign(x%2===0?1:.5);const N=Math.PI*(3-Math.sqrt(5)),w=Math.PI/o*x+N;g.get("sin").assign(Math.sin(w)),g.get("cos").assign(Math.cos(w))}})})().compute([Math.ceil(t/8),Math.ceil(s/8),1],[8,8,1])}setupMaterial(){const{inputNode:t,spikeNode:s,instanceBuffer:o,luminanceThreshold:i,intensity:n,sizeScale:a,outputTexelSize:c,geometryRatio:u}=this;y.invariant(t!=null),y.invariant(s!=null);const h=o.element(e.instanceIndex);this.material.colorNode=this.wireframe?e.vec4(1):s.mul(h.get("color").mul(n)),this.material.vertexNode=e.Fn(()=>{const d=h.get("sin"),l=h.get("cos"),p=e.mat3(l,d,0,d.negate(),l,0,0,0,1),x=h.get("position").mul(c).mul(2),g=x.flipY().mul(2).sub(1),w=h.get("luminance").div(i).saturate(),M=e.vec2(w,1).mul(h.get("scale"),a,x.sub(.5).length().mul(2).oneMinus().mul(.5).add(.5)),B=p.mul(e.positionGeometry.mul(e.vec4(M,1,1))).mul(u).add(e.vec3(g,0));return e.vec4(B,1)})(),this.material.wireframe=this.wireframe,this.material.needsUpdate=!0}setup(t){if(this.spikeNode==null){const s=Qe();s.colorSpace=f.SRGBColorSpace,this.spikeNode=e.texture(s)}return this.setupMaterial(),super.setup(t)}dispose(){this.renderTarget.dispose(),this.material.dispose(),this.mesh.geometry.dispose(),super.dispose()}}const Ke=new f.Vector2;class _e extends m.TempNode{constructor(t){super("vec3"),this.intensity=e.uniform(1e-5),this.chromaticAberration=e.uniform(.005),this.aspectRatio=e.uniform(0),this.inputNode=t,this.updateBeforeType=m.NodeUpdateType.FRAME}static get type(){return"LensHaloNode"}updateBefore({renderer:t}){if(t==null)return;const{width:s,height:o}=t.getDrawingBufferSize(Ke);this.aspectRatio.value=s/o}setup(t){const{inputNode:s,intensity:o,chromaticAberration:i,aspectRatio:n}=this;y.invariant(s!=null);const a=F({name:"cubicRingMask",type:"float",inputs:[{name:"x",type:"float"},{name:"radius",type:"float"},{name:"thickness",type:"float"}]})(([d,l,p])=>{const v=e.min(e.abs(d.sub(l)).div(p),1);return e.mul(v,v,e.sub(3,v.mul(2))).oneMinus()}),c=F({name:"sampleHalo",type:"vec3",inputs:[{name:"uv",type:"vec2"},{name:"radius",type:"float"}]})(([d,l])=>{const p=e.vec2(n,1),v=d.sub(.5).mul(p).normalize().div(p),x=e.vec3(i).mul(e.vec3(-1,0,1)),g=e.fract(v.mul(l).add(d.oneMinus())),N=e.vec3(s.sample(v.mul(x.r).add(g)).r,s.sample(v.mul(x.g).add(g)).g,s.sample(v.mul(x.b).add(g)).b),w=d.sub(e.vec2(.5,0)).mul(p).add(e.vec2(.5,0)),M=e.distance(w,e.vec2(.5)).saturate();return N.mulAssign(a(M,.45,.25)),N}),u=e.uv();return c(u,.3).mul(o)}}const S=r=>r.greaterThanEqual(0).all().and(r.lessThanEqual(1).all()).toFloat();class H extends L{constructor(t,s=4){super(t,s),this.blendAmount=e.uniform(.85),this.resolutionScale=.5}static get type(){return"MipmapSurfaceBlurNode"}setupDownsampleNode(t){const{inputNode:s,inputTexelSize:o}=this;return y.invariant(s!=null),e.Fn(()=>{const i=e.uv(),n=e.vec4(1,1,-1,-1).mul(o.xyxy).add(i.xyxy).toVertexStage(),a=e.vec4(2,2,-2,-2).mul(o.xyxy).add(i.xyxy).toVertexStage(),c=n.zy,u=n.xy,h=n.zw,d=n.xw,l=a.zy,p=a.xy,v=a.zw,x=a.xw,g=e.vec2(i.x,a.y),N=e.vec2(a.z,i.y),w=e.vec2(a.x,i.y),M=e.vec2(i.x,a.w),B=1/4/2,z=1/9/2,V=s.sample(i).mul(z);let T;return T=e.vec4(S(c),S(u),S(h),S(d)).mul(B),V.addAssign(s.sample(c).mul(T.x),s.sample(u).mul(T.y),s.sample(h).mul(T.z),s.sample(d).mul(T.w)),T=e.vec4(S(l),S(p),S(v),S(x)).mul(z),V.addAssign(s.sample(l).mul(T.x),s.sample(p).mul(T.y),s.sample(v).mul(T.z),s.sample(x).mul(T.w)),T=e.vec4(S(g),S(N),S(w),S(M)).mul(z),V.addAssign(s.sample(g).mul(T.x),s.sample(N).mul(T.y),s.sample(w).mul(T.z),s.sample(M).mul(T.w)),V})()}setupUpsampleNode(t){const{inputNode:s,inputTexelSize:o,downsampleNode:i}=this;y.invariant(s!=null);const n=e.uv(),a=e.vec4(1,1,-1,-1).mul(o.xyxy).add(n.xyxy).toVertexStage(),c=e.vec2(n.x,a.y),u=e.vec2(a.z,n.y),h=e.vec2(a.x,n.y),d=e.vec2(n.x,a.w),l=a.zy,p=a.xy,v=a.zw,x=a.xw,g=e.add(s.sample(n).mul(1/4),e.add(s.sample(c),s.sample(u),s.sample(h),s.sample(d)).mul(1/8),e.add(s.sample(l),s.sample(p),s.sample(v),s.sample(x)).mul(1/16));return e.mix(i.sample(n),g,this.blendAmount)}}const Je=(...r)=>new H(...r);function $(r){return(r instanceof m.NodeBuilder?r.renderer.backend:"backend"in r?r.backend:r).isWebGPUBackend===!0}class ce extends m.TempNode{constructor(t){super("vec4"),this.bloomIntensity=e.uniform(.05),this.inputNode=t,this.thresholdNode=new q,this.blurNode=new O,this.ghostNode=new ke,this.haloNode=new _e,this.bloomNode=new H(null,8),this.glareNode=new Ze,this.featuresNode=ue(e.add(this.ghostNode,this.haloNode)),this.featuresNode.value.name="LensFlareNode.Features",this.featuresNode.resolutionScale=.5,this.blurNode.resolutionScale=1,this.bloomNode.resolutionScale=1,this.glareNode.resolutionScale=1}static get type(){return"LensFlareNode"}setup(t){const{inputNode:s,thresholdNode:o,blurNode:i,ghostNode:n,haloNode:a,bloomNode:c,featuresNode:u,glareNode:h}=this;y.invariant(s!=null);const d=o.getTextureNode(),l=i.getTextureNode();o.inputNode=s,i.inputNode=d,n.inputNode=l,a.inputNode=l,c.inputNode=d,h.inputNode=d;const p=c.getTextureNode().mul(this.bloomIntensity),v=h.getTextureNode();return e.Fn(()=>{const x=s;return x.addAssign(p),$(t)&&x.addAssign(v),x.add(u)})()}dispose(){this.thresholdNode.dispose(),this.blurNode.dispose(),this.ghostNode.dispose(),this.haloNode.dispose(),this.bloomNode.dispose(),this.glareNode.dispose(),this.featuresNode.dispose(),super.dispose()}}const Ye=r=>new ce(r!=null?E(r,"LensFlareNode.Input"):null),Xe=R((r,t,s,o)=>{const i=r.sub(s),n=e.dot(t,i),a=e.dot(i,i).sub(o.pow2()),c=n.pow2().sub(a).toVar(),u=e.vec2(-1);return e.If(c.greaterThanEqual(0),()=>{const h=e.sqrt(c);u.assign(e.vec2(n.negate().sub(h),n.negate().add(h)))}),u}),le=e.struct({near:"vec4",far:"vec4"},"raySpheresIntersections"),et=R((r,t,s,o)=>{const i=r.sub(s),n=e.dot(t,i),a=e.dot(i,i).sub(o.pow2()),c=n.pow2().sub(a).toVar(),u=e.vec4(-1),h=e.vec4(-1);return e.If(c.greaterThanEqual(0),()=>{const d=e.sqrt(c);u.assign(n.negate().sub(d)),h.assign(n.negate().add(d))}),le(u,h)}),tt=R((r,t,s)=>{const o=r.div(s),i=t.div(s),n=i.dot(i),a=o.dot(i),c=o.dot(o),u=a.pow2().sub(n.mul(c.sub(1))).toVar(),h=e.vec2(-1);return e.If(u.greaterThanEqual(0),()=>{const d=e.sqrt(u);h.assign(e.vec2(a.negate().sub(d),a.negate().add(d)).div(n))}),h}),st={float:e.float,int:e.int,uint:e.uint,bool:e.bool,vec2:e.vec2,ivec2:e.ivec2,uvec2:e.uvec2,bvec2:e.bvec2,vec3:e.vec3,ivec3:e.ivec3,uvec3:e.uvec3,bvec3:e.bvec3,vec4:e.vec4,ivec4:e.ivec4,uvec4:e.uvec4,bvec4:e.bvec4,mat2:e.mat2,mat3:e.mat3,mat4:e.mat4,color:e.color},ot=m.Node;function rt(r){return st[r]}class de extends m.Texture3DNode{static get type(){return"OutputTexture3DNode"}constructor(t,s){super(s),this.owner=t,this.setUpdateMatrix(!1)}setup(t){return this.owner.build(t),super.setup(t)}clone(){return new this.constructor(this.owner,this.value)}}const it=(...r)=>new de(...r),nt=R((r,t)=>{const s=e.vec2(e.textureSize(r)),o=s.reciprocal(),i=t.mul(s),n=i.sub(.5).floor().add(.5),a=i.sub(n),c=a.mul(a.mul(a.mul(.5).oneMinus()).sub(.5)),u=a.mul(a).mul(a.mul(1.5).sub(2.5)).add(1),h=a.mul(a.mul(e.sub(2,a.mul(1.5))).add(.5)),d=a.mul(a).mul(a.mul(.5).sub(.5)),l=u.add(h),p=h.div(u.add(h)),v=n.sub(1).mul(o),x=n.add(2).mul(o),g=n.add(p).mul(o);return e.add(r.sample(e.vec2(v.x,v.y)).mul(c.x).mul(c.y),r.sample(e.vec2(g.x,v.y)).mul(l.x).mul(c.y),r.sample(e.vec2(x.x,v.y)).mul(d.x).mul(c.y),r.sample(e.vec2(v.x,g.y)).mul(c.x).mul(l.y),r.sample(e.vec2(g.x,g.y)).mul(l.x).mul(l.y),r.sample(e.vec2(x.x,g.y)).mul(d.x).mul(l.y),r.sample(e.vec2(v.x,x.y)).mul(c.x).mul(d.y),r.sample(e.vec2(g.x,x.y)).mul(l.x).mul(d.y),r.sample(e.vec2(x.x,x.y)).mul(d.x).mul(d.y))});function _(r,t){let s=1,o=0;for(;r>0;)s/=t,o+=s*(r%t),r=Math.floor(r/t);return o}const J=Array.from({length:16},(r,t)=>new f.Vector2(_(t+1,2),_(t+1,3))),he=(r,t,s,{perspective:o=!0,logarithmic:i=!1}={})=>i?e.logarithmicDepthToViewZ(r,t,s):o?e.perspectiveDepthToViewZ(r,t,s):e.orthographicDepthToViewZ(r,t,s),U=(r,t,s)=>{const o=e.logarithmicDepthToViewZ(r,t,s);return e.viewZToPerspectiveDepth(o,t,s)},at=(r,t,s)=>{const o=e.perspectiveDepthToViewZ(r,t,s);return e.viewZToLogarithmicDepth(o,t,s)},ut=(r,t,s,o,i)=>{const n=o.element(e.int(2)).element(e.int(3)),a=o.element(e.int(3)).element(e.int(3)),u=e.vec4(e.vec3(r.flipY(),t).mul(2).sub(1),1).mul(s.mul(n).add(a));return i.mul(u).xyz},Y=[e.vec3(58.1375,2.7747,26.8183),e.vec3(-150.5666,4.2109,-88.5066),e.vec3(130.5887,-14.0195,109.0745),e.vec3(-42.3277,4.8052,-60.1097),e.vec3(4.5974,2.1856,12.5925),e.vec3(.1357,.0914,.1067)],pe=r=>Y.slice(1).reduce((t,s)=>s.add(r.mul(t)),Y[0]),ct=(r,t,s,o)=>{const i=he(r,t,s,o);return pe(e.viewZToLogarithmicDepth(i,t,s))},lt=r=>{const t=e.sub(.5,r.x).mul(e.PI2),s=e.sub(r.y,.5).mul(e.PI),o=e.cos(s);return e.vec3(o.mul(e.cos(t)),e.sin(s),o.mul(e.sin(t)))},{resetRendererState:dt,restoreRendererState:ht}=m.RendererUtils;function pt(r){return r.isPerspectiveCamera===!0||r.isOrthographicCamera===!0||"updateProjectionMatrix"in r&&"setViewOffset"in r&&"clearViewOffset"in r}const mt=F({name:"clipAABB",type:"vec4",inputs:[{name:"current",type:"vec4"},{name:"history",type:"vec4"},{name:"minColor",type:"vec4"},{name:"maxColor",type:"vec4"}]})(([r,t,s,o])=>{const i=o.rgb.add(s.rgb).mul(.5),n=o.rgb.sub(s.rgb).mul(.5).add(1e-7),a=t.sub(e.vec4(i,r.a)),u=a.xyz.div(n).abs(),h=e.max(u.x,u.y,u.z);return e.select(h.greaterThan(1),e.vec4(i,r.a).add(a.div(h)),t)}),X=[e.ivec2(-1,-1),e.ivec2(-1,1),e.ivec2(1,-1),e.ivec2(1,1),e.ivec2(1,0),e.ivec2(0,-1),e.ivec2(0,1),e.ivec2(-1,0)],vt=R((r,t,s,o,i)=>{const n=s.toVar(),a=s.pow2().toVar();for(const p of X){const v=r.load(t.add(p));n.addAssign(v),a.addAssign(v.pow2())}const c=e.float(X.length+1),u=n.div(c),h=e.sqrt(a.div(c).sub(u.pow2()).max(0)).mul(i),d=u.sub(h),l=u.add(h);return mt(u.clamp(d,l),o,d,l)}),ft=[e.ivec2(-1,-1),e.ivec2(-1,0),e.ivec2(-1,1),e.ivec2(0,-1),e.ivec2(0,0),e.ivec2(0,1),e.ivec2(1,-1),e.ivec2(1,0),e.ivec2(1,1)],xt=e.struct({coord:"ivec2",depth:"float"}),gt=R((r,t)=>{const s=e.float(1),o=e.ivec2(0);for(const i of ft){const n=t.add(i).toVar(),a=r.load(n).toVar();e.If(a.r.lessThan(s),()=>{o.assign(n),s.assign(a.r)})}return xt(o,s)}),ee=new f.Vector2,yt=new f.DepthTexture(1,1);class me extends m.TempNode{constructor(t,s,o,i,n){if(super("vec4"),this.temporalAlpha=e.uniform(.05),this.varianceGamma=e.uniform(1),this.velocityThreshold=e.uniform(.1),this.depthError=e.uniform(.001),this.debugShowRejection=!1,this.resolveRT=this.createRenderTarget("Resolve"),this.historyRT=this.createRenderTarget("History"),this.resolveMaterial=new m.NodeMaterial,this.copyMaterial=new m.NodeMaterial,this.mesh=new m.QuadMesh,this.needsSyncPostProcessing=!1,this.needsClearHistory=!1,this.resolveNode=e.texture(this.resolveRT.texture),this.historyNode=e.texture(this.historyRT.texture),this.previousDepthNode=e.texture(yt),this.originalProjectionMatrix=new f.Matrix4,this.jitterIndex=0,this.velocityNodeImmutable=t,this.inputNode=s,this.depthNode=o,this.velocityNode=i,!pt(n))throw new Error("The provided camera is not supported.");this.camera=n,this.textureNode=G(this,this.resolveRT.texture),this.updateBeforeType=m.NodeUpdateType.FRAME}static get type(){return"TemporalAntialiasNode"}customCacheKey(){return te.hash(this.camera.id,+this.debugShowRejection)}createRenderTarget(t){const s=new f.RenderTarget(1,1,{depthBuffer:!1,type:f.HalfFloatType,format:f.RGBAFormat}),o=s.texture;o.minFilter=f.LinearFilter,o.magFilter=f.LinearFilter,o.generateMipmaps=!1;const i=this.constructor.type;return o.name=t!=null?`${i}.${t}`:i,s}getTextureNode(){return this.textureNode}setProjectionMatrix(t){const{velocityNodeImmutable:s}=this;s!=null&&(s.projectionMatrix=t)}setSize(t,s){const{resolveRT:o,historyRT:i}=this;return(t!==i.width||s!==i.height)&&(o.setSize(t,s),i.setSize(t,s),this.needsClearHistory=!0),this}clearHistory(t){t.setRenderTarget(this.resolveRT),t.clear(),t.setRenderTarget(this.historyRT),t.clear(),t.setRenderTarget(this.historyRT),this.mesh.material=this.copyMaterial,this.mesh.render(t),this.needsClearHistory=!1}setViewOffset(t,s){const{camera:o}=this;o.updateProjectionMatrix(),this.originalProjectionMatrix.copy(o.projectionMatrix),this.setProjectionMatrix(this.originalProjectionMatrix);const i=J[this.jitterIndex],n=i.x-.5,a=i.y-.5;o.setViewOffset(t,s,n,a,t,s)}clearViewOffset(){this.camera.clearViewOffset(),this.setProjectionMatrix(null),this.jitterIndex=(this.jitterIndex+1)%J.length}copyDepthTexture(t){const s=this.depthNode.value,o=this.previousDepthTexture??=s.clone();(o.image.width!==s.width||o.image.height!==s.height)&&(o.image.width=s.width,o.image.height=s.height,o.needsUpdate=!0),t.copyTextureToTexture(s,o),this.previousDepthNode.value=o}swapBuffers(){const{resolveRT:t,historyRT:s}=this;this.resolveRT=s,this.historyRT=t,this.resolveNode.value=s.texture,this.historyNode.value=t.texture,this.textureNode.value=t.texture}updateBefore({renderer:t}){if(t==null)return;const s=t.getDrawingBufferSize(ee);this.setSize(s.x,s.y),this.rendererState=dt(t,this.rendererState),this.needsClearHistory&&this.clearHistory(t),t.setRenderTarget(this.resolveRT),this.mesh.material=this.resolveMaterial,this.mesh.render(t),ht(t,this.rendererState),$(t)&&this.copyDepthTexture(t),this.swapBuffers(),this.needsSyncPostProcessing&&this.clearViewOffset()}setupResolveNode({renderer:t}){const s=o=>{const{previousDepthNode:i}=this,n=i.load(e.ivec2(o.mul(e.textureSize(i)).sub(.5))).toVar();return t.logarithmicDepthBuffer?U(n,A(this.camera),D(this.camera)):n};return e.Fn(()=>{const o=e.ivec2(e.screenCoordinate),i=e.screenUV,n=this.inputNode.load(o),a=gt(this.depthNode,o),c=a.get("coord"),u=this.velocityNode.load(c).xyz.mul(e.vec3(.5,-.5,.5)).toVar(),h=u.xy.length().div(this.velocityThreshold).oneMinus().saturate(),d=i.sub(u.xy).toVar(),l=s(d),p=t.logarithmicDepthBuffer?U(a.get("depth"),A(this.camera),D(this.camera)):a.get("depth"),v=e.step(p.add(u.z),l.add(this.depthError)),x=h.mul(v),g=e.and(d.greaterThanEqual(0).all(),d.lessThanEqual(1).all()).toFloat(),N=a.get("depth").notEqual(1).toFloat(),w=e.vec4(0).toVar();return e.If(g.mul(N).mul(x).greaterThan(0),()=>{const M=e.texture(this.historyNode,d),B=vt(this.inputNode,o,n,M,this.varianceGamma),z=u.xy.abs().mul(e.screenSize),V=e.max(z.x,z.y).fract().mul(.5),T=e.mix(this.temporalAlpha,.8,V).saturate();w.assign(e.mix(B,n,T))}).Else(()=>{w.assign(n),this.debugShowRejection&&w.assign(e.vec3(1,0,0))}),w})()}setup(t){const{context:s}=t.getContext().postProcessing??{};if(s!=null){const{onBeforePostProcessing:n}=s;s.onBeforePostProcessing=()=>{n?.();const a=t.renderer.getDrawingBufferSize(ee);this.setViewOffset(a.width,a.height)},this.needsSyncPostProcessing=!0}const{resolveMaterial:o,copyMaterial:i}=this;return o.fragmentNode=this.setupResolveNode(t),o.needsUpdate=!0,i.fragmentNode=this.inputNode,i.needsUpdate=!0,this.textureNode.uvNode=this.inputNode.uvNode,this.textureNode}dispose(){this.resolveRT.dispose(),this.historyRT.dispose(),this.previousDepthTexture?.dispose(),this.resolveMaterial.dispose(),this.copyMaterial.dispose(),this.mesh.geometry.dispose(),super.dispose()}}const wt=r=>(t,s,o,i)=>new me(r,E(t,"TemporalAntialiasNode.Input"),s,o,i);exports.DownsampleThresholdNode=q;exports.FnLayout=F;exports.FnVar=R;exports.GaussianBlurNode=O;exports.HighpVelocityNode=ne;exports.KawaseBlurNode=ae;exports.LensFlareNode=ce;exports.MipmapBlurNode=re;exports.MipmapSurfaceBlurNode=H;exports.Node=ot;exports.OutputTexture3DNode=de;exports.OutputTextureNode=se;exports.RTTextureNode=W;exports.TemporalAntialiasNode=me;exports.cameraFar=D;exports.cameraNear=A;exports.cameraPositionWorld=ye;exports.convertToTexture=E;exports.debugFragmentNode=we;exports.debugNode=Ne;exports.debugVertexNode=Te;exports.depthToColor=ct;exports.depthToViewZ=he;exports.dithering=Ie;exports.downsampleThreshold=Fe;exports.equirectGrid=je;exports.equirectToDirectionWorld=lt;exports.gaussianBlur=Ue;exports.highpVelocity=Ge;exports.hookFunction=Se;exports.interleavedGradientNoise=ie;exports.inverseProjectionMatrix=xe;exports.inverseViewMatrix=ge;exports.isWebGPU=$;exports.kawaseBlur=Le;exports.lensFlare=Ye;exports.logarithmicToPerspectiveDepth=U;exports.mipmapBlur=Re;exports.mipmapBlurDownsample=k;exports.mipmapBlurUpsample=oe;exports.mipmapSurfaceBlur=Je;exports.node=rt;exports.outputTexture=G;exports.outputTexture3D=it;exports.perspectiveToLogarithmicDepth=at;exports.projectionMatrix=ve;exports.rayEllipsoidIntersection=tt;exports.raySphereIntersection=Xe;exports.raySpheresIntersections=et;exports.raySpheresIntersectionsStruct=le;exports.rtTexture=ue;exports.screenToPositionView=ut;exports.temporalAntialias=wt;exports.textureCatmullRom=nt;exports.turbo=pe;exports.viewMatrix=fe;
2
2
  //# sourceMappingURL=webgpu.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"webgpu.cjs","sources":["../src/webgpu/accessors.ts","../src/webgpu/debug.ts","../src/webgpu/OutputTextureNode.ts","../src/webgpu/FilterNode.ts","../src/webgpu/DualMipmapFilterNode.ts","../src/webgpu/MipmapBlurNode.ts","../src/webgpu/SingleFilterNode.ts","../src/webgpu/DownsampleThresholdNode.ts","../src/webgpu/FnLayout.ts","../src/webgpu/FnVar.ts","../src/webgpu/SeparableFilterNode.ts","../src/webgpu/GaussianBlurNode.ts","../src/webgpu/generators.ts","../src/webgpu/HighpVelocityNode.ts","../src/webgpu/KawaseBlurNode.ts","../src/webgpu/LensGhostNode.ts","../src/webgpu/RTTextureNode.ts","../src/webgpu/LensGlareNode.ts","../src/webgpu/LensHaloNode.ts","../src/webgpu/MipmapSurfaceBlurNode.ts","../src/webgpu/utils.ts","../src/webgpu/LensFlareNode.ts","../src/webgpu/math.ts","../src/webgpu/node.ts","../src/webgpu/OutputTexture3DNode.ts","../src/webgpu/sampling.ts","../src/webgpu/internals.ts","../src/webgpu/transformations.ts","../src/webgpu/TemporalAntialiasNode.ts"],"names":["caches","getCache","object","name","callback","cache","projectionMatrix","camera","reference","viewMatrix","inverseProjectionMatrix","inverseViewMatrix","cameraPositionWorld","uniform","Vector3","_","value","cameraNear","cameraFar","debugShader","renderer","mesh","Scene","Camera","result","error","debugFragmentNode","material","Mesh","QuadGeometry","debugVertexNode","debugNode","node","NodeMaterial","vec4","positionGeometry","hookFunction","target","args","OutputTextureNode","TextureNode","owner","texture","builder","outputTexture","FilterNode","TempNode","inputNode","NodeUpdateType","renderTarget","RenderTarget","HalfFloatType","RGBAFormat","LinearFilter","typeName","invariant","outputNode","resetRendererState","restoreRendererState","RendererUtils","DualMipmapFilterNode","levels","QuadMesh","Vector2","i","width","height","resolutionScale","w","h","downsampleRTs","upsampleRTs","inputTexelSize","downsampleNode","originalTexture","downsampleMaterial","upsampleMaterial","downsampleRT","upsampleRT","mipmapBlurDownsample","texelSize","center","uv","offset1","offset2","uv01","uv02","uv03","uv04","uv05","vec2","uv06","uv07","uv08","uv09","uv10","uv11","uv12","add","mipmapBlurUpsample","offset","uv1","uv2","uv3","uv4","uv5","uv6","uv7","uv8","MipmapBlurNode","mipmapBlur","SingleFilterNode","DownsampleThresholdNode","thresholdLevel","thresholdRange","outputColor","outputLuminance","luminance","scale","smoothstep","downsampleThreshold","transformType","type","FnLayout","typeOnly","layout","Fn","input","FnVar","SeparableFilterNode","horizontalRT","verticalRT","direction","getCoefficients","n","row0","row1","y","x","createGaussianKernel","kernelSize","edgeBias","coefficients","mid","sum","a","b","weights","offsets","linearWeights","linearOffsets","j","offset0","weight0","weight1","weight","linearWeightSum","GaussianBlurNode","offsetSize","output","gaussianBlur","interleavedGradientNoise","seed","dithering","screenCoordinate","time","noise","vec3","equirectGrid","lineWidth","count","equirectUV","deltaUV","fwidth","distance","abs","mask","HighpVelocityNode","Matrix4","current","previous","matrices","matrix","currentClip","positionLocal","previousClip","positionPrevious","currentNDC","previousNDC","sub","highpVelocity","KawaseBlurNode","kawaseBlur","LensGhostNode","intensity","sampleGhost","color","suv","d","uvNode","createRenderTarget","sizeScratch","RTTextureNode","size","rtTexture","convertToTexture","textureNode","createSpikeTexture","canvas","context","gradient","CanvasTexture","instanceStruct","struct","LensGlareNode","StorageBufferAttribute","instancedArray","MeshBasicNodeMaterial","AdditiveBlending","PlaneGeometry","PerspectiveCamera","hash","tileWidth","tileHeight","bufferCount","inputWidth","inputHeight","computeNode","counterBuffer","aspectRatio","outputWidth","outputHeight","arrayBuffer","spikePairCount","instanceBuffer","outputTexelSize","counterStorage","storage","tileSize","uvec2","If","globalId","Return","inputColor","inputLuminance","countBefore","atomicAdd","instance","phi","angle","spikeNode","luminanceThreshold","sizeScale","geometryRatio","instanceIndex","sin","cos","rotation","mat3","positionNDC","luminanceScale","position","spikeTexture","SRGBColorSpace","LensHaloNode","chromaticAberration","cubicRingMask","radius","thickness","min","mul","sampleHalo","fract","wuv","clampToBorder","MipmapSurfaceBlurNode","innerWeight","outerWeight","mix","mipmapSurfaceBlur","isWebGPU","NodeBuilder","LensFlareNode","thresholdNode","blurNode","ghostNode","haloNode","bloomNode","featuresNode","glareNode","threshold","blur","bloom","glare","lensFlare","raySphereIntersection","rayOrigin","rayDirection","dot","c","discriminant","intersection","Q","sqrt","raySpheresIntersectionsStruct","raySpheresIntersections","radii","near","far","rayEllipsoidIntersection","ro","rd","intersections","nodes","float","int","uint","bool","ivec2","bvec2","ivec3","uvec3","bvec3","ivec4","uvec4","bvec4","mat2","mat4","Node","N","OutputTexture3DNode","Texture3DNode","outputTexture3D","textureCatmullRom","textureSize","centerPosition","f","w0","w1","w2","w3","w12","offset12","texPos0","texPos3","texPos12","halton","index","base","fraction","haltonOffsets","depthToViewZ","depth","perspective","logarithmic","logarithmicDepthToViewZ","perspectiveDepthToViewZ","orthographicDepthToViewZ","logarithmicToPerspectiveDepth","viewZ","viewZToPerspectiveDepth","perspectiveToLogarithmicDepth","viewZToLogarithmicDepth","screenToPositionView","ndc","turboCoeffs","turbo","depthToColor","options","equirectToDirectionWorld","lambda","PI2","PI","cosPhi","isSupportedCamera","clipAABB","history","minColor","maxColor","pClip","eClip","vClip","absUnit","maxUnit","max","select","varianceOffsets","varianceClipping","coord","gamma","moment1","moment2","neighbor","mean","variance","neighborOffsets","closestDepthStruct","getClosestDepth","depthNode","inputCoord","offsetCoord","emptyDepthTexture","DepthTexture","TemporalAntialiasNode","velocityNodeImmutable","velocityNode","velocity","resolveRT","historyRT","dx","dy","getPreviousDepth","screenUV","currentColor","closestDepth","closestCoord","velocityConfidence","prevUV","prevDepth","expectedDepth","depthConfidence","step","confidence","uvWeight","and","depthWeight","historyColor","clippedColor","velocityAbsTexel","screenSize","subpixelCorrection","temporalAlpha","onBeforePostProcessing","resolveMaterial","copyMaterial","temporalAntialias"],"mappings":"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"}
1
+ {"version":3,"file":"webgpu.cjs","sources":["../src/webgpu/accessors.ts","../src/webgpu/debug.ts","../src/webgpu/OutputTextureNode.ts","../src/webgpu/FilterNode.ts","../src/webgpu/DualMipmapFilterNode.ts","../src/webgpu/MipmapBlurNode.ts","../src/webgpu/SingleFilterNode.ts","../src/webgpu/DownsampleThresholdNode.ts","../src/webgpu/FnLayout.ts","../src/webgpu/FnVar.ts","../src/webgpu/SeparableFilterNode.ts","../src/webgpu/GaussianBlurNode.ts","../src/webgpu/generators.ts","../src/webgpu/HighpVelocityNode.ts","../src/webgpu/KawaseBlurNode.ts","../src/webgpu/LensGhostNode.ts","../src/webgpu/RTTextureNode.ts","../src/webgpu/LensGlareNode.ts","../src/webgpu/LensHaloNode.ts","../src/webgpu/MipmapSurfaceBlurNode.ts","../src/webgpu/utils.ts","../src/webgpu/LensFlareNode.ts","../src/webgpu/math.ts","../src/webgpu/node.ts","../src/webgpu/OutputTexture3DNode.ts","../src/webgpu/sampling.ts","../src/webgpu/internals.ts","../src/webgpu/transformations.ts","../src/webgpu/TemporalAntialiasNode.ts"],"names":["caches","getCache","object","name","callback","cache","projectionMatrix","camera","reference","viewMatrix","inverseProjectionMatrix","inverseViewMatrix","cameraPositionWorld","uniform","Vector3","_","value","cameraNear","cameraFar","debugShader","renderer","mesh","Scene","Camera","result","error","debugFragmentNode","material","Mesh","QuadGeometry","debugVertexNode","debugNode","node","NodeMaterial","vec4","positionGeometry","hookFunction","target","args","OutputTextureNode","TextureNode","owner","texture","builder","outputTexture","FilterNode","TempNode","inputNode","NodeUpdateType","renderTarget","RenderTarget","HalfFloatType","RGBAFormat","LinearFilter","typeName","invariant","outputNode","resetRendererState","restoreRendererState","RendererUtils","DualMipmapFilterNode","levels","QuadMesh","Vector2","i","width","height","resolutionScale","w","h","downsampleRTs","upsampleRTs","inputTexelSize","downsampleNode","originalTexture","downsampleMaterial","upsampleMaterial","downsampleRT","upsampleRT","mipmapBlurDownsample","texelSize","center","uv","offset1","offset2","uv01","uv02","uv03","uv04","uv05","vec2","uv06","uv07","uv08","uv09","uv10","uv11","uv12","add","mipmapBlurUpsample","offset","uv1","uv2","uv3","uv4","uv5","uv6","uv7","uv8","MipmapBlurNode","mipmapBlur","SingleFilterNode","DownsampleThresholdNode","thresholdLevel","thresholdRange","outputColor","outputLuminance","luminance","scale","smoothstep","downsampleThreshold","transformType","type","FnLayout","typeOnly","layout","Fn","input","FnVar","SeparableFilterNode","horizontalRT","verticalRT","direction","getCoefficients","n","row0","row1","y","x","createGaussianKernel","kernelSize","edgeBias","coefficients","mid","sum","a","b","weights","offsets","linearWeights","linearOffsets","j","offset0","weight0","weight1","weight","linearWeightSum","GaussianBlurNode","offsetSize","output","gaussianBlur","interleavedGradientNoise","seed","dithering","screenCoordinate","time","noise","vec3","equirectGrid","lineWidth","count","equirectUV","deltaUV","fwidth","distance","abs","mask","HighpVelocityNode","Matrix4","current","previous","matrices","matrix","currentClip","positionLocal","previousClip","positionPrevious","currentNDC","previousNDC","sub","highpVelocity","KawaseBlurNode","kawaseBlur","LensGhostNode","intensity","sampleGhost","color","suv","d","uvNode","createRenderTarget","sizeScratch","RTTextureNode","size","rtTexture","convertToTexture","textureNode","createSpikeTexture","canvas","context","gradient","CanvasTexture","instanceStruct","struct","LensGlareNode","StorageBufferAttribute","instancedArray","MeshBasicNodeMaterial","AdditiveBlending","PlaneGeometry","PerspectiveCamera","hash","tileWidth","tileHeight","bufferCount","inputWidth","inputHeight","computeNode","counterBuffer","aspectRatio","outputWidth","outputHeight","arrayBuffer","spikePairCount","instanceBuffer","outputTexelSize","counterStorage","storage","tileSize","uvec2","If","globalId","Return","inputColor","inputLuminance","countBefore","atomicAdd","instance","phi","angle","spikeNode","luminanceThreshold","sizeScale","geometryRatio","instanceIndex","sin","cos","rotation","mat3","positionNDC","luminanceScale","position","spikeTexture","SRGBColorSpace","LensHaloNode","chromaticAberration","cubicRingMask","radius","thickness","min","mul","sampleHalo","fract","wuv","clampToBorder","MipmapSurfaceBlurNode","innerWeight","outerWeight","mix","mipmapSurfaceBlur","isWebGPU","NodeBuilder","LensFlareNode","thresholdNode","blurNode","ghostNode","haloNode","bloomNode","featuresNode","glareNode","threshold","blur","bloom","glare","lensFlare","raySphereIntersection","rayOrigin","rayDirection","dot","c","discriminant","intersection","Q","sqrt","raySpheresIntersectionsStruct","raySpheresIntersections","radii","near","far","rayEllipsoidIntersection","ro","rd","intersections","nodes","float","int","uint","bool","ivec2","bvec2","ivec3","uvec3","bvec3","ivec4","uvec4","bvec4","mat2","mat4","Node","N","OutputTexture3DNode","Texture3DNode","outputTexture3D","textureCatmullRom","textureSize","centerPosition","f","w0","w1","w2","w3","w12","offset12","texPos0","texPos3","texPos12","halton","index","base","fraction","haltonOffsets","depthToViewZ","depth","perspective","logarithmic","logarithmicDepthToViewZ","perspectiveDepthToViewZ","orthographicDepthToViewZ","logarithmicToPerspectiveDepth","viewZ","viewZToPerspectiveDepth","perspectiveToLogarithmicDepth","viewZToLogarithmicDepth","screenToPositionView","ndc","turboCoeffs","turbo","depthToColor","options","equirectToDirectionWorld","lambda","PI2","PI","cosPhi","isSupportedCamera","clipAABB","history","minColor","maxColor","pClip","eClip","vClip","absUnit","maxUnit","max","select","varianceOffsets","varianceClipping","coord","gamma","moment1","moment2","neighbor","mean","variance","neighborOffsets","closestDepthStruct","getClosestDepth","depthNode","inputCoord","offsetCoord","emptyDepthTexture","DepthTexture","TemporalAntialiasNode","velocityNodeImmutable","velocityNode","velocity","resolveRT","historyRT","dx","dy","getPreviousDepth","screenUV","currentColor","closestDepth","closestCoord","velocityConfidence","prevUV","prevDepth","expectedDepth","depthConfidence","step","confidence","uvWeight","and","depthWeight","historyColor","clippedColor","velocityAbsTexel","screenSize","subpixelCorrection","temporalAlpha","onBeforePostProcessing","resolveMaterial","copyMaterial","temporalAntialias"],"mappings":"+PAMA,IAAIA,EAKJ,SAASC,EACPC,EACAC,EACAC,EACG,CACHJ,QAAe,QACf,IAAIK,EAAQL,EAAO,IAAIE,CAAM,EAC7B,OAAIG,GAAS,OACXA,EAAQ,CAAA,EACRL,EAAO,IAAIE,EAAQG,CAAK,GAElBA,EAAMF,CAAI,IAAMC,EAAA,CAC1B,CAEO,MAAME,GAAoBC,GAC/BN,EAASM,EAAQ,mBAAoB,IACnCC,EAAAA,UAAU,mBAAoB,OAAQD,CAAM,EAAE,QAAQ,kBAAkB,CAC1E,EAEWE,GAAcF,GACzBN,EAASM,EAAQ,aAAc,IAC7BC,EAAAA,UAAU,qBAAsB,OAAQD,CAAM,EAAE,QAAQ,YAAY,CACtE,EAEWG,GAA2BH,GACtCN,EAASM,EAAQ,0BAA2B,IAC1CC,EAAAA,UAAU,0BAA2B,OAAQD,CAAM,EAAE,QACnD,yBAAA,CAEJ,EAEWI,GAAqBJ,GAChCN,EAASM,EAAQ,oBAAqB,IACpCC,EAAAA,UAAU,cAAe,OAAQD,CAAM,EAAE,QAAQ,mBAAmB,CACtE,EAEWK,GAAuBL,GAClCN,EAASM,EAAQ,sBAAuB,IACtCM,UAAQ,IAAIC,SAAS,EAClB,QAAQ,qBAAqB,EAC7B,eAAe,CAACC,EAAG,CAAE,MAAAC,KAAY,CAChCA,EAAM,sBAAsBT,EAAO,WAAW,CAChD,CAAC,CACL,EAEWU,EAAcV,GACzBN,EAASM,EAAQ,aAAc,IAC7BC,EAAAA,UAAU,OAAQ,QAASD,CAAM,EAAE,QAAQ,YAAY,CACzD,EAEWW,EAAaX,GACxBN,EAASM,EAAQ,YAAa,IAC5BC,EAAAA,UAAU,MAAO,QAASD,CAAM,EAAE,QAAQ,WAAW,CACvD,EC1DF,eAAeY,EACbC,EACAC,EAMA,CACA,OAAO,MAAMD,EAAS,MACnB,eAAe,IAAIE,EAAAA,MAAS,IAAIC,EAAAA,OAAUF,CAAI,EAC9C,KAAKG,GACGA,CACR,EACA,MAAOC,IACN,QAAQ,MAAMA,CAAK,EACZ,CAAE,eAAgB,KAAM,aAAc,IAAA,EAC9C,CACL,CAEO,SAASC,GACdN,EACAO,EACM,CACN,MAAMN,EAAO,IAAIO,EAAAA,KAAK,IAAIC,EAAAA,aAAgBF,CAAQ,EAC7CR,EAAYC,EAAUC,CAAI,EAC5B,KAAKG,GAAU,CACd,QAAQ,IAAIA,EAAO,cAAc,CACnC,CAAC,EACA,QAAQ,IAAM,CACbH,EAAK,SAAS,QAAA,CAChB,CAAC,CACL,CAEO,SAASS,GACdV,EACAO,EACM,CACN,MAAMN,EAAO,IAAIO,EAAAA,KAAK,IAAIC,EAAAA,aAAgBF,CAAQ,EAC7CR,EAAYC,EAAUC,CAAI,EAC5B,KAAKG,GAAU,CACd,QAAQ,IAAIA,EAAO,YAAY,CACjC,CAAC,EACA,QAAQ,IAAM,CACbH,EAAK,SAAS,QAAA,CAChB,CAAC,CACL,CAEO,SAASU,GAAUX,EAAoBY,EAAkB,CAC9D,MAAML,EAAW,IAAIM,eACrBN,EAAS,WAAaO,EAAAA,KAAKC,EAAAA,iBAAiB,GAAI,EAAG,CAAC,EACpDR,EAAS,aAAeK,EACxB,MAAMX,EAAO,IAAIO,EAAAA,KAAK,IAAIC,EAAAA,aAAgBF,CAAQ,EAC7CR,EAAYC,EAAUC,CAAI,EAC5B,KAAKG,GAAU,CACd,QAAQ,IAAIA,EAAO,cAAc,CACnC,CAAC,EACA,QAAQ,IAAM,CACbG,EAAS,QAAA,EACTN,EAAK,SAAS,QAAA,CAChB,CAAC,CACL,CAEO,SAASe,GASdC,EAAWlC,EAASC,EAAsC,CAC1D,MAAMY,EAAQqB,EAAOlC,CAAI,EACzB,OAAAkC,EAAOlC,CAAI,GAAK,IAAImC,KAClBlC,EAAS,GAAGkC,CAAI,EACTtB,EAAM,MAAMqB,EAAQC,CAAI,IAE1BD,CACT,CClFO,MAAME,WAA0BC,EAAAA,WAAY,CACjD,WAAoB,MAAe,CACjC,MAAO,mBACT,CAIA,YAAYC,EAAaC,EAAkB,CACzC,MAAMA,CAAO,EACb,KAAK,MAAQD,EACb,KAAK,gBAAgB,EAAK,CAC5B,CAES,MAAME,EAA+B,CAC5C,YAAK,MAAM,MAAMA,CAAO,EACjB,MAAM,MAAMA,CAAO,CAC5B,CAES,OAAc,CAErB,OAAO,IAAI,KAAK,YAAY,KAAK,MAAO,KAAK,KAAK,CACpD,CACF,CAEO,MAAMC,EAAgB,IACxBN,IACmB,IAAIC,GAAkB,GAAGD,CAAI,ECV9C,MAAeO,UAAmBC,EAAAA,QAAS,CAWhD,YAAYC,EAAgC,CAC1C,MAAM,MAAM,EANd,KAAA,gBAAkB,EAGlB,KAAiB,cAAgC,CAAA,EAI/C,KAAK,UAAYA,EACjB,KAAK,iBAAmBC,EAAAA,eAAe,KACzC,CAdA,WAAoB,MAAe,CACjC,MAAO,YACT,CAcU,mBAAmB7C,EAA6B,CACxD,MAAM8C,EAAe,IAAIC,eAAa,EAAG,EAAG,CAC1C,YAAa,GACb,KAAMC,EAAAA,cACN,OAAQC,EAAAA,UAAA,CACT,EACKV,EAAUO,EAAa,QAC7BP,EAAQ,UAAYW,EAAAA,aACpBX,EAAQ,UAAYW,EAAAA,aACpBX,EAAQ,gBAAkB,GAE1B,MAAMY,EAAY,KAAK,YAAkC,KACzD,OAAAZ,EAAQ,KAAOvC,GAAQ,KAAO,GAAGmD,CAAQ,IAAInD,CAAI,GAAKmD,EAEtD,KAAK,cAAc,KAAKL,CAAY,EAC7BA,CACT,CAEA,gBAA8B,CAC5BM,OAAAA,EAAAA,UACE,KAAK,aAAe,KACpB,oEAAA,EAEK,KAAK,WACd,CAEA,IAAc,eAAgC,CAC5C,OAAO,KAAK,aAAa,OAAS,IACpC,CAEA,IAAc,cAAcvC,EAAuB,CACjD,KAAK,YAAcA,GAAS,KAAO4B,EAAc,KAAM5B,CAAK,EAAI,MAClE,CAIS,MAAM2B,EAA+B,CAC5C,KAAM,CAAE,UAAAI,EAAW,YAAaS,CAAA,EAAe,KAC/CD,OAAAA,EAAAA,UACER,GAAa,KACb,iDAAA,EAEFQ,EAAAA,UACEC,GAAc,KACd,qDAAA,EAEFA,EAAW,OAAST,EAAU,OACvBS,CACT,CAES,SAAgB,CACvB,UAAWP,KAAgB,KAAK,cAC9BA,EAAa,QAAA,EAEf,MAAM,QAAA,CACR,CACF,CC7EA,KAAM,oBAAEQ,GAAA,qBAAoBC,EAAA,EAAyBC,EAAAA,cAE9C,MAAeC,UAA6Bf,CAAW,CAW5D,YAAYE,EAA2Cc,EAAgB,CACrE,MAAMd,CAAS,EAXjB,KAAiB,cAAgC,CAAA,EACjD,KAAiB,YAA8B,CAAA,EAC/C,KAAiB,mBAAqB,IAAId,eAC1C,KAAiB,iBAAmB,IAAIA,eACxC,KAAiB,KAAO,IAAI6B,WAG5B,KAAmB,eAAiBjD,UAAQ,IAAIkD,EAAAA,OAAS,EACzD,KAAmB,eAAiBrB,UAAA,EAKlC,QAASsB,EAAI,EAAGA,EAAIH,EAAQ,EAAEG,EAC5B,KAAK,cAAcA,CAAC,EAAI,KAAK,mBAAmB,aAAaA,CAAC,EAAE,EAC5DA,EAAIH,EAAS,IACf,KAAK,YAAYG,CAAC,EAAI,KAAK,mBAAmB,WAAWA,CAAC,EAAE,GAGhE,KAAK,cAAgB,KAAK,YAAY,CAAC,EAAE,OAC3C,CAEA,QAAQC,EAAeC,EAAsB,CAC3C,KAAM,CAAE,gBAAAC,GAAoB,KAC5B,IAAIC,EAAI,KAAK,IAAI,KAAK,MAAMH,EAAQE,CAAe,EAAG,CAAC,EACnDE,EAAI,KAAK,IAAI,KAAK,MAAMH,EAASC,CAAe,EAAG,CAAC,EAExD,KAAM,CAAE,cAAAG,EAAe,YAAAC,CAAA,EAAgB,KACvC,QAASP,EAAI,EAAGA,EAAIM,EAAc,OAAQ,EAAEN,EAC1CI,EAAI,KAAK,IAAI,KAAK,MAAMA,EAAI,CAAC,EAAG,CAAC,EACjCC,EAAI,KAAK,IAAI,KAAK,MAAMA,EAAI,CAAC,EAAG,CAAC,EACjCC,EAAcN,CAAC,EAAE,QAAQI,EAAGC,CAAC,EACzBL,EAAIO,EAAY,QAClBA,EAAYP,CAAC,EAAE,QAAQI,EAAGC,CAAC,EAG/B,OAAO,IACT,CAES,aAAa,CAAE,SAAAjD,GAA6B,CACnD,GAAIA,GAAY,KACd,OAEF,KAAM,CACJ,cAAAkD,EACA,YAAAC,EACA,KAAAlD,EACA,UAAA0B,EACA,eAAAyB,EACA,eAAAC,CAAA,EACE,KACJlB,EAAAA,UAAUR,GAAa,IAAI,EAE3B,KAAM,CAAE,MAAAkB,EAAO,OAAAC,CAAA,EAAWnB,EAAU,MACpC,KAAK,QAAQkB,EAAOC,CAAM,EAE1B,MAAMQ,EAAkB3B,EAAU,MAClC,KAAK,cAAgBU,GAAmBrC,EAAU,KAAK,aAAa,EAEpEC,EAAK,SAAW,KAAK,mBACrB,UAAW4B,KAAgBqB,EAAe,CACxC,KAAM,CAAE,MAAAL,EAAO,OAAAC,CAAAA,EAAWnB,EAAU,MACpCyB,EAAe,MAAM,IAAI,EAAIP,EAAO,EAAIC,CAAM,EAC9C9C,EAAS,gBAAgB6B,CAAY,EACrC5B,EAAK,OAAOD,CAAQ,EACpB2B,EAAU,MAAQE,EAAa,OACjC,CAEA5B,EAAK,SAAW,KAAK,iBACrB,QAAS2C,EAAIO,EAAY,OAAS,EAAGP,GAAK,EAAG,EAAEA,EAAG,CAChD,MAAMf,EAAesB,EAAYP,CAAC,EAC5B,CAAE,MAAAC,EAAO,OAAAC,CAAAA,EAAWnB,EAAU,MACpCyB,EAAe,MAAM,IAAI,EAAIP,EAAO,EAAIC,CAAM,EAC9CO,EAAe,MAAQH,EAAcN,CAAC,EAAE,QACxC5C,EAAS,gBAAgB6B,CAAY,EACrC5B,EAAK,OAAOD,CAAQ,EACpB2B,EAAU,MAAQE,EAAa,OACjC,CAEAS,GAAqBtC,EAAU,KAAK,aAAa,EACjD2B,EAAU,MAAQ2B,CACpB,CAKS,MAAM/B,EAA+B,CAC5C,KAAM,CAAE,UAAAI,GAAc,KACtBQ,EAAAA,UAAUR,GAAa,IAAI,EAE3B,KAAM,CAAE,mBAAA4B,EAAoB,iBAAAC,CAAA,EAAqB,KACjD,OAAAD,EAAmB,aAAe,KAAK,oBAAoBhC,CAAO,EAClEiC,EAAiB,aAAe,KAAK,kBAAkBjC,CAAO,EAC9DgC,EAAmB,YAAc,GACjCC,EAAiB,YAAc,GAExB,MAAM,MAAMjC,CAAO,CAC5B,CAES,SAAgB,CACvB,UAAWkC,KAAgB,KAAK,cAC9BA,EAAa,QAAA,EAEf,UAAWC,KAAc,KAAK,YAC5BA,EAAW,QAAA,EAEb,KAAK,mBAAmB,QAAA,EACxB,KAAK,iBAAiB,QAAA,EACtB,KAAK,KAAK,SAAS,QAAA,EACnB,MAAM,QAAA,CACR,CACF,CCrHO,MAAMC,EAAuB,CAClChC,EACAiC,IACiB,CACjB,MAAMC,EAASC,EAAAA,GAAA,EACTC,EAAUjD,EAAAA,KAAK,EAAG,EAAG,GAAI,EAAE,EAC9B,IAAI8C,EAAU,IAAI,EAClB,IAAIC,EAAO,IAAI,EACf,cAAA,EACGG,EAAUlD,EAAAA,KAAK,EAAG,EAAG,GAAI,EAAE,EAC9B,IAAI8C,EAAU,IAAI,EAClB,IAAIC,EAAO,IAAI,EACf,cAAA,EACGI,EAAOF,EAAQ,GACfG,EAAOH,EAAQ,GACfI,EAAOJ,EAAQ,GACfK,EAAOL,EAAQ,GACfM,EAAOC,EAAAA,KAAKT,EAAO,EAAGG,EAAQ,CAAC,EAC/BO,EAAOD,EAAAA,KAAKN,EAAQ,EAAGH,EAAO,CAAC,EAC/BW,EAAOF,EAAAA,KAAKN,EAAQ,EAAGH,EAAO,CAAC,EAC/BY,EAAOH,EAAAA,KAAKT,EAAO,EAAGG,EAAQ,CAAC,EAC/BU,EAAOV,EAAQ,GACfW,EAAOX,EAAQ,GACfY,EAAOZ,EAAQ,GACfa,EAAOb,EAAQ,GAErB,OAAOc,EAAAA,IACLA,EAAAA,IACEnD,EAAU,OAAOkC,CAAM,EACvBlC,EAAU,OAAOsC,CAAI,EACrBtC,EAAU,OAAOuC,CAAI,EACrBvC,EAAU,OAAOwC,CAAI,EACrBxC,EAAU,OAAOyC,CAAI,CAAA,EACrB,IAAI,EAAI,CAAC,EACXU,EAAAA,IACEnD,EAAU,OAAO0C,CAAI,EACrB1C,EAAU,OAAO4C,CAAI,EACrB5C,EAAU,OAAO6C,CAAI,EACrB7C,EAAU,OAAO8C,CAAI,CAAA,EACrB,IAAI,EAAI,EAAE,EACZK,EAAAA,IACEnD,EAAU,OAAO+C,CAAI,EACrB/C,EAAU,OAAOgD,CAAI,EACrBhD,EAAU,OAAOiD,CAAI,EACrBjD,EAAU,OAAOkD,CAAI,CAAA,EACrB,IAAI,EAAI,EAAE,CAAA,CAEhB,EAEaE,GAAqB,CAChCpD,EACAiC,IACiB,CACjB,MAAMC,EAASC,EAAAA,GAAA,EACTkB,EAASlE,EAAAA,KAAK,EAAG,EAAG,GAAI,EAAE,EAC7B,IAAI8C,EAAU,IAAI,EAClB,IAAIC,EAAO,IAAI,EACf,cAAA,EACGoB,EAAMX,EAAAA,KAAKT,EAAO,EAAGmB,EAAO,CAAC,EAC7BE,EAAMZ,EAAAA,KAAKU,EAAO,EAAGnB,EAAO,CAAC,EAC7BsB,EAAMb,EAAAA,KAAKU,EAAO,EAAGnB,EAAO,CAAC,EAC7BuB,EAAMd,EAAAA,KAAKT,EAAO,EAAGmB,EAAO,CAAC,EAC7BK,EAAML,EAAO,GACbM,EAAMN,EAAO,GACbO,EAAMP,EAAO,GACbQ,EAAMR,EAAO,GAEnB,OAAOF,EAAAA,IACLnD,EAAU,OAAOkC,CAAM,EAAE,IAAI,GAAI,EACjCiB,EAAAA,IACEnD,EAAU,OAAOsD,CAAG,EACpBtD,EAAU,OAAOuD,CAAG,EACpBvD,EAAU,OAAOwD,CAAG,EACpBxD,EAAU,OAAOyD,CAAG,CAAA,EACpB,IAAI,IAAK,EACXN,EAAAA,IACEnD,EAAU,OAAO0D,CAAG,EACpB1D,EAAU,OAAO2D,CAAG,EACpB3D,EAAU,OAAO4D,CAAG,EACpB5D,EAAU,OAAO6D,CAAG,CAAA,EACpB,IAAI,KAAM,CAAA,CAEhB,EAIO,MAAMC,WAAuBjD,CAAqB,CACvD,WAAoB,MAAe,CACjC,MAAO,gBACT,CAEA,YAAYb,EAAgCc,EAAS,EAAG,CACtD,MAAMd,EAAWc,CAAM,EACvB,KAAK,gBAAkB,EACzB,CAEmB,oBAAoBlB,EAA4B,CACjEY,OAAAA,YAAU,KAAK,WAAa,IAAI,EACzBwB,EAAqB,KAAK,UAAW,KAAK,cAAc,CACjE,CAEmB,kBAAkBpC,EAA4B,CAC/DY,OAAAA,YAAU,KAAK,WAAa,IAAI,EACzB4C,GAAmB,KAAK,UAAW,KAAK,cAAc,CAC/D,CACF,CAEO,MAAMW,GAAa,IACrBxE,IACgB,IAAIuE,GAAe,GAAGvE,CAAI,EC1GzC,oBAAEmB,GAAA,qBAAoBC,EAAA,EAAyBC,EAAAA,cAE9C,MAAeoD,WAAyBlE,CAAW,CAQxD,YAAYE,EAAgC,CAC1C,MAAMA,CAAS,EAPjB,KAAiB,SAAW,IAAId,eAChC,KAAiB,KAAO,IAAI6B,WAAS,KAAK,QAAQ,EAGlD,KAAmB,eAAiBjD,UAAQ,IAAIkD,EAAAA,OAAS,EAKvD,KAAK,aAAe,KAAK,mBAAA,EACzB,KAAK,cAAgB,KAAK,aAAa,OACzC,CAES,QAAQE,EAAeC,EAAsB,CACpD,KAAM,CAAE,gBAAAC,GAAoB,KACtBC,EAAI,KAAK,IAAI,KAAK,MAAMH,EAAQE,CAAe,EAAG,CAAC,EACnDE,EAAI,KAAK,IAAI,KAAK,MAAMH,EAASC,CAAe,EAAG,CAAC,EAC1D,YAAK,aAAa,QAAQC,EAAGC,CAAC,EACvB,IACT,CAES,aAAa,CAAE,SAAAjD,GAA6B,CACnD,GAAIA,GAAY,KACd,OAGF,KAAM,CAAE,UAAA2B,GAAc,KACtBQ,EAAAA,UAAUR,GAAa,IAAI,EAE3B,KAAM,CAAE,MAAAkB,EAAO,OAAAC,CAAA,EAAWnB,EAAU,MACpC,KAAK,QAAQkB,EAAOC,CAAM,EAC1B,KAAK,eAAe,MAAM,IAAI,EAAID,EAAO,EAAIC,CAAM,EAEnD,KAAK,cAAgBT,GAAmBrC,EAAU,KAAK,aAAa,EAEpEA,EAAS,gBAAgB,KAAK,YAAY,EAC1C,KAAK,KAAK,OAAOA,CAAQ,EAEzBsC,GAAqBtC,EAAU,KAAK,aAAa,CACnD,CAIS,MAAMuB,EAA+B,CAC5C,KAAM,CAAE,UAAAI,GAAc,KACtBQ,EAAAA,UAAUR,GAAa,IAAI,EAE3B,KAAM,CAAE,SAAApB,GAAa,KACrB,OAAAA,EAAS,aAAe,KAAK,gBAAgBgB,CAAO,EACpDhB,EAAS,YAAc,GAEhB,MAAM,MAAMgB,CAAO,CAC5B,CAES,SAAgB,CACvB,KAAK,aAAa,QAAA,EAClB,KAAK,SAAS,QAAA,EACd,KAAK,KAAK,SAAS,QAAA,EACnB,MAAM,QAAA,CACR,CACF,CCvEO,MAAMqE,UAAgCD,EAAiB,CAQ5D,YAAYhE,EAAgC,CAC1C,MAAMA,CAAS,EAJjB,KAAA,eAAiBlC,EAAAA,QAAQ,CAAC,EAC1B,KAAA,eAAiBA,EAAAA,QAAQ,CAAC,EAIxB,KAAK,gBAAkB,EACzB,CAVA,WAAoB,MAAe,CACjC,MAAO,yBACT,CAUmB,iBAAwB,CACzC,KAAM,CAAE,UAAAkC,EAAW,eAAAkE,EAAgB,eAAAC,EAAgB,eAAA1C,GAAmB,KACtEjB,EAAAA,UAAUR,GAAa,IAAI,EAE3B,MAAMoE,EAAcpC,EAAqBhC,EAAWyB,CAAc,EAC5D4C,EAAkBC,EAAAA,UAAUF,EAAY,GAAG,EAC3CG,EAAQC,EAAAA,WACZN,EACAA,EAAe,IAAIC,CAAc,EACjCE,CAAA,EAEF,OAAOlF,EAAAA,KAAKiF,EAAY,IAAKC,CAAe,EAAE,IAAIE,CAAK,CACzD,CACF,CAEO,MAAME,GAAsB,IAC9BlF,IACyB,IAAI0E,EAAwB,GAAG1E,CAAI,ECkBjE,SAASmF,EAAcC,EAA4B,CACjD,GAAI,OAAOA,GAAS,SAClB,OAAOA,EAET,GAAIA,EAAK,OAAO,MAAQ,KACtB,MAAM,IAAI,MAAM,0BAA0B,EAE5C,OAAOA,EAAK,OAAO,IACrB,CAEO,SAASC,EAGd,CACA,SAAAC,EAAW,GACX,GAAGC,CACL,EAAmD,CACjD,OAAOD,KACSE,EAAAA,GAAG1H,CAAe,EAC9BA,GACE0H,EAAAA,GAAG1H,CAAe,EAAE,UAAU,CAC5B,GAAGyH,EACH,KAAMJ,EAAcI,EAAO,IAAI,EAC/B,OACEA,EAAO,QAAQ,IAAIE,IAAU,CAC3B,GAAGA,EACH,KAAMN,EAAcM,EAAM,IAAI,CAAA,EAC9B,GAAK,CAAA,CAAC,CACX,CACT,CCvEO,SAASC,EACd5H,EAGkC,CAClC,OAAO0H,EAAAA,GAAG,CAACxF,EAAYK,IAAyB,CAC9C,MAAMnB,EAASpB,EAAS,GAAGkC,CAAI,EAC/B,OAAO,OAAOd,GAAW,WACpBA,EAAuCmB,CAAO,EAC/CnB,CACN,CAAC,CACH,CCVA,KAAM,oBAAEiC,GAAA,qBAAoBC,EAAA,EAAyBC,EAAAA,cAE9C,MAAesE,WAA4BpF,CAAW,CAY3D,YAAYE,EAAgC,CAC1C,MAAMA,CAAS,EAZjB,KAAA,WAAa,EAIb,KAAiB,SAAW,IAAId,eAChC,KAAiB,KAAO,IAAI6B,WAAS,KAAK,QAAQ,EAGlD,KAAmB,eAAiBjD,UAAQ,IAAIkD,EAAAA,OAAS,EACzD,KAAmB,UAAYlD,UAAQ,IAAIkD,EAAAA,OAAS,EAKlD,KAAK,aAAe,KAAK,mBAAmB,YAAY,EACxD,KAAK,WAAa,KAAK,mBAAmB,UAAU,EACpD,KAAK,cAAgB,KAAK,WAAW,OACvC,CAEA,QAAQE,EAAeC,EAAsB,CAC3C,KAAM,CAAE,gBAAAC,GAAoB,KACtBC,EAAI,KAAK,IAAI,KAAK,MAAMH,EAAQE,CAAe,EAAG,CAAC,EACnDE,EAAI,KAAK,IAAI,KAAK,MAAMH,EAASC,CAAe,EAAG,CAAC,EAC1D,YAAK,aAAa,QAAQC,EAAGC,CAAC,EAC9B,KAAK,WAAW,QAAQD,EAAGC,CAAC,EACrB,IACT,CAES,aAAa,CAAE,SAAAjD,GAA6B,CACnD,GAAIA,GAAY,KACd,OAGF,KAAM,CAAE,aAAA8G,EAAc,WAAAC,EAAY,KAAA9G,EAAM,UAAA0B,EAAW,UAAAqF,GAAc,KACjE7E,EAAAA,UAAUR,GAAa,IAAI,EAE3B,KAAM,CAAE,MAAAkB,EAAO,OAAAC,CAAA,EAAWnB,EAAU,MACpC,KAAK,QAAQkB,EAAOC,CAAM,EAC1B,KAAK,eAAe,MAAM,IAAI,EAAID,EAAO,EAAIC,CAAM,EAEnD,MAAMQ,EAAkB3B,EAAU,MAClC,KAAK,cAAgBU,GAAmBrC,EAAU,KAAK,aAAa,EAEpE,QAAS4C,EAAI,EAAGA,EAAI,KAAK,WAAY,EAAEA,EACrCoE,EAAU,MAAM,IAAI,EAAG,CAAC,EACxBhH,EAAS,gBAAgB8G,CAAY,EACrC7G,EAAK,OAAOD,CAAQ,EACpB2B,EAAU,MAAQmF,EAAa,QAE/BE,EAAU,MAAM,IAAI,EAAG,CAAC,EACxBhH,EAAS,gBAAgB+G,CAAU,EACnC9G,EAAK,OAAOD,CAAQ,EACpB2B,EAAU,MAAQoF,EAAW,QAG/BzE,GAAqBtC,EAAU,KAAK,aAAa,EACjD2B,EAAU,MAAQ2B,CACpB,CAIS,MAAM/B,EAA+B,CAC5C,KAAM,CAAE,UAAAI,GAAc,KACtBQ,EAAAA,UAAUR,GAAa,IAAI,EAE3B,KAAM,CAAE,SAAApB,GAAa,KACrB,OAAAA,EAAS,aAAe,KAAK,gBAAgBgB,CAAO,EACpDhB,EAAS,YAAc,GAEhB,MAAM,MAAMgB,CAAO,CAC5B,CAES,SAAgB,CACvB,KAAK,aAAa,QAAA,EAClB,KAAK,WAAW,QAAA,EAChB,KAAK,SAAS,QAAA,EACd,KAAK,KAAK,SAAS,QAAA,EACnB,MAAM,QAAA,CACR,CACF,CCxFA,SAAS0F,EAAgBC,EAAyB,CAEhD,GADA/E,EAAAA,UAAU+E,GAAK,CAAC,EACZA,IAAM,EACR,OAAO,IAAI,aAAa,CAAC,EAE3B,GAAIA,IAAM,EACR,OAAO,IAAI,aAAa,CAAC,CAAC,CAAC,EAG7B,IAAIC,EAAO,IAAI,aAAaD,CAAC,EACzBE,EAAO,IAAI,aAAaF,CAAC,EACzB9G,EAASgH,EAGb,QAASC,EAAI,EAAGA,GAAKH,EAAG,EAAEG,EAAG,CAC3B,QAASC,EAAI,EAAGA,EAAID,EAAG,EAAEC,EACvBF,EAAKE,CAAC,EAAIA,IAAM,GAAKA,IAAMD,EAAI,EAAI,EAAIF,EAAKG,EAAI,CAAC,EAAIH,EAAKG,CAAC,EAE7DlH,EAASgH,EACTA,EAAOD,EACPA,EAAO/G,CACT,CACA,OAAOA,CACT,CAOA,SAASmH,GACPC,EACAC,EAAW,EACK,CAChBtF,EAAAA,UAAUqF,GAAc,CAAC,EAEzB,MAAMN,EAAIM,EAAaC,EAAW,EAC5BC,EACJD,EAAW,EACPR,EAAgBC,CAAC,EAAE,MAAMO,EAAU,CAACA,CAAQ,EAC5CR,EAAgBC,CAAC,EAEjBS,EAAM,KAAK,OAAOD,EAAa,OAAS,GAAK,CAAC,EAC9CE,EAAMF,EAAa,OAAO,CAACG,EAAGC,IAAMD,EAAIC,EAAG,CAAC,EAC5CC,EAAUL,EAAa,MAAMC,CAAG,EAChCK,EAAU,CAAC,GAAG,MAAML,EAAM,CAAC,EAAE,MAAM,EAEnCM,EAAgB,IAAI,aAAa,KAAK,MAAMD,EAAQ,OAAS,CAAC,CAAC,EAC/DE,EAAgB,IAAI,aAAaD,EAAc,MAAM,EAC3DA,EAAc,CAAC,EAAIF,EAAQ,CAAC,EAAIH,EAEhC,QAAShF,EAAI,EAAGuF,EAAI,EAAGvF,EAAIoF,EAAQ,OAAS,EAAGpF,GAAK,EAAG,EAAEuF,EAAG,CAC1D,MAAMC,EAAUJ,EAAQpF,CAAC,EACnBmB,EAAUiE,EAAQpF,EAAI,CAAC,EACvByF,EAAUN,EAAQnF,CAAC,EACnB0F,EAAUP,EAAQnF,EAAI,CAAC,EAEvB2F,EAASF,EAAUC,EACnBtD,GAAUoD,EAAUC,EAAUtE,EAAUuE,GAAWC,EACzDN,EAAcE,CAAC,EAAII,EAASX,EAC5BM,EAAcC,CAAC,EAAInD,CACrB,CAGA,MAAMwD,GACHP,EAAc,OAAO,CAACJ,EAAGC,IAAMD,EAAIC,EAAG,CAAC,EAAIG,EAAc,CAAC,EAAI,IAAO,EAExE,GAAIO,IAAoB,EAAG,CACzB,MAAMtC,EAAQ,EAAIsC,EAClB,QAAS5F,EAAI,EAAGA,EAAIqF,EAAc,OAAQ,EAAErF,EAC1CqF,EAAcrF,CAAC,GAAKsD,CAExB,CAEA,MAAO,CACL,QAASgC,EACT,QAASD,CAAA,CAEb,CAEO,MAAMQ,UAAyB5B,EAAoB,CACxD,WAAoB,MAAe,CACjC,MAAO,kBACT,CAIA,YAAYlF,EAAgC6F,EAAa,GAAI,CAC3D,MAAM7F,CAAS,EACf,KAAK,WAAa6F,CACpB,CAEmB,gBAAgBjG,EAA4B,CAC7D,KAAM,CAAE,UAAAI,EAAW,eAAAyB,EAAgB,UAAA4D,CAAA,EAAc,KACjD7E,EAAAA,UAAUR,GAAa,IAAI,EAE3B,KAAM,CAAE,QAAAqG,EAAS,QAAAD,CAAA,EAAYR,GAAqB,KAAK,UAAU,EAEjE,OAAOb,EAAAA,GAAG,IAAM,CACd,MAAM7C,EAASC,EAAAA,GAAA,EACT4E,EAAa1B,EAAU,IAAI5D,CAAc,EAAE,cAAA,EAE3CuF,EAAShH,EAAU,OAAOkC,CAAM,EAAE,IAAIkE,EAAQ,CAAC,CAAC,EACtD,QAASnF,EAAI,EAAGA,EAAIoF,EAAQ,OAAQ,EAAEpF,EAAG,CACvC,MAAMoC,EAAS0D,EAAW,IAAIV,EAAQpF,CAAC,CAAC,EACxC+F,EAAO,UACL7D,EAAAA,IACEnD,EAAU,OAAOkC,EAAO,IAAImB,CAAM,CAAC,EACnCrD,EAAU,OAAOkC,EAAO,IAAImB,CAAM,CAAC,CAAA,EACnC,IAAI+C,EAAQnF,CAAC,CAAC,CAAA,CAEpB,CACA,OAAO+F,CACT,CAAC,EAAA,CACH,CACF,CAEO,MAAMC,GAAe,IACvB1H,IACkB,IAAIuH,EAAiB,GAAGvH,CAAI,ECjHtC2H,GAA4BC,GAChCA,EAAK,IAAIxE,EAAAA,KAAK,UAAY,SAAU,CAAC,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAA,EAI3DyE,QAA2C,IAAM,CAC5D,MAAMD,EAAOxE,EAAAA,KAAK0E,EAAAA,iBAAiB,EAAE,EAAE,IAAIC,EAAAA,KAAK,MAAA,EAAQ,IAAI,IAAI,CAAC,EAC3DC,EAAQL,GAAyBC,CAAI,EAC3C,OAAOK,OAAKD,EAAOA,EAAM,SAAA,EAAYA,CAAK,EAAE,IAAI,EAAG,EAAE,IAAI,GAAG,CAC9D,CAAC,EAAE,OAAK,EAEKE,GAAe,CAC1BpC,EACAqC,EACAC,EAAsBhF,OAAK,GAAI,EAAE,IACf,CAClB,MAAMR,EAAKyF,EAAAA,WAAWvC,CAAS,EACzBwC,EAAUC,EAAAA,OAAO3F,CAAE,EACnBjB,EAAQwG,EAAU,IAAIG,CAAO,EAAE,IAAI,EAAG,EACtCE,EAAWC,EAAAA,IAAI7F,EAAG,IAAIwF,CAAK,EAAE,MAAA,EAAQ,IAAI,EAAG,CAAC,EAAE,IAAIA,CAAK,EACxDM,EAAOzD,aAAWtD,EAAOA,EAAM,IAAI2G,CAAO,EAAGE,CAAQ,EAAE,SAAA,EAC7D,OAAOE,EAAK,EAAE,IAAIA,EAAK,CAAC,EAAE,MAAM,EAAG,CAAC,CACtC,ECtBO,MAAMC,WAA0BnI,EAAAA,QAAS,CAc9C,aAAc,CACZ,MAAM,MAAM,EARd,KAAiB,wBAA0BjC,UAAQ,IAAIqK,EAAAA,OAAS,EAChE,KAAiB,yBAA2BrK,EAAAA,QAAQ,MAAe,EAEnE,KAAiB,uBAAyBA,UAAQ,IAAIqK,EAAAA,OAAS,EAC/D,KAAiB,wBAA0BrK,EAAAA,QAAQ,MAAe,EAClE,KAAiB,4BAA8B,QAY7C,KAAK,WAAamC,EAAAA,eAAe,MACjC,KAAK,iBAAmBA,EAAAA,eAAe,OACvC,KAAK,gBAAkBA,EAAAA,eAAe,MACxC,CA1BA,WAAoB,MAAe,CACjC,MAAO,mBACT,CA2BS,OAAO,CAAE,OAAAzC,GAA2B,CAC3C,GAAIA,GAAU,KACZ,OAEF,KAAM,CACJ,wBAAyB4K,EACzB,yBAA0BC,CAAA,EACxB,KAEE9K,EAAmB,KAAK,kBAAoBC,EAAO,iBACrD6K,EAAS,OAAS,KACpBA,EAAS,MAAQ,IAAIF,EAAAA,QAAA,EAAU,KAAK5K,CAAgB,EAEpD8K,EAAS,MAAM,KAAKD,EAAQ,KAAK,EAEnCA,EAAQ,MAAM,KAAK7K,CAAgB,CACrC,CAGS,aAAa,CAAE,OAAAJ,EAAQ,OAAAK,GAA2B,CACzD,GAAIL,GAAU,MAAQK,GAAU,KAC9B,OAEF,KAAM,CACJ,uBAAwB4K,EACxB,wBAAyBC,EACzB,wBAAyBC,CAAA,EACvB,KAEJF,EAAQ,MAAM,iBACZ5K,EAAO,mBACPL,EAAO,WAAA,EAETkL,EAAS,MAAQC,EAAS,IAAInL,CAAM,GAAKiL,EAAQ,KACnD,CAGS,YAAY,CAAE,OAAAjL,GAA2B,CAChD,GAAIA,GAAU,KACZ,OAEF,KAAM,CACJ,uBAAwBiL,EACxB,wBAAyBE,CAAA,EACvB,KAEJ,IAAIC,EAASD,EAAS,IAAInL,CAAM,EAC5BoL,GAAU,OACZA,EAAS,IAAIJ,EAAAA,QACbG,EAAS,IAAInL,EAAQoL,CAAM,GAE7BA,EAAO,KAAKH,EAAQ,KAAK,CAC3B,CAES,MAAMxI,EAA+B,CAC5C,MAAM4I,EAAc,KAAK,wBACtB,IAAI,KAAK,sBAAsB,EAC/B,IAAIC,eAAa,EACjB,cAAA,EACGC,EAAe,KAAK,yBACvB,IAAI,KAAK,uBAAuB,EAChC,IAAIC,kBAAgB,EACpB,cAAA,EAIGC,EAAaJ,EAAY,IAAI,IAAIA,EAAY,CAAC,EAC9CK,EAAcH,EAAa,IAAI,IAAIA,EAAa,CAAC,EAEvD,OAAOI,EAAAA,IAAIF,EAAYC,CAAW,CACpC,CACF,CAEO,MAAME,mBAA4Cb,EAAiB,EC/GnE,MAAMc,WAAuBnI,CAAqB,CACvD,WAAoB,MAAe,CACjC,MAAO,gBACT,CAEA,YAAYb,EAAgCc,EAAS,EAAG,CACtD,MAAMd,EAAWc,CAAM,EACvB,KAAK,gBAAkB,EACzB,CAEmB,oBAAoBlB,EAA4B,CACjE,KAAM,CAAE,UAAAI,EAAW,eAAAyB,CAAA,EAAmB,KACtCjB,EAAAA,UAAUR,GAAa,IAAI,EAE3B,MAAMkC,EAASC,EAAAA,GAAA,EACTkB,EAASlE,EAAAA,KAAK,EAAG,EAAG,GAAI,EAAE,EAC7B,IAAIsC,EAAe,KAAK,IAAI,EAAG,CAAC,EAChC,IAAIS,EAAO,IAAI,EACf,cAAA,EACGoB,EAAMD,EAAO,GACbE,EAAMF,EAAO,GACbG,EAAMH,EAAO,GACbI,EAAMJ,EAAO,GAEnB,OAAOF,EAAAA,IACLnD,EAAU,OAAOkC,CAAM,EAAE,IAAI,CAAC,EAC9BlC,EAAU,OAAOsD,CAAG,EACpBtD,EAAU,OAAOuD,CAAG,EACpBvD,EAAU,OAAOwD,CAAG,EACpBxD,EAAU,OAAOyD,CAAG,CAAA,EACpB,IAAI,EAAI,CAAC,CACb,CAEmB,kBAAkB7D,EAA4B,CAC/D,KAAM,CAAE,UAAAI,EAAW,eAAAyB,CAAA,EAAmB,KACtCjB,EAAAA,UAAUR,GAAa,IAAI,EAE3B,MAAMkC,EAASC,EAAAA,GAAA,EACTkB,EAASlE,EAAAA,KAAK,EAAG,EAAG,GAAI,EAAE,EAC7B,IAAIsC,EAAe,KAAK,IAAI,EAAG,CAAC,EAChC,IAAIS,EAAO,IAAI,EACf,cAAA,EACGoB,EAAMD,EAAO,GACbE,EAAMF,EAAO,GACbG,EAAMH,EAAO,GACbI,EAAMJ,EAAO,GACbK,EAAMf,EAAAA,KAAKU,EAAO,EAAGnB,EAAO,CAAC,EAC7ByB,EAAMhB,EAAAA,KAAKU,EAAO,EAAGnB,EAAO,CAAC,EAC7B0B,EAAMjB,EAAAA,KAAKT,EAAO,EAAGmB,EAAO,CAAC,EAC7BQ,EAAMlB,EAAAA,KAAKT,EAAO,EAAGmB,EAAO,CAAC,EAEnC,OAAOF,EAAAA,IACLA,EAAAA,IACEnD,EAAU,OAAOsD,CAAG,EACpBtD,EAAU,OAAOuD,CAAG,EACpBvD,EAAU,OAAOwD,CAAG,EACpBxD,EAAU,OAAOyD,CAAG,CAAA,EACpB,IAAI,EAAI,EAAE,EACZN,EAAAA,IACEnD,EAAU,OAAO0D,CAAG,EACpB1D,EAAU,OAAO2D,CAAG,EACpB3D,EAAU,OAAO4D,CAAG,EACpB5D,EAAU,OAAO6D,CAAG,CAAA,EACpB,IAAI,EAAI,CAAC,CAAA,CAEf,CACF,CAEO,MAAMoF,GAAa,IACrB1J,IACgB,IAAIyJ,GAAe,GAAGzJ,CAAI,ECvExC,MAAM2J,WAAsBnJ,EAAAA,QAAS,CAS1C,YAAYC,EAAgC,CAC1C,MAAM,MAAM,EAHd,KAAA,UAAYlC,EAAAA,QAAQ,IAAI,EAItB,KAAK,UAAYkC,CACnB,CAXA,WAAoB,MAAe,CACjC,MAAO,eACT,CAWS,MAAMJ,EAA+B,CAC5C,KAAM,CAAE,UAAAI,EAAW,UAAAmJ,CAAA,EAAc,KACjC3I,EAAAA,UAAUR,GAAa,IAAI,EAE3B,MAAMoJ,EAAcxE,EAAS,CAC3B,KAAM,cACN,KAAM,OACN,OAAQ,CACN,CAAE,KAAM,KAAM,KAAM,MAAA,EACpB,CAAE,KAAM,YAAa,KAAM,MAAA,EAC3B,CAAE,KAAM,QAAS,KAAM,MAAA,EACvB,CAAE,KAAM,SAAU,KAAM,OAAA,CAAQ,CAClC,CACD,EAAE,CAAC,CAACzC,EAAIkD,EAAWgE,EAAOhG,CAAM,IAAM,CACrC,MAAMiG,EAAMjE,EAAU,IAAIhC,CAAM,EAAE,IAAIlB,EAAG,UAAU,EAAE,SAAA,EAC/C1D,EAASuB,EAAU,OAAOsJ,CAAG,EAAE,IAAI,IAAID,CAAK,EAG5CE,EAAIT,EAAAA,IAAI,GAAKQ,CAAG,EACnB,OAAA,EACA,IAAI,GAAK,KAAK,MAAQ,EAAE,EACxB,SAAA,EACH,OAAA7K,EAAO,UAAU8K,EAAE,SAAA,EAAW,IAAI,CAAC,CAAC,EAC7B9K,CACT,CAAC,EAEK+K,EAASrH,EAAAA,GAAA,EACTkD,EAAYmE,EAAO,IAAI,EAAG,EAYhC,OAXcrG,EAAAA,IACZiG,EAAYI,EAAQnE,EAAWmC,EAAAA,KAAK,GAAK,GAAK,CAAC,EAAG,EAAI,EACtD4B,EAAYI,EAAQnE,EAAWmC,EAAAA,KAAK,EAAG,GAAK,EAAG,EAAG,IAAI,EACtD4B,EAAYI,EAAQnE,EAAWmC,EAAAA,KAAK,GAAK,EAAG,EAAG,EAAG,GAAI,EACtD4B,EAAYI,EAAQnE,EAAWmC,EAAAA,KAAK,EAAG,GAAK,EAAG,EAAG,GAAI,EACtD4B,EAAYI,EAAQnE,EAAWmC,EAAAA,KAAK,GAAK,GAAK,EAAG,EAAG,GAAI,EACxD4B,EAAYI,EAAQnE,EAAWmC,EAAAA,KAAK,GAAK,EAAG,EAAG,EAAG,EAAG,EACrD4B,EAAYI,EAAQnE,EAAWmC,EAAAA,KAAK,GAAK,GAAK,EAAG,EAAG,CAAC,EACrD4B,EAAYI,EAAQnE,EAAWmC,EAAAA,KAAK,EAAG,EAAG,EAAG,EAAG,GAAG,EACnD4B,EAAYI,EAAQnE,EAAWmC,EAAAA,KAAK,GAAK,GAAK,CAAC,EAAG,EAAE,CAAA,EAEzC,IAAI2B,CAAS,CAC5B,CACF,CC5CA,KAAM,oBAAEzI,GAAA,qBAAoBC,EAAA,EAAyBC,EAAAA,cAErD,SAAS6I,IAAmC,CAC1C,MAAMvJ,EAAe,IAAIC,eAAa,EAAG,EAAG,CAC1C,YAAa,GACb,KAAMC,EAAAA,cACN,OAAQC,EAAAA,UAAA,CACT,EACKV,EAAUO,EAAa,QAC7B,OAAAP,EAAQ,UAAYW,EAAAA,aACpBX,EAAQ,UAAYW,EAAAA,aACpBX,EAAQ,gBAAkB,GACnBO,CACT,CAEA,MAAMwJ,OAAgC1I,EAAAA,QAG/B,MAAM2I,UAAsBlK,EAAAA,WAAY,CAa7C,YAAYR,EAAYuK,EAAe,CACrC,MAAMtJ,EAAeuJ,GAAA,EACrB,MAAMvJ,EAAa,QAASsJ,GAAUrH,EAAAA,GAAA,CAAI,EAT5C,KAAA,gBAAkB,EAGlB,KAAiB,SAAW,IAAIjD,eAChC,KAAiB,KAAO,IAAI6B,WAAS,KAAK,QAAQ,EAMhD,KAAK,KAAO9B,EACZ,KAAK,aAAeiB,EACpB,KAAK,iBAAmBD,EAAAA,eAAe,KACzC,CAlBA,WAAoB,MAAe,CACjC,MAAO,eACT,CAkBA,QAAQiB,EAAeC,EAAsB,CAC3C,KAAM,CAAE,gBAAAC,GAAoB,KACtBC,EAAI,KAAK,IAAI,KAAK,MAAMH,EAAQE,CAAe,EAAG,CAAC,EACnDE,EAAI,KAAK,IAAI,KAAK,MAAMH,EAASC,CAAe,EAAG,CAAC,EAC1D,YAAK,aAAa,QAAQC,EAAGC,CAAC,EACvB,IACT,CAES,aAAa,CAAE,SAAAjD,GAA6B,CACnD,GAAIA,GAAY,KACd,OAGF,MAAMuL,EAAOvL,EAAS,qBAAqBqL,EAAW,EACtD,KAAK,QAAQE,EAAK,EAAGA,EAAK,CAAC,EAE3B,KAAK,cAAgBlJ,GAAmBrC,EAAU,KAAK,aAAa,EAEpEA,EAAS,gBAAgB,KAAK,YAAY,EAC1C,KAAK,KAAK,OAAOA,CAAQ,EAEzBsC,GAAqBtC,EAAU,KAAK,aAAa,CACnD,CAES,MAAMuB,EAA+B,CAC5C,KAAM,CAAE,SAAAhB,GAAa,KAGrB,OAAAA,EAAS,aAAe,KAAK,KAAK,QAAQgB,EAAQ,YAAY,EAC9DhB,EAAS,YAAc,GAChB,MAAM,MAAMgB,CAAO,CAC5B,CAES,SAAgB,CACvB,KAAK,aAAa,QAAA,EAClB,KAAK,SAAS,QAAA,EACd,KAAK,KAAK,SAAS,QAAA,EACnB,MAAM,QAAA,CACR,CAGS,OAAqB,CAC5B,MAAMnB,EAAS,IAAIgB,EAAAA,YAAY,KAAK,MAAO,KAAK,OAAQ,KAAK,SAAS,EACtE,OAAAhB,EAAO,QAAU,KAAK,QACtBA,EAAO,cAAgB,KAChBA,CACT,CACF,CAEO,MAAMoL,GAAY,IACpBtK,IACe,IAAIoK,EAAc,GAAGpK,CAAI,EAEhCuK,EAAmB,CAC9B7K,EAKA7B,IACgB,CAChB,IAAI2M,EACJ,OAAI9K,EAAK,gBAAkB,IAAQA,EAAK,eAAiB,GACvD8K,EAAc9K,EACLA,EAAK,gBAAkB,KAChC8K,EAAc9K,EAAK,eAAA,GAEnB8K,EAAc,IAAIJ,EAAc1K,CAAI,EAChC7B,GAAQ,OACV2M,EAAY,MAAM,KAAO3M,IAGtB2M,CACT,ECrFM,oBAAErJ,GAAA,qBAAoBC,EAAA,EAAyBC,EAAAA,cAErD,SAASoJ,IAAoC,CAI3C,MAAMC,EAAS,SAAS,cAAc,QAAQ,EAC9CA,EAAO,MAAQ,IACfA,EAAO,OAAS,GAChB,MAAMC,EAAUD,EAAO,WAAW,IAAI,EACtCzJ,EAAAA,UAAU0J,GAAW,IAAI,EAEzBA,EAAQ,UAAA,EACRA,EAAQ,OAAO,EAAG,GAAS,CAAC,EAC5BA,EAAQ,OAAO,IAAQ,EAAG,CAAM,EAChCA,EAAQ,OAAO,IAAO,GAAS,CAAC,EAChCA,EAAQ,OAAO,IAAQ,EAAG,EAAe,EACzCA,EAAQ,UAAA,EAER,MAAMC,EAAWD,EAAQ,qBAAqB,EAAG,EAAG,IAAO,CAAC,EAC5D,OAAAC,EAAS,aAAa,EAAG,SAAS,EAClCA,EAAS,aAAa,GAAK,SAAS,EACpCA,EAAS,aAAa,EAAG,SAAS,EAClCD,EAAQ,UAAYC,EACpBD,EAAQ,KAAA,EAED,IAAIE,EAAAA,cAAcH,CAAM,CACjC,CAEA,MAAMI,EAA+BC,EAAAA,OAAO,CAC1C,MAAO,OACP,UAAW,QACX,SAAU,OACV,MAAO,QACP,IAAK,QACL,IAAK,OACP,CAAC,EAGM,MAAMC,WAAsBzK,CAAW,CA6B5C,YAAYE,EAAgC,CAC1C,MAAMA,CAAS,EA5BjB,KAAA,eAAiB,EACjB,KAAA,UAAY,GAEZ,KAAA,UAAYlC,EAAAA,QAAQ,IAAI,EACxB,KAAA,UAAYA,EAAAA,QAAQ,IAAIkD,EAAAA,QAAQ,IAAK,GAAI,CAAC,EAC1C,KAAA,mBAAqBlD,EAAAA,QAAQ,GAAG,EAIhC,KAAiB,cAAgB,IAAI0M,yBAAuB,EAAG,CAAC,EAChE,KAAQ,eAAiBC,iBAAe,EAAGJ,CAAc,EAEzD,KAAiB,aAAe,KAAK,mBAAA,EACrC,KAAiB,SAAW,IAAIK,wBAAsB,CACpD,UAAW,GACX,WAAY,GACZ,YAAa,GACb,SAAUC,EAAAA,gBAAA,CACX,EACD,KAAiB,KAAO,IAAI9L,EAAAA,KAAK,IAAI+L,EAAAA,cAAc,EAAG,CAAC,EAAG,KAAK,QAAQ,EACvE,KAAiB,OAAS,IAAIC,oBAG9B,KAAiB,eAAiB/M,UAAQ,IAAIkD,EAAAA,OAAS,EACvD,KAAiB,gBAAkBlD,UAAQ,IAAIkD,EAAAA,OAAS,EACxD,KAAiB,cAAgBlD,UAAQ,IAAIkD,EAAAA,OAAS,EAIpD,KAAK,UAAYhB,EACjB,KAAK,gBAAkB,GAEvB,KAAK,cAAgB,KAAK,aAAa,OACzC,CAES,gBAAyB,CAChC,OAAO8K,GAAAA,KAAK,KAAK,eAAgB,CAAC,KAAK,SAAS,CAClD,CAEA,QAAQ5J,EAAeC,EAAsB,CAC3C,KAAM,CAAE,gBAAAC,GAAoB,KACtBC,EAAI,KAAK,IAAI,KAAK,MAAMH,EAAQE,CAAe,EAAG,CAAC,EACnDE,EAAI,KAAK,IAAI,KAAK,MAAMH,EAASC,CAAe,EAAG,CAAC,EAC1D,KAAK,aAAa,QAAQC,EAAGC,CAAC,EAE9B,MAAMyJ,EAAY,KAAK,MAAM1J,EAAI,CAAC,EAC5B2J,EAAa,KAAK,MAAM1J,EAAI,CAAC,EAC7B2J,EAAcF,EAAYC,EAEhC,OAAI,KAAK,eAAe,YAAcC,IACpC,KAAK,eAAe,QAAA,EACpB,KAAK,eAAiBR,iBAAeQ,EAAaZ,CAAc,EAChE,KAAK,aAAaU,EAAWC,CAAU,EACvC,KAAK,cAAA,GAEA,IACT,CAES,aAAa,CAAE,SAAA3M,GAA6B,CACnD,GAAIA,GAAY,KACd,OAGF,KAAM,CAAE,UAAA2B,GAAc,KACtBQ,EAAAA,UAAUR,GAAa,IAAI,EAC3B,KAAM,CAAE,MAAOkL,EAAY,OAAQC,CAAA,EAAgBnL,EAAU,MAC7D,KAAK,QAAQkL,EAAYC,CAAW,EAEpC,KAAM,CAAE,YAAAC,EAAa,cAAAC,EAAe,aAAAnL,CAAA,EAAiB,KACrDM,EAAAA,UAAU4K,GAAe,IAAI,EAE7B,KAAK,eAAe,MAAM,IAAI,EAAIF,EAAY,EAAIC,CAAW,EAC7D,MAAMG,EAAcJ,EAAaC,EAC7BG,EAAc,EAChB,KAAK,cAAc,MAAM,IAAI,EAAIA,EAAa,CAAC,EAE/C,KAAK,cAAc,MAAM,IAAI,EAAGA,CAAW,EAG7C,KAAM,CAAE,MAAOC,EAAa,OAAQC,GAAiBtL,EACrD,KAAK,gBAAgB,MAAM,IAAI,EAAIqL,EAAa,EAAIC,CAAY,EAGhEH,EAAc,MAAM,CAAC,EAAI,EACzBA,EAAc,YAAc,GAEvBhN,EAAS,QAAQ+M,CAAW,EAEjC/M,EACG,oBAAoBgN,CAAa,EACjC,KAAKI,GAAe,CAInB,KAAK,KAAK,MAAQ,IAAI,YAAYA,CAAW,EAAE,CAAC,CAClD,CAAC,EACA,MAAO/M,GAAmB,CACzB,QAAQ,MAAMA,CAAK,CACrB,CAAC,EAEH,KAAK,cAAgBgC,GAAmBrC,EAAU,KAAK,aAAa,EAEpEA,EAAS,gBAAgB6B,CAAY,EACrC7B,EAAS,OAAO,KAAK,KAAM,KAAK,MAAM,EAEtCsC,GAAqBtC,EAAU,KAAK,aAAa,CACnD,CAEQ,aAAa0M,EAAmBC,EAA0B,CAChE,KAAM,CACJ,eAAAU,EACA,UAAA1L,EACA,cAAAqL,EACA,eAAAM,EACA,gBAAAC,CAAA,EACE,KACJpL,EAAAA,UAAUR,GAAa,IAAI,EAE3B,MAAM6L,EAAiBC,EAAAA,QACrBT,EACA,OACAA,EAAc,KAAA,EACd,SAAA,EAEF,KAAK,YAActG,EAAAA,GAAG,IAAM,CAC1B,MAAMgH,EAAWC,EAAAA,MAAMjB,EAAWC,CAAU,EAC5CiB,EAAAA,GAAGC,EAAAA,SAAS,GAAG,iBAAiBH,CAAQ,EAAE,IAAA,EAAO,IAAM,CACrDI,SAAA,CACF,CAAC,EAED,MAAMhK,EAAKQ,OAAKuJ,EAAAA,SAAS,EAAE,EAAE,IAAIN,CAAe,EAAE,IAAI,CAAC,EACjDQ,EAAapM,EAAU,OAAOmC,CAAE,EAChCkK,EAAiBD,EAAW,EAElCH,EAAAA,GAAGI,EAAe,YAAY,EAAG,EAAG,IAAM,CACxC,MAAMC,EAAcC,EAAAA,UAAUV,EAAe,QAAQ,CAAC,EAAGH,CAAc,EACvE,QAASzK,EAAI,EAAGA,EAAIyK,EAAgB,EAAEzK,EAAG,CACvC,MAAMuL,EAAWb,EAAe,QAAQW,EAAY,IAAIrL,CAAC,CAAC,EAC1DuL,EAAS,IAAI,OAAO,EAAE,OAAOJ,EAAW,GAAG,EAC3CI,EAAS,IAAI,WAAW,EAAE,OAAOH,CAAc,EAC/CG,EAAS,IAAI,UAAU,EAAE,OAAON,EAAAA,SAAS,EAAE,EAC3CM,EAAS,IAAI,OAAO,EAAE,OAAOvL,EAAI,IAAM,EAAI,EAAI,EAAG,EAElD,MAAMwL,EAAM,KAAK,IAAM,EAAI,KAAK,KAAK,CAAC,GAChCC,EAAS,KAAK,GAAKhB,EAAkBzK,EAAIwL,EAC/CD,EAAS,IAAI,KAAK,EAAE,OAAO,KAAK,IAAIE,CAAK,CAAC,EAC1CF,EAAS,IAAI,KAAK,EAAE,OAAO,KAAK,IAAIE,CAAK,CAAC,CAC5C,CACF,CAAC,CACH,CAAC,IAAI,QAEH,CAAC,KAAK,KAAK3B,EAAY,CAAC,EAAG,KAAK,KAAKC,EAAa,CAAC,EAAG,CAAC,EACvD,CAAC,EAAG,EAAG,CAAC,CAAA,CAEZ,CAEQ,eAAsB,CAC5B,KAAM,CACJ,UAAAhL,EACA,UAAA2M,EACA,eAAAhB,EACA,mBAAAiB,EACA,UAAAzD,EACA,UAAA0D,EACA,gBAAAjB,EACA,cAAAkB,CAAA,EACE,KACJtM,EAAAA,UAAUR,GAAa,IAAI,EAC3BQ,EAAAA,UAAUmM,GAAa,IAAI,EAE3B,MAAMH,EAAWb,EAAe,QAAQoB,eAAa,EAErD,KAAK,SAAS,UAAY,KAAK,UAC3B5N,EAAAA,KAAK,CAAC,EACNwN,EAAU,IAAIH,EAAS,IAAI,OAAO,EAAE,IAAIrD,CAAS,CAAC,EAEtD,KAAK,SAAS,WAAapE,EAAAA,GAAG,IAAM,CAClC,MAAMiI,EAAMR,EAAS,IAAI,KAAK,EACxBS,EAAMT,EAAS,IAAI,KAAK,EACxBU,EAAWC,EAAAA,KAAKF,EAAKD,EAAK,EAAGA,EAAI,OAAA,EAAUC,EAAK,EAAG,EAAG,EAAG,CAAC,EAG1D9K,EADeqK,EAAS,IAAI,UAAU,EACpB,IAAIZ,CAAe,EAAE,IAAI,CAAC,EAC5CwB,EAAcjL,EAAG,MAAA,EAAQ,IAAI,CAAC,EAAE,IAAI,CAAC,EAGrCkL,EADYb,EAAS,IAAI,WAAW,EACT,IAAII,CAAkB,EAAE,SAAA,EACnDrI,EAAQ5B,EAAAA,KAAK0K,EAAgB,CAAC,EAAE,IACpCb,EAAS,IAAI,OAAO,EACpBK,EAEA1K,EAAG,IAAI,EAAG,EAAE,SAAS,IAAI,CAAC,EAAE,WAAW,IAAI,EAAG,EAAE,IAAI,EAAG,CAAA,EAEnDmL,EAAWJ,EACd,IAAI9N,EAAAA,iBAAiB,IAAID,EAAAA,KAAKoF,EAAO,EAAG,CAAC,CAAC,CAAC,EAC3C,IAAIuI,CAAa,EACjB,IAAItF,OAAK4F,EAAa,CAAC,CAAC,EAC3B,OAAOjO,EAAAA,KAAKmO,EAAU,CAAC,CACzB,CAAC,EAAA,EAED,KAAK,SAAS,UAAY,KAAK,UAC/B,KAAK,SAAS,YAAc,EAC9B,CAES,MAAM1N,EAA+B,CAC5C,GAAI,KAAK,WAAa,KAAM,CAC1B,MAAM2N,EAAevD,GAAA,EACrBuD,EAAa,WAAaC,EAAAA,eAC1B,KAAK,UAAY7N,EAAAA,QAAQ4N,CAAY,CACvC,CAEA,YAAK,cAAA,EAEE,MAAM,MAAM3N,CAAO,CAC5B,CAES,SAAgB,CACvB,KAAK,aAAa,QAAA,EAClB,KAAK,SAAS,QAAA,EACd,KAAK,KAAK,SAAS,QAAA,EACnB,MAAM,QAAA,CACR,CACF,CC3RA,MAAM8J,OAAgC1I,EAAAA,QAE/B,MAAMyM,WAAqB1N,EAAAA,QAAS,CAYzC,YAAYC,EAAgC,CAC1C,MAAM,MAAM,EANd,KAAA,UAAYlC,EAAAA,QAAQ,IAAI,EACxB,KAAA,oBAAsBA,EAAAA,QAAQ,IAAK,EAEnC,KAAiB,YAAcA,EAAAA,QAAQ,CAAC,EAItC,KAAK,UAAYkC,EACjB,KAAK,iBAAmBC,EAAAA,eAAe,KACzC,CAfA,WAAoB,MAAe,CACjC,MAAO,cACT,CAeS,aAAa,CAAE,SAAA5B,GAA6B,CACnD,GAAIA,GAAY,KACd,OAEF,KAAM,CAAE,MAAA6C,EAAO,OAAAC,CAAA,EAAW9C,EAAS,qBAAqBqL,EAAW,EACnE,KAAK,YAAY,MAAQxI,EAAQC,CACnC,CAES,MAAMvB,EAA+B,CAC5C,KAAM,CAAE,UAAAI,EAAW,UAAAmJ,EAAW,oBAAAuE,EAAqB,YAAApC,GAAgB,KACnE9K,EAAAA,UAAUR,GAAa,IAAI,EAE3B,MAAM2N,EAAgB/I,EAAS,CAC7B,KAAM,gBACN,KAAM,QACN,OAAQ,CACN,CAAE,KAAM,IAAK,KAAM,OAAA,EACnB,CAAE,KAAM,SAAU,KAAM,OAAA,EACxB,CAAE,KAAM,YAAa,KAAM,OAAA,CAAQ,CACrC,CACD,EAAE,CAAC,CAACe,EAAGiI,EAAQC,CAAS,IAAM,CAC7B,MAAM,EAAIC,EAAAA,IAAI9F,EAAAA,IAAIrC,EAAE,IAAIiI,CAAM,CAAC,EAAE,IAAIC,CAAS,EAAG,CAAC,EAClD,OAAOE,MAAI,EAAG,EAAGjF,MAAI,EAAG,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,SAAA,CACrC,CAAC,EAEKkF,EAAapJ,EAAS,CAC1B,KAAM,aACN,KAAM,OACN,OAAQ,CACN,CAAE,KAAM,KAAM,KAAM,MAAA,EACpB,CAAE,KAAM,SAAU,KAAM,OAAA,CAAQ,CAClC,CACD,EAAE,CAAC,CAACzC,EAAIyL,CAAM,IAAM,CACnB,MAAMrJ,EAAQ5B,EAAAA,KAAK2I,EAAa,CAAC,EAC3BjG,EAAYlD,EAAG,IAAI,EAAG,EAAE,IAAIoC,CAAK,EAAE,YAAY,IAAIA,CAAK,EACxDlB,EAASmE,OAAKkG,CAAmB,EAAE,IAAIlG,EAAAA,KAAK,GAAI,EAAG,CAAC,CAAC,EACrD8B,EAAM2E,QAAM5I,EAAU,IAAIuI,CAAM,EAAE,IAAIzL,EAAG,SAAA,CAAU,CAAC,EACpD1D,EAAS+I,EAAAA,KACbxH,EAAU,OAAOqF,EAAU,IAAIhC,EAAO,CAAC,EAAE,IAAIiG,CAAG,CAAC,EAAE,EACnDtJ,EAAU,OAAOqF,EAAU,IAAIhC,EAAO,CAAC,EAAE,IAAIiG,CAAG,CAAC,EAAE,EACnDtJ,EAAU,OAAOqF,EAAU,IAAIhC,EAAO,CAAC,EAAE,IAAIiG,CAAG,CAAC,EAAE,CAAA,EAI/C4E,EAAM/L,EAAG,IAAIQ,EAAAA,KAAK,GAAK,CAAC,CAAC,EAAE,IAAI4B,CAAK,EAAE,IAAI5B,EAAAA,KAAK,GAAK,CAAC,CAAC,EACtD4G,EAAIxB,EAAAA,SAASmG,EAAKvL,EAAAA,KAAK,EAAG,CAAC,EAAE,SAAA,EACnC,OAAAlE,EAAO,UAAUkP,EAAcpE,EAAG,IAAM,GAAI,CAAC,EACtC9K,CACT,CAAC,EAEK+K,EAASrH,EAAAA,GAAA,EAEf,OADc6L,EAAWxE,EAAQ,EAAG,EACvB,IAAIL,CAAS,CAC5B,CACF,CC3FA,MAAMgF,EAAiBhM,GACdA,EAAG,iBAAiB,CAAC,EAAE,MAAM,IAAIA,EAAG,cAAc,CAAC,EAAE,IAAA,CAAK,EAAE,QAAA,EAK9D,MAAMiM,UAA8BvN,CAAqB,CAO9D,YAAYb,EAAgCc,EAAS,EAAG,CACtD,MAAMd,EAAWc,CAAM,EAHzB,KAAA,YAAchD,EAAAA,QAAQ,GAAI,EAIxB,KAAK,gBAAkB,EACzB,CATA,WAAoB,MAAe,CACjC,MAAO,uBACT,CASmB,oBAAoB8B,EAA4B,CACjE,KAAM,CAAE,UAAAI,EAAW,eAAAyB,CAAA,EAAmB,KACtCjB,OAAAA,EAAAA,UAAUR,GAAa,IAAI,EAEpB+E,EAAAA,GAAG,IAAM,CACd,MAAM7C,EAASC,EAAAA,GAAA,EACTC,EAAUjD,EAAAA,KAAK,EAAG,EAAG,GAAI,EAAE,EAC9B,IAAIsC,EAAe,IAAI,EACvB,IAAIS,EAAO,IAAI,EACf,cAAA,EACGG,EAAUlD,EAAAA,KAAK,EAAG,EAAG,GAAI,EAAE,EAC9B,IAAIsC,EAAe,IAAI,EACvB,IAAIS,EAAO,IAAI,EACf,cAAA,EACGI,EAAOF,EAAQ,GACfG,EAAOH,EAAQ,GACfI,EAAOJ,EAAQ,GACfK,EAAOL,EAAQ,GACfM,EAAOL,EAAQ,GACfO,EAAOP,EAAQ,GACfQ,EAAOR,EAAQ,GACfS,EAAOT,EAAQ,GACfU,EAAOJ,EAAAA,KAAKT,EAAO,EAAGG,EAAQ,CAAC,EAC/BW,EAAOL,EAAAA,KAAKN,EAAQ,EAAGH,EAAO,CAAC,EAC/Be,EAAON,EAAAA,KAAKN,EAAQ,EAAGH,EAAO,CAAC,EAC/BgB,EAAOP,EAAAA,KAAKT,EAAO,EAAGG,EAAQ,CAAC,EAE/BgM,EAAc,EAAI,EAAI,EACtBC,EAAc,EAAI,EAAI,EAEtBtH,EAAShH,EAAU,OAAOkC,CAAM,EAAE,IAAIoM,CAAW,EAEvD,IAAI1H,EACJ,OAAAA,EAASzH,EAAAA,KACPgP,EAAc7L,CAAI,EAClB6L,EAAc5L,CAAI,EAClB4L,EAAc3L,CAAI,EAClB2L,EAAc1L,CAAI,CAAA,EAClB,IAAI4L,CAAW,EAEjBrH,EAAO,UACLhH,EAAU,OAAOsC,CAAI,EAAE,IAAIsE,EAAO,CAAC,EACnC5G,EAAU,OAAOuC,CAAI,EAAE,IAAIqE,EAAO,CAAC,EACnC5G,EAAU,OAAOwC,CAAI,EAAE,IAAIoE,EAAO,CAAC,EACnC5G,EAAU,OAAOyC,CAAI,EAAE,IAAImE,EAAO,CAAC,CAAA,EAGrCA,EAASzH,EAAAA,KACPgP,EAAczL,CAAI,EAClByL,EAAcvL,CAAI,EAClBuL,EAActL,CAAI,EAClBsL,EAAcrL,CAAI,CAAA,EAClB,IAAIwL,CAAW,EAEjBtH,EAAO,UACLhH,EAAU,OAAO0C,CAAI,EAAE,IAAIkE,EAAO,CAAC,EACnC5G,EAAU,OAAO4C,CAAI,EAAE,IAAIgE,EAAO,CAAC,EACnC5G,EAAU,OAAO6C,CAAI,EAAE,IAAI+D,EAAO,CAAC,EACnC5G,EAAU,OAAO8C,CAAI,EAAE,IAAI8D,EAAO,CAAC,CAAA,EAGrCA,EAASzH,EAAAA,KACPgP,EAAcpL,CAAI,EAClBoL,EAAcnL,CAAI,EAClBmL,EAAclL,CAAI,EAClBkL,EAAcjL,CAAI,CAAA,EAClB,IAAIoL,CAAW,EAEjBtH,EAAO,UACLhH,EAAU,OAAO+C,CAAI,EAAE,IAAI6D,EAAO,CAAC,EACnC5G,EAAU,OAAOgD,CAAI,EAAE,IAAI4D,EAAO,CAAC,EACnC5G,EAAU,OAAOiD,CAAI,EAAE,IAAI2D,EAAO,CAAC,EACnC5G,EAAU,OAAOkD,CAAI,EAAE,IAAI0D,EAAO,CAAC,CAAA,EAG9BI,CACT,CAAC,EAAA,CACH,CAEmB,kBAAkBpH,EAA4B,CAC/D,KAAM,CAAE,UAAAI,EAAW,eAAAyB,EAAgB,eAAAC,CAAA,EAAmB,KACtDlB,EAAAA,UAAUR,GAAa,IAAI,EAE3B,MAAMkC,EAASC,EAAAA,GAAA,EACTkB,EAASlE,EAAAA,KAAK,EAAG,EAAG,GAAI,EAAE,EAC7B,IAAIsC,EAAe,IAAI,EACvB,IAAIS,EAAO,IAAI,EACf,cAAA,EACGoB,EAAMX,EAAAA,KAAKT,EAAO,EAAGmB,EAAO,CAAC,EAC7BE,EAAMZ,EAAAA,KAAKU,EAAO,EAAGnB,EAAO,CAAC,EAC7BsB,EAAMb,EAAAA,KAAKU,EAAO,EAAGnB,EAAO,CAAC,EAC7BuB,EAAMd,EAAAA,KAAKT,EAAO,EAAGmB,EAAO,CAAC,EAC7BK,EAAML,EAAO,GACbM,EAAMN,EAAO,GACbO,EAAMP,EAAO,GACbQ,EAAMR,EAAO,GAEb2D,EAAS7D,EAAAA,IACbnD,EAAU,OAAOkC,CAAM,EAAE,IAAI,EAAI,CAAC,EAClCiB,EAAAA,IACEnD,EAAU,OAAOsD,CAAG,EACpBtD,EAAU,OAAOuD,CAAG,EACpBvD,EAAU,OAAOwD,CAAG,EACpBxD,EAAU,OAAOyD,CAAG,CAAA,EACpB,IAAI,EAAI,CAAC,EACXN,EAAAA,IACEnD,EAAU,OAAO0D,CAAG,EACpB1D,EAAU,OAAO2D,CAAG,EACpB3D,EAAU,OAAO4D,CAAG,EACpB5D,EAAU,OAAO6D,CAAG,CAAA,EACpB,IAAI,EAAI,EAAE,CAAA,EAEd,OAAO0K,EAAAA,IAAI7M,EAAe,OAAOQ,CAAM,EAAG8E,EAAQ,KAAK,WAAW,CACpE,CACF,CAEO,MAAMwH,GAAoB,IAC5BjP,IACuB,IAAI6O,EAAsB,GAAG7O,CAAI,EC7ItD,SAASkP,EACdnP,EACS,CAOT,OALEA,aAAkBoP,EAAAA,YACdpP,EAAO,SAAS,QAChB,YAAaA,EACXA,EAAO,QACPA,GACO,kBAAoB,EACrC,CCMO,MAAMqP,WAAsB5O,EAAAA,QAAS,CAiB1C,YAAYC,EAAgC,CAC1C,MAAM,MAAM,EALd,KAAA,eAAiBlC,EAAAA,QAAQ,GAAI,EAM3B,KAAK,UAAYkC,EAEjB,KAAK,cAAgB,IAAIiE,EACzB,KAAK,SAAW,IAAI6C,EACpB,KAAK,UAAY,IAAIoC,GACrB,KAAK,SAAW,IAAIuE,GACpB,KAAK,UAAY,IAAIW,EAAsB,KAAM,CAAC,EAClD,KAAK,UAAY,IAAI7D,GAErB,KAAK,aAAeV,GAAU1G,EAAAA,IAAI,KAAK,UAAW,KAAK,QAAQ,CAAC,EAChE,KAAK,aAAa,MAAM,KAAO,yBAC/B,KAAK,aAAa,gBAAkB,GAIpC,KAAK,SAAS,gBAAkB,EAChC,KAAK,UAAU,gBAAkB,EACjC,KAAK,UAAU,gBAAkB,CACnC,CApCA,WAAoB,MAAe,CACjC,MAAO,eACT,CAoCS,MAAMvD,EAA+B,CAC5C,KAAM,CACJ,UAAAI,EACA,cAAA4O,EACA,SAAAC,EACA,UAAAC,EACA,SAAAC,EACA,UAAAC,EACA,aAAAC,EACA,UAAAC,CAAA,EACE,KACJ1O,EAAAA,UAAUR,GAAa,IAAI,EAE3B,MAAMmP,EAAYP,EAAc,eAAA,EAC1BQ,EAAOP,EAAS,eAAA,EAItBD,EAAc,UAAY5O,EAC1B6O,EAAS,UAAYM,EACrBL,EAAU,UAAYM,EACtBL,EAAS,UAAYK,EAGrBJ,EAAU,UAAYG,EAGtBD,EAAU,UAAYC,EAEtB,MAAME,EAAQL,EAAU,eAAA,EAAiB,IAAI,KAAK,cAAc,EAC1DM,EAAQJ,EAAU,eAAA,EAGxB,OAAOnK,EAAAA,GAAG,IAAM,CAEd,MAAMiC,EAAShH,EACf,OAAAgH,EAAO,UAAUqI,CAAK,EAClBZ,EAAS7O,CAAO,GAClBoH,EAAO,UAAUsI,CAAK,EAEjBtI,EAAO,IAAIiI,CAAY,CAChC,CAAC,EAAA,CACH,CAES,SAAgB,CACvB,KAAK,cAAc,QAAA,EACnB,KAAK,SAAS,QAAA,EACd,KAAK,UAAU,QAAA,EACf,KAAK,SAAS,QAAA,EACd,KAAK,UAAU,QAAA,EACf,KAAK,UAAU,QAAA,EACf,KAAK,aAAa,QAAA,EAClB,MAAM,QAAA,CACR,CACF,CAEO,MAAMM,GAAavP,GACxB,IAAI2O,GACF3O,GAAa,KACT8J,EAAiB9J,EAAW,qBAAqB,EACjD,IACN,EC/GWwP,GAAsCvK,EACjD,CACEwK,EACAC,EACAxN,EACA0L,IACG,CACH,MAAM1H,EAAIuJ,EAAU,IAAIvN,CAAM,EACxBiE,EAAIwJ,EAAAA,IAAID,EAAcxJ,CAAC,EACvB0J,EAAID,EAAAA,IAAIzJ,EAAGA,CAAC,EAAE,IAAI0H,EAAO,MAAM,EAC/BiC,EAAe1J,EAAE,KAAA,EAAO,IAAIyJ,CAAC,EAAE,MAAA,EAE/BE,EAAenN,EAAAA,KAAK,EAAE,EAC5BsJ,OAAAA,EAAAA,GAAG4D,EAAa,iBAAiB,CAAC,EAAG,IAAM,CACzC,MAAME,EAAIC,EAAAA,KAAKH,CAAY,EAC3BC,EAAa,OAAOnN,EAAAA,KAAKwD,EAAE,OAAA,EAAS,IAAI4J,CAAC,EAAG5J,EAAE,OAAA,EAAS,IAAI4J,CAAC,CAAC,CAAC,CAChE,CAAC,EACMD,CACT,CACF,EAEaG,GAA8C3F,EAAAA,OACzD,CAAE,KAAM,OAAQ,IAAK,MAAA,EACrB,yBACF,EAGa4F,GAAwCjL,EACnD,CACEwK,EACAC,EACAxN,EACAiO,IACG,CACH,MAAMjK,EAAIuJ,EAAU,IAAIvN,CAAM,EACxBiE,EAAIwJ,EAAAA,IAAID,EAAcxJ,CAAC,EACvB0J,EAAID,EAAAA,IAAIzJ,EAAGA,CAAC,EAAE,IAAIiK,EAAM,MAAM,EAC9BN,EAAe1J,EAAE,KAAA,EAAO,IAAIyJ,CAAC,EAAE,MAAA,EAE/BQ,EAAOjR,EAAAA,KAAK,EAAE,EACdkR,EAAMlR,EAAAA,KAAK,EAAE,EACnB8M,OAAAA,EAAAA,GAAG4D,EAAa,iBAAiB,CAAC,EAAG,IAAM,CACzC,MAAME,EAAIC,EAAAA,KAAKH,CAAY,EAC3BO,EAAK,OAAOjK,EAAE,OAAA,EAAS,IAAI4J,CAAC,CAAC,EAC7BM,EAAI,OAAOlK,EAAE,OAAA,EAAS,IAAI4J,CAAC,CAAC,CAC9B,CAAC,EACME,GAA8BG,EAAMC,CAAG,CAChD,CACF,EAEaC,GAAyCrL,EACpD,CACEwK,EACAC,EACAS,IACiB,CACjB,MAAMI,EAAKd,EAAU,IAAIU,CAAK,EACxBK,EAAKd,EAAa,IAAIS,CAAK,EAC3BjK,EAAIsK,EAAG,IAAIA,CAAE,EACbrK,EAAIoK,EAAG,IAAIC,CAAE,EACb,EAAID,EAAG,IAAIA,CAAE,EACbV,EAAe1J,EAClB,KAAA,EACA,IAAID,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,EACnB,MAAA,EAEGuK,EAAgB9N,EAAAA,KAAK,EAAE,EAC7BsJ,OAAAA,EAAAA,GAAG4D,EAAa,iBAAiB,CAAC,EAAG,IAAM,CACzC,MAAME,EAAIC,EAAAA,KAAKH,CAAY,EAC3BY,EAAc,OAAO9N,EAAAA,KAAKwD,EAAE,OAAA,EAAS,IAAI4J,CAAC,EAAG5J,EAAE,OAAA,EAAS,IAAI4J,CAAC,CAAC,EAAE,IAAI7J,CAAC,CAAC,CACxE,CAAC,EACMuK,CACT,CACF,EC9CMC,GAAQ,CAAA,MACZC,EAAAA,MAAA,IAAOC,EAAAA,IAAA,KAAKC,EAAAA,KAAA,KACZC,EAAAA,KAAA,KACAnO,EAAAA,KAAA,MAAMoO,EAAAA,MAAA,MAAO/E,EAAAA,MAAA,MAAOgF,EAAAA,MAAA,KACpBxJ,EAAAA,KAAA,MAAMyJ,EAAAA,MAAA,MAAOC,EAAAA,MAAA,MAAOC,EAAAA,MAAA,KACpBhS,EAAAA,KAAA,MAAMiS,EAAAA,MAAA,MAAOC,EAAAA,MAAA,MAAOC,EAAAA,MAAA,KACpBC,EAAAA,KAAA,KACApE,EAAAA,KAAA,KACAqE,EAAAA,KAAA,MACAnI,EAAAA,KACF,EAgDaoI,GAAOC,EAAAA,KAEb,SAASzS,GAAyB0F,EAA4B,CACnE,OAAO+L,GAAM/L,CAAI,CACnB,CC7FO,MAAMgN,WAA4BC,EAAAA,aAAc,CACrD,WAAoB,MAAe,CACjC,MAAO,qBACT,CAIA,YAAYlS,EAAaC,EAAkB,CACzC,MAAMA,CAAO,EACb,KAAK,MAAQD,EACb,KAAK,gBAAgB,EAAK,CAC5B,CAES,MAAME,EAA+B,CAC5C,YAAK,MAAM,MAAMA,CAAO,EACjB,MAAM,MAAMA,CAAO,CAC5B,CAES,OAAc,CAErB,OAAO,IAAI,KAAK,YAAY,KAAK,MAAO,KAAK,KAAK,CACpD,CACF,CAEO,MAAMiS,GAAkB,IAC1BtS,IACqB,IAAIoS,GAAoB,GAAGpS,CAAI,ECrB5CuS,GAAkC7M,EAC7C,CAAC8E,EAA0B5H,IAAmC,CAC5D,MAAMyH,EAAOjH,EAAAA,KAAKoP,EAAAA,YAAYhI,CAAW,CAAC,EACpC9H,EAAY2H,EAAK,WAAA,EACjB0D,EAAWnL,EAAG,IAAIyH,CAAI,EACtBoI,EAAiB1E,EAAS,IAAI,EAAG,EAAE,MAAA,EAAQ,IAAI,EAAG,EAKlD2E,EAAI3E,EAAS,IAAI0E,CAAc,EAM/BE,EAAKD,EAAE,IAAIA,EAAE,IAAIA,EAAE,IAAI,EAAG,EAAE,SAAA,CAAU,EAAE,IAAI,EAAG,CAAC,EAChDE,EAAKF,EAAE,IAAIA,CAAC,EAAE,IAAIA,EAAE,IAAI,GAAG,EAAE,IAAI,GAAG,CAAC,EAAE,IAAI,CAAC,EAC5CG,EAAKH,EAAE,IAAIA,EAAE,IAAInJ,EAAAA,IAAI,EAAGmJ,EAAE,IAAI,GAAG,CAAC,CAAC,EAAE,IAAI,EAAG,CAAC,EAC7CI,EAAKJ,EAAE,IAAIA,CAAC,EAAE,IAAIA,EAAE,IAAI,EAAG,EAAE,IAAI,EAAG,CAAC,EAKrCK,EAAMH,EAAG,IAAIC,CAAE,EACfG,EAAWH,EAAG,IAAID,EAAG,IAAIC,CAAE,CAAC,EAG5BI,EAAUR,EAAe,IAAI,CAAC,EAAE,IAAI/P,CAAS,EAC7CwQ,EAAUT,EAAe,IAAI,CAAC,EAAE,IAAI/P,CAAS,EAC7CyQ,EAAWV,EAAe,IAAIO,CAAQ,EAAE,IAAItQ,CAAS,EAE3D,OAAOkB,EAAAA,IACL4G,EAAY,OAAOpH,EAAAA,KAAK6P,EAAQ,EAAGA,EAAQ,CAAC,CAAC,EAAE,IAAIN,EAAG,CAAC,EAAE,IAAIA,EAAG,CAAC,EACjEnI,EAAY,OAAOpH,EAAAA,KAAK+P,EAAS,EAAGF,EAAQ,CAAC,CAAC,EAAE,IAAIF,EAAI,CAAC,EAAE,IAAIJ,EAAG,CAAC,EACnEnI,EAAY,OAAOpH,EAAAA,KAAK8P,EAAQ,EAAGD,EAAQ,CAAC,CAAC,EAAE,IAAIH,EAAG,CAAC,EAAE,IAAIH,EAAG,CAAC,EAEjEnI,EAAY,OAAOpH,EAAAA,KAAK6P,EAAQ,EAAGE,EAAS,CAAC,CAAC,EAAE,IAAIR,EAAG,CAAC,EAAE,IAAII,EAAI,CAAC,EACnEvI,EAAY,OAAOpH,EAAAA,KAAK+P,EAAS,EAAGA,EAAS,CAAC,CAAC,EAAE,IAAIJ,EAAI,CAAC,EAAE,IAAIA,EAAI,CAAC,EACrEvI,EAAY,OAAOpH,EAAAA,KAAK8P,EAAQ,EAAGC,EAAS,CAAC,CAAC,EAAE,IAAIL,EAAG,CAAC,EAAE,IAAIC,EAAI,CAAC,EAEnEvI,EAAY,OAAOpH,EAAAA,KAAK6P,EAAQ,EAAGC,EAAQ,CAAC,CAAC,EAAE,IAAIP,EAAG,CAAC,EAAE,IAAIG,EAAG,CAAC,EACjEtI,EAAY,OAAOpH,EAAAA,KAAK+P,EAAS,EAAGD,EAAQ,CAAC,CAAC,EAAE,IAAIH,EAAI,CAAC,EAAE,IAAID,EAAG,CAAC,EACnEtI,EAAY,OAAOpH,EAAAA,KAAK8P,EAAQ,EAAGA,EAAQ,CAAC,CAAC,EAAE,IAAIJ,EAAG,CAAC,EAAE,IAAIA,EAAG,CAAC,CAAA,CAErE,CACF,EChCA,SAASM,EAAOC,EAAeC,EAAsB,CACnD,IAAIC,EAAW,EACXrU,EAAS,EACb,KAAOmU,EAAQ,GACbE,GAAYD,EACZpU,GAAUqU,GAAYF,EAAQC,GAC9BD,EAAQ,KAAK,MAAMA,EAAQC,CAAI,EAEjC,OAAOpU,CACT,CAEO,MAAMsU,EAAkD,MAAM,KACnE,CAAE,OAAQ,EAAA,EACV,CAAC/U,EAAG4U,IAAU,IAAI5R,EAAAA,QAAQ2R,EAAOC,EAAQ,EAAG,CAAC,EAAGD,EAAOC,EAAQ,EAAG,CAAC,CAAC,CACtE,ECbaI,GAAe,CAC1BC,EACA7C,EACAC,EACA,CAAE,YAAA6C,EAAc,GAAM,YAAAC,EAAc,EAAA,EAAwB,KAErDA,EACHC,EAAAA,wBAAwBH,EAAO7C,EAAMC,CAAG,EACxC6C,EACEG,EAAAA,wBAAwBJ,EAAO7C,EAAMC,CAAG,EACxCiD,EAAAA,yBAAyBL,EAAO7C,EAAMC,CAAG,EAGpCkD,EAAgC,CAC3CN,EACA7C,EACAC,IACkB,CAClB,MAAMmD,EAAQJ,EAAAA,wBAAwBH,EAAO7C,EAAMC,CAAG,EACtD,OAAOoD,0BAAwBD,EAAOpD,EAAMC,CAAG,CACjD,EAEaqD,GAAgC,CAC3CT,EACA7C,EACAC,IACkB,CAClB,MAAMmD,EAAQH,EAAAA,wBAAwBJ,EAAO7C,EAAMC,CAAG,EACtD,OAAOsD,0BAAwBH,EAAOpD,EAAMC,CAAG,CACjD,EAEauD,GAAuB,CAClCzR,EACA8Q,EACAO,EACAjW,EACAI,IACiB,CACjB,MAAM4G,EAAQhH,EAAiB,QAAQqT,EAAAA,IAAI,CAAC,CAAC,EAAE,QAAQA,MAAI,CAAC,CAAC,EACvDvN,EAAS9F,EAAiB,QAAQqT,EAAAA,IAAI,CAAC,CAAC,EAAE,QAAQA,MAAI,CAAC,CAAC,EAExDiD,EADO1U,EAAAA,KAAKqI,EAAAA,KAAKrF,EAAG,QAAS8Q,CAAK,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAG,CAAC,EACzC,IAAIO,EAAM,IAAIjP,CAAK,EAAE,IAAIlB,CAAM,CAAC,EACjD,OAAO1F,EAAwB,IAAIkW,CAAG,EAAE,GAC1C,EAIMC,EAAc,CACJtM,OAAK,QAAS,OAAQ,OAAO,EAC7BA,OAAK,UAAW,OAAQ,QAAQ,EAChCA,OAAK,SAAU,SAAU,QAAQ,EACjCA,OAAK,SAAU,OAAQ,QAAQ,EAC/BA,OAAK,OAAQ,OAAQ,OAAO,EAC5BA,OAAK,MAAQ,MAAQ,KAAM,CAC3C,EAEauM,GAASpO,GACbmO,EACJ,MAAM,CAAC,EACP,OAAa,CAACpO,EAAGrC,IAAWA,EAAO,IAAIsC,EAAE,IAAID,CAAC,CAAC,EAAGoO,EAAY,CAAC,CAAC,EAGxDE,GAAe,CAC1Bf,EACA7C,EACAC,EACA4D,IACiB,CACjB,MAAMT,EAAQR,GAAaC,EAAO7C,EAAMC,EAAK4D,CAAO,EACpD,OAAOF,GAAMJ,EAAAA,wBAAwBH,EAAOpD,EAAMC,CAAG,CAAC,CACxD,EAEa6D,GAA4B/R,GAAmC,CAC1E,MAAMgS,EAASrL,EAAAA,IAAI,GAAK3G,EAAG,CAAC,EAAE,IAAIiS,KAAG,EAC/B3H,EAAM3D,EAAAA,IAAI3G,EAAG,EAAG,EAAG,EAAE,IAAIkS,IAAE,EAC3BC,EAASrH,EAAAA,IAAIR,CAAG,EACtB,OAAOjF,EAAAA,KAAK8M,EAAO,IAAIrH,EAAAA,IAAIkH,CAAM,CAAC,EAAGnH,EAAAA,IAAIP,CAAG,EAAG6H,EAAO,IAAItH,EAAAA,IAAImH,CAAM,CAAC,CAAC,CACxE,EC9CM,CAAE,mBAAAzT,GAAoB,qBAAAC,EAAA,EAAyBC,EAAAA,cAmBrD,SAAS2T,GAAkB/W,EAA2C,CACpE,OACEA,EAAO,sBAAwB,IAC/BA,EAAO,uBAAyB,IAC/B,2BAA4BA,GAC3B,kBAAmBA,GACnB,oBAAqBA,CAE3B,CAUA,MAAMgX,GAAyB5P,EAAS,CACtC,KAAM,WACN,KAAM,OACN,OAAQ,CACN,CAAE,KAAM,UAAW,KAAM,MAAA,EACzB,CAAE,KAAM,UAAW,KAAM,MAAA,EACzB,CAAE,KAAM,WAAY,KAAM,MAAA,EAC1B,CAAE,KAAM,WAAY,KAAM,MAAA,CAAO,CAErC,CAAC,EAAE,CAAC,CAACwD,EAASqM,EAASC,EAAUC,CAAQ,IAAM,CAC7C,MAAMC,EAAQD,EAAS,IAAI,IAAID,EAAS,GAAG,EAAE,IAAI,EAAG,EAC9CG,EAAQF,EAAS,IAAI,IAAID,EAAS,GAAG,EAAE,IAAI,EAAG,EAAE,IAAI,IAAI,EACxDI,EAAQL,EAAQ,IAAItV,EAAAA,KAAKyV,EAAOxM,EAAQ,CAAC,CAAC,EAE1C2M,EADQD,EAAM,IAAI,IAAID,CAAK,EACX,IAAA,EAChBG,EAAUC,EAAAA,IAAIF,EAAQ,EAAGA,EAAQ,EAAGA,EAAQ,CAAC,EACnD,OAAOG,EAAAA,OACLF,EAAQ,YAAY,CAAC,EACrB7V,OAAKyV,EAAOxM,EAAQ,CAAC,EAAE,IAAI0M,EAAM,IAAIE,CAAO,CAAC,EAC7CP,CAAA,CAEJ,CAAC,EAEKU,EAAkB,CACRpE,EAAAA,MAAM,GAAI,EAAE,EACZA,EAAAA,MAAM,GAAI,CAAC,EACXA,EAAAA,MAAM,EAAG,EAAE,EACXA,EAAAA,MAAM,EAAG,CAAC,EACVA,EAAAA,MAAM,EAAG,CAAC,EACVA,EAAAA,MAAM,EAAG,EAAE,EACXA,EAAAA,MAAM,EAAG,CAAC,EACVA,EAAAA,MAAM,GAAI,CAAC,CAC3B,EAEMqE,GAAiCnQ,EACrC,CACEjF,EACAqV,EACAjN,EACAqM,EACAa,IACiB,CACjB,MAAMC,EAAUnN,EAAQ,MAAA,EAClBoN,EAAUpN,EAAQ,KAAA,EAAO,MAAA,EAE/B,UAAW/E,KAAU8R,EAAiB,CACpC,MAAMM,EAAWzV,EAAU,KAAKqV,EAAM,IAAIhS,CAAM,CAAC,EACjDkS,EAAQ,UAAUE,CAAQ,EAC1BD,EAAQ,UAAUC,EAAS,MAAM,CACnC,CAEA,MAAM/D,EAAIf,EAAAA,MAAMwE,EAAgB,OAAS,CAAC,EACpCO,EAAOH,EAAQ,IAAI7D,CAAC,EACpBiE,EAAW3F,EAAAA,KAAKwF,EAAQ,IAAI9D,CAAC,EAAE,IAAIgE,EAAK,KAAA,CAAM,EAAE,IAAI,CAAC,CAAC,EAAE,IAAIJ,CAAK,EACjEZ,EAAWgB,EAAK,IAAIC,CAAQ,EAC5BhB,EAAWe,EAAK,IAAIC,CAAQ,EAElC,OAAOnB,GAASkB,EAAK,MAAMhB,EAAUC,CAAQ,EAAGF,EAASC,EAAUC,CAAQ,CAC7E,CACF,EAEMiB,GAAkB,CACR7E,EAAAA,MAAM,GAAI,EAAE,EACZA,EAAAA,MAAM,GAAI,CAAC,EACXA,EAAAA,MAAM,GAAI,CAAC,EACXA,EAAAA,MAAM,EAAG,EAAE,EACXA,EAAAA,MAAM,EAAG,CAAC,EACVA,EAAAA,MAAM,EAAG,CAAC,EACVA,EAAAA,MAAM,EAAG,EAAE,EACXA,EAAAA,MAAM,EAAG,CAAC,EACVA,EAAAA,MAAM,EAAG,CAAC,CAC1B,EAEM8E,GAAmCvL,EAAAA,OAAO,CAC9C,MAAO,QACP,MAAO,OACT,CAAC,EAEKwL,GAAgC7Q,EACpC,CAAC8Q,EAAwBC,IAA8B,CACrD,MAAM/C,EAAQtC,EAAAA,MAAM,CAAC,EACf0E,EAAQtE,EAAAA,MAAM,CAAC,EACrB,UAAW1N,KAAUuS,GAAiB,CACpC,MAAMK,EAAcD,EAAW,IAAI3S,CAAM,EAAE,MAAA,EACrCoS,EAAWM,EAAU,KAAKE,CAAW,EAAE,MAAA,EAC7ChK,EAAAA,GAAGwJ,EAAS,EAAE,SAASxC,CAAK,EAAG,IAAM,CACnCoC,EAAM,OAAOY,CAAW,EACxBhD,EAAM,OAAOwC,EAAS,CAAC,CACzB,CAAC,CACH,CACA,OAAOI,GAAmBR,EAAOpC,CAAK,CACxC,CACF,EA4BMvJ,OAAgC1I,EAAAA,QAChCkV,GAAkC,IAAIC,EAAAA,aAAa,EAAG,CAAC,EAItD,MAAMC,WAA8BrW,EAAAA,QAAS,CAsClD,YACEsW,EACArW,EACA+V,EACAO,EACA9Y,EACA,CAMA,GALA,MAAM,MAAM,EAjCd,KAAA,cAAgBM,EAAAA,QAAQ,GAAI,EAC5B,KAAA,cAAgBA,EAAAA,QAAQ,CAAC,EACzB,KAAA,kBAAoBA,EAAAA,QAAQ,EAAG,EAC/B,KAAA,WAAaA,EAAAA,QAAQ,IAAK,EAG1B,KAAA,mBAAqB,GAIrB,KAAQ,UAAY,KAAK,mBAAmB,SAAS,EACrD,KAAQ,UAAY,KAAK,mBAAmB,SAAS,EAErD,KAAiB,gBAAkB,IAAIoB,eACvC,KAAiB,aAAe,IAAIA,eACpC,KAAiB,KAAO,IAAI6B,WAE5B,KAAQ,wBAA0B,GAClC,KAAQ,kBAAoB,GAE5B,KAAiB,YAAcpB,EAAAA,QAAQ,KAAK,UAAU,OAAO,EAC7D,KAAiB,YAAcA,EAAAA,QAAQ,KAAK,UAAU,OAAO,EAC7D,KAAiB,kBAAoBA,EAAAA,QAAQuW,EAAiB,EAC9D,KAAiB,yBAA2B,IAAI/N,UAChD,KAAQ,YAAc,EAUpB,KAAK,sBAAwBkO,EAC7B,KAAK,UAAYrW,EACjB,KAAK,UAAY+V,EACjB,KAAK,aAAeO,EAChB,CAAC/B,GAAkB/W,CAAM,EAC3B,MAAM,IAAI,MAAM,uCAAuC,EAEzD,KAAK,OAASA,EAEd,KAAK,YAAcqC,EAAc,KAAM,KAAK,UAAU,OAAO,EAE7D,KAAK,iBAAmBI,EAAAA,eAAe,KACzC,CAzDA,WAAoB,MAAe,CACjC,MAAO,uBACT,CAyDS,gBAAyB,CAChC,OAAO6K,GAAAA,KAAK,KAAK,OAAO,GAAI,CAAC,KAAK,kBAAkB,CACtD,CAEQ,mBAAmB1N,EAA6B,CACtD,MAAM8C,EAAe,IAAIC,eAAa,EAAG,EAAG,CAC1C,YAAa,GACb,KAAMC,EAAAA,cACN,OAAQC,EAAAA,UAAA,CACT,EACKV,EAAUO,EAAa,QAC7BP,EAAQ,UAAYW,EAAAA,aACpBX,EAAQ,UAAYW,EAAAA,aACpBX,EAAQ,gBAAkB,GAE1B,MAAMY,EAAY,KAAK,YAA6C,KACpEZ,OAAAA,EAAQ,KAAOvC,GAAQ,KAAO,GAAGmD,CAAQ,IAAInD,CAAI,GAAKmD,EAE/CL,CACT,CAEA,gBAA8B,CAC5B,OAAO,KAAK,WACd,CAEQ,oBAAoBjC,EAA6B,CACvD,KAAM,CAAE,sBAAuBsY,CAAA,EAAa,KACxCA,GAAY,OACdA,EAAS,iBAAmBtY,EAEhC,CAEA,QAAQiD,EAAeC,EAAsB,CAC3C,KAAM,CAAE,UAAAqV,EAAW,UAAAC,CAAA,EAAc,KACjC,OAAIvV,IAAUuV,EAAU,OAAStV,IAAWsV,EAAU,UACpDD,EAAU,QAAQtV,EAAOC,CAAM,EAC/BsV,EAAU,QAAQvV,EAAOC,CAAM,EAC/B,KAAK,kBAAoB,IAEpB,IACT,CAEQ,aAAa9C,EAA0B,CAG7CA,EAAS,gBAAgB,KAAK,SAAS,EACvCA,EAAS,MAAA,EACTA,EAAS,gBAAgB,KAAK,SAAS,EACvCA,EAAS,MAAA,EAGTA,EAAS,gBAAgB,KAAK,SAAS,EACvC,KAAK,KAAK,SAAW,KAAK,aAC1B,KAAK,KAAK,OAAOA,CAAQ,EAEzB,KAAK,kBAAoB,EAC3B,CAEQ,cAAc6C,EAAeC,EAAsB,CAEzD,KAAM,CAAE,OAAA3D,GAAW,KACnBA,EAAO,uBAAA,EACP,KAAK,yBAAyB,KAAKA,EAAO,gBAAgB,EAC1D,KAAK,oBAAoB,KAAK,wBAAwB,EAEtD,MAAM6F,EAAS0P,EAAc,KAAK,WAAW,EACvC2D,EAAKrT,EAAO,EAAI,GAChBsT,EAAKtT,EAAO,EAAI,GACtB7F,EAAO,cAAc0D,EAAOC,EAAQuV,EAAIC,EAAIzV,EAAOC,CAAM,CAC3D,CAEQ,iBAAwB,CAE9B,KAAK,OAAO,gBAAA,EACZ,KAAK,oBAAoB,IAAI,EAI7B,KAAK,aAAe,KAAK,YAAc,GAAK4R,EAAc,MAC5D,CAEQ,iBAAiB1U,EAA0B,CACjD,MAAM+J,EAAU,KAAK,UAAU,MACzBC,EAAY,KAAK,uBACrBD,EAAQ,MAAA,GAGRC,EAAS,MAAM,QAAUD,EAAQ,OACjCC,EAAS,MAAM,SAAWD,EAAQ,UAElCC,EAAS,MAAM,MAAQD,EAAQ,MAC/BC,EAAS,MAAM,OAASD,EAAQ,OAChCC,EAAS,YAAc,IAEzBhK,EAAS,qBAAqB+J,EAASC,CAAQ,EAE/C,KAAK,kBAAkB,MAAQA,CACjC,CAEQ,aAAoB,CAE1B,KAAM,CAAE,UAAAmO,EAAW,UAAAC,CAAA,EAAc,KACjC,KAAK,UAAYA,EACjB,KAAK,UAAYD,EACjB,KAAK,YAAY,MAAQC,EAAU,QACnC,KAAK,YAAY,MAAQD,EAAU,QAGnC,KAAK,YAAY,MAAQA,EAAU,OACrC,CAES,aAAa,CAAE,SAAAnY,GAA6B,CACnD,GAAIA,GAAY,KACd,OAGF,MAAMuL,EAAOvL,EAAS,qBAAqBqL,EAAW,EACtD,KAAK,QAAQE,EAAK,EAAGA,EAAK,CAAC,EAE3B,KAAK,cAAgBlJ,GAAmBrC,EAAU,KAAK,aAAa,EAEhE,KAAK,mBACP,KAAK,aAAaA,CAAQ,EAG5BA,EAAS,gBAAgB,KAAK,SAAS,EACvC,KAAK,KAAK,SAAW,KAAK,gBAC1B,KAAK,KAAK,OAAOA,CAAQ,EAEzBsC,GAAqBtC,EAAU,KAAK,aAAa,EAG7CoQ,EAASpQ,CAAQ,GACnB,KAAK,iBAAiBA,CAAQ,EAEhC,KAAK,YAAA,EAGD,KAAK,yBACP,KAAK,gBAAA,CAET,CAEQ,iBAAiB,CAAE,SAAAA,GAA+B,CACxD,MAAMuY,EAAoBzU,GAAoC,CAC5D,KAAM,CAAE,kBAAmB4T,CAAA,EAAc,KACnC9C,EAAQ8C,EACX,KAAKhF,EAAAA,MAAM5O,EAAG,IAAI4P,EAAAA,YAAYgE,CAAS,CAAC,EAAE,IAAI,EAAG,CAAC,CAAC,EACnD,MAAA,EACH,OAAO1X,EAAS,uBACZkV,EACEN,EACA/U,EAAW,KAAK,MAAM,EACtBC,EAAU,KAAK,MAAM,CAAA,EAEvB8U,CACN,EAEA,OAAOlO,EAAAA,GAAG,IAAM,CACd,MAAMsQ,EAAQtE,EAAAA,MAAM1J,kBAAgB,EAC9BlF,EAAK0U,EAAAA,SAELC,EAAe,KAAK,UAAU,KAAKzB,CAAK,EACxC0B,EAAejB,GAAgB,KAAK,UAAWT,CAAK,EACpD2B,EAAeD,EAAa,IAAI,OAAO,EAEvCR,EAAW,KAAK,aACnB,KAAKS,CAAY,EACjB,IAAI,IAAIxP,EAAAA,KAAK,GAAK,IAAM,EAAG,CAAC,EAC5B,MAAA,EAGGyP,EAAqBV,EAAS,GACjC,OAAA,EACA,IAAI,KAAK,iBAAiB,EAC1B,SAAA,EACA,SAAA,EAEGW,EAAS/U,EAAG,IAAIoU,EAAS,EAAE,EAAE,MAAA,EAC7BY,EAAYP,EAAiBM,CAAM,EAGnCE,EAAgB/Y,EAAS,uBAC3BkV,EACEwD,EAAa,IAAI,OAAO,EACxB7Y,EAAW,KAAK,MAAM,EACtBC,EAAU,KAAK,MAAM,CAAA,EAEvB4Y,EAAa,IAAI,OAAO,EAEtBM,EAAkBC,EAAAA,KACtBF,EAAc,IAAIb,EAAS,CAAC,EAC5BY,EAAU,IAAI,KAAK,UAAU,CAAA,EAGzBI,EAAaN,EAAmB,IAAII,CAAe,EAEnDG,EAAWC,EAAAA,IACfP,EAAO,iBAAiB,CAAC,EAAE,IAAA,EAC3BA,EAAO,cAAc,CAAC,EAAE,IAAA,CAAI,EAC5B,QAAA,EAGIQ,EAAcX,EAAa,IAAI,OAAO,EAAE,SAAS,CAAC,EAAE,QAAA,EAEpD3S,EAAcjF,EAAAA,KAAK,CAAC,EAAE,MAAA,EAC5B8M,OAAAA,KAAGuL,EAAS,IAAIE,CAAW,EAAE,IAAIH,CAAU,EAAE,YAAY,CAAC,EAAG,IAAM,CACjE,MAAMI,EAAehY,EAAAA,QAAQ,KAAK,YAAauX,CAAM,EAC/CU,EAAexC,GACnB,KAAK,UACLC,EACAyB,EACAa,EACA,KAAK,aAAA,EAMDE,EAAmBtB,EAAS,GAAG,IAAA,EAAM,IAAIuB,YAAU,EACnDC,EAAqB9C,EAAAA,IAAI4C,EAAiB,EAAGA,EAAiB,CAAC,EAClE,MAAA,EACA,IAAI,EAAG,EACJG,EAAgBzJ,EAAAA,IACpB,KAAK,cACL,GACAwJ,CAAA,EACA,SAAA,EAEF3T,EAAY,OAAOmK,EAAAA,IAAIqJ,EAAcd,EAAckB,CAAa,CAAC,CACnE,CAAC,EAAE,KAAK,IAAM,CACZ5T,EAAY,OAAO0S,CAAY,EAC3B,KAAK,oBACP1S,EAAY,OAAOoD,EAAAA,KAAK,EAAG,EAAG,CAAC,CAAC,CAEpC,CAAC,EAEMpD,CACT,CAAC,EAAA,CACH,CAES,MAAMxE,EAA+B,CAC5C,KAAM,CAAE,QAAAsK,CAAA,EAAatK,EAAQ,WAAA,EAAa,gBACxC,CAAA,EACF,GAAIsK,GAAW,KAAM,CACnB,KAAM,CAAE,uBAAA+N,GAA2B/N,EACnCA,EAAQ,uBAAyB,IAAM,CACrC+N,IAAA,EACA,MAAMrO,EAAOhK,EAAQ,SAAS,qBAAqB8J,EAAW,EAC9D,KAAK,cAAcE,EAAK,MAAOA,EAAK,MAAM,CAC5C,EACA,KAAK,wBAA0B,EACjC,CAEA,KAAM,CAAE,gBAAAsO,EAAiB,aAAAC,CAAA,EAAiB,KAE1C,OAAAD,EAAgB,aAAe,KAAK,iBAAiBtY,CAAO,EAC5DsY,EAAgB,YAAc,GAE9BC,EAAa,aAAe,KAAK,UACjCA,EAAa,YAAc,GAE3B,KAAK,YAAY,OAAS,KAAK,UAAU,OAClC,KAAK,WACd,CAES,SAAgB,CACvB,KAAK,UAAU,QAAA,EACf,KAAK,UAAU,QAAA,EACf,KAAK,sBAAsB,QAAA,EAC3B,KAAK,gBAAgB,QAAA,EACrB,KAAK,aAAa,QAAA,EAClB,KAAK,KAAK,SAAS,QAAA,EACnB,MAAM,QAAA,CACR,CACF,CAEO,MAAMC,GACV/B,GACD,CACErW,EACA+V,EACAO,EACA9Y,IAEA,IAAI4Y,GACFC,EACAvM,EAAiB9J,EAAW,6BAA6B,EACzD+V,EACAO,EACA9Y,CACF"}