s3m-three 0.3.13 → 0.3.14

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.
Files changed (48) hide show
  1. package/dist/browser/assets/{s3mWorker-DLsGBSaV.js → s3mWorker-BjPOUgjg.js} +1 -1
  2. package/dist/browser/s3m-three.iife.ext-three.js +21 -21
  3. package/dist/browser/s3m-three.iife.js +21 -21
  4. package/dist/core/TextureDecode.d.ts +9 -0
  5. package/dist/core/TextureDecode.d.ts.map +1 -1
  6. package/dist/core/TextureDecode.js +66 -0
  7. package/dist/core/TextureDecode.js.map +1 -1
  8. package/dist/index.d.ts +2 -2
  9. package/dist/index.d.ts.map +1 -1
  10. package/dist/index.js +2 -2
  11. package/dist/index.js.map +1 -1
  12. package/dist/render/DatasetManager.d.ts +3 -1
  13. package/dist/render/DatasetManager.d.ts.map +1 -1
  14. package/dist/render/DatasetManager.js +2 -1
  15. package/dist/render/DatasetManager.js.map +1 -1
  16. package/dist/render/OrthoProjection.d.ts +22 -0
  17. package/dist/render/OrthoProjection.d.ts.map +1 -1
  18. package/dist/render/OrthoProjection.js +60 -0
  19. package/dist/render/OrthoProjection.js.map +1 -1
  20. package/dist/render/S3MViewer.d.ts +70 -0
  21. package/dist/render/S3MViewer.d.ts.map +1 -1
  22. package/dist/render/S3MViewer.js +100 -5
  23. package/dist/render/S3MViewer.js.map +1 -1
  24. package/dist/render/TextureFactory.d.ts +3 -2
  25. package/dist/render/TextureFactory.d.ts.map +1 -1
  26. package/dist/render/TextureFactory.js +26 -6
  27. package/dist/render/TextureFactory.js.map +1 -1
  28. package/dist/tileset/S3MTileset.d.ts +26 -1
  29. package/dist/tileset/S3MTileset.d.ts.map +1 -1
  30. package/dist/tileset/S3MTileset.js +29 -2
  31. package/dist/tileset/S3MTileset.js.map +1 -1
  32. package/dist/worker/S3MWorkerClient.d.ts +6 -3
  33. package/dist/worker/S3MWorkerClient.d.ts.map +1 -1
  34. package/dist/worker/S3MWorkerClient.js +8 -5
  35. package/dist/worker/S3MWorkerClient.js.map +1 -1
  36. package/dist/worker/s3mWorker.js +123 -71
  37. package/dist/worker/s3mWorker.js.map +1 -1
  38. package/docs/API.md +61 -0
  39. package/package.json +1 -1
  40. package/src/core/TextureDecode.ts +87 -0
  41. package/src/index.ts +2 -1
  42. package/src/render/DatasetManager.ts +5 -1
  43. package/src/render/OrthoProjection.ts +58 -0
  44. package/src/render/S3MViewer.ts +134 -7
  45. package/src/render/TextureFactory.ts +35 -8
  46. package/src/tileset/S3MTileset.ts +41 -2
  47. package/src/worker/S3MWorkerClient.ts +9 -5
  48. package/src/worker/s3mWorker.ts +2 -2
@@ -3832,12 +3832,12 @@ void main() {
3832
3832
 
3833
3833
  }
3834
3834
 
3835
- }`,Ll=class{constructor(){this.texture=null,this.mesh=null,this.depthNear=0,this.depthFar=0}init(e,t,n){if(this.texture===null){let r=new ro,i=e.properties.get(r);i.__webglTexture=t.texture,(t.depthNear!=n.depthNear||t.depthFar!=n.depthFar)&&(this.depthNear=t.depthNear,this.depthFar=t.depthFar),this.texture=r}}getMesh(e){if(this.texture!==null&&this.mesh===null){let t=e.cameras[0].viewport,n=new gc({vertexShader:Fl,fragmentShader:Il,uniforms:{depthColor:{value:this.texture},depthWidth:{value:t.z},depthHeight:{value:t.w}}});this.mesh=new dc(new Pc(20,20),n)}return this.mesh}reset(){this.texture=null,this.mesh=null}getDepthTexture(){return this.texture}},Rl=class extends Ra{constructor(e,t){super();let n=this,r=null,i=1,a=null,o=`local-floor`,s=1,c=null,l=null,u=null,d=null,f=null,p=null,m=new Ll,h=t.getContextAttributes(),g=null,_=null,v=[],y=[],b=new B,x=null,S=new xc;S.layers.enable(1),S.viewport=new io;let C=new xc;C.layers.enable(2),C.viewport=new io;let w=[S,C],T=new jl;T.layers.enable(1),T.layers.enable(2);let E=null,D=null;this.cameraAutoUpdate=!0,this.enabled=!1,this.isPresenting=!1,this.getController=function(e){let t=v[e];return t===void 0&&(t=new Pl,v[e]=t),t.getTargetRaySpace()},this.getControllerGrip=function(e){let t=v[e];return t===void 0&&(t=new Pl,v[e]=t),t.getGripSpace()},this.getHand=function(e){let t=v[e];return t===void 0&&(t=new Pl,v[e]=t),t.getHandSpace()};function O(e){let t=y.indexOf(e.inputSource);if(t===-1)return;let n=v[t];n!==void 0&&(n.update(e.inputSource,e.frame,c||a),n.dispatchEvent({type:e.type,data:e.inputSource}))}function k(){r.removeEventListener(`select`,O),r.removeEventListener(`selectstart`,O),r.removeEventListener(`selectend`,O),r.removeEventListener(`squeeze`,O),r.removeEventListener(`squeezestart`,O),r.removeEventListener(`squeezeend`,O),r.removeEventListener(`end`,k),r.removeEventListener(`inputsourceschange`,A);for(let e=0;e<v.length;e++){let t=y[e];t!==null&&(y[e]=null,v[e].disconnect(t))}E=null,D=null,m.reset(),e.setRenderTarget(g),f=null,d=null,u=null,r=null,_=null,oe.stop(),n.isPresenting=!1,e.setPixelRatio(x),e.setSize(b.width,b.height,!1),n.dispatchEvent({type:`sessionend`})}this.setFramebufferScaleFactor=function(e){i=e,n.isPresenting===!0&&console.warn(`THREE.WebXRManager: Cannot change framebuffer scale while presenting.`)},this.setReferenceSpaceType=function(e){o=e,n.isPresenting===!0&&console.warn(`THREE.WebXRManager: Cannot change reference space type while presenting.`)},this.getReferenceSpace=function(){return c||a},this.setReferenceSpace=function(e){c=e},this.getBaseLayer=function(){return d===null?f:d},this.getBinding=function(){return u},this.getFrame=function(){return p},this.getSession=function(){return r},this.setSession=async function(l){if(r=l,r!==null){if(g=e.getRenderTarget(),r.addEventListener(`select`,O),r.addEventListener(`selectstart`,O),r.addEventListener(`selectend`,O),r.addEventListener(`squeeze`,O),r.addEventListener(`squeezestart`,O),r.addEventListener(`squeezeend`,O),r.addEventListener(`end`,k),r.addEventListener(`inputsourceschange`,A),h.xrCompatible!==!0&&await t.makeXRCompatible(),x=e.getPixelRatio(),e.getSize(b),r.renderState.layers===void 0){let n={antialias:h.antialias,alpha:!0,depth:h.depth,stencil:h.stencil,framebufferScaleFactor:i};f=new XRWebGLLayer(r,t,n),r.updateRenderState({baseLayer:f}),e.setPixelRatio(1),e.setSize(f.framebufferWidth,f.framebufferHeight,!1),_=new oo(f.framebufferWidth,f.framebufferHeight,{format:ci,type:Jr,colorSpace:e.outputColorSpace,stencilBuffer:h.stencil})}else{let n=null,a=null,o=null;h.depth&&(o=h.stencil?t.DEPTH24_STENCIL8:t.DEPTH_COMPONENT24,n=h.stencil?fi:di,a=h.stencil?ii:$r);let s={colorFormat:t.RGBA8,depthFormat:o,scaleFactor:i};u=new XRWebGLBinding(r,t),d=u.createProjectionLayer(s),r.updateRenderState({layers:[d]}),e.setPixelRatio(1),e.setSize(d.textureWidth,d.textureHeight,!1),_=new oo(d.textureWidth,d.textureHeight,{format:ci,type:Jr,depthTexture:new $c(d.textureWidth,d.textureHeight,a,void 0,void 0,void 0,void 0,void 0,void 0,n),stencilBuffer:h.stencil,colorSpace:e.outputColorSpace,samples:h.antialias?4:0,resolveDepthBuffer:d.ignoreDepthValues===!1})}_.isXRRenderTarget=!0,this.setFoveation(s),c=null,a=await r.requestReferenceSpace(o),oe.setContext(r),oe.start(),n.isPresenting=!0,n.dispatchEvent({type:`sessionstart`})}},this.getEnvironmentBlendMode=function(){if(r!==null)return r.environmentBlendMode},this.getDepthTexture=function(){return m.getDepthTexture()};function A(e){for(let t=0;t<e.removed.length;t++){let n=e.removed[t],r=y.indexOf(n);r>=0&&(y[r]=null,v[r].disconnect(n))}for(let t=0;t<e.added.length;t++){let n=e.added[t],r=y.indexOf(n);if(r===-1){for(let e=0;e<v.length;e++)if(e>=y.length){y.push(n),r=e;break}else if(y[e]===null){y[e]=n,r=e;break}if(r===-1)break}let i=v[r];i&&i.connect(n)}}let j=new H,ee=new H;function te(e,t,n){j.setFromMatrixPosition(t.matrixWorld),ee.setFromMatrixPosition(n.matrixWorld);let r=j.distanceTo(ee),i=t.projectionMatrix.elements,a=n.projectionMatrix.elements,o=i[14]/(i[10]-1),s=i[14]/(i[10]+1),c=(i[9]+1)/i[5],l=(i[9]-1)/i[5],u=(i[8]-1)/i[0],d=(a[8]+1)/a[0],f=o*u,p=o*d,m=r/(-u+d),h=m*-u;if(t.matrixWorld.decompose(e.position,e.quaternion,e.scale),e.translateX(h),e.translateZ(m),e.matrixWorld.compose(e.position,e.quaternion,e.scale),e.matrixWorldInverse.copy(e.matrixWorld).invert(),i[10]===-1)e.projectionMatrix.copy(t.projectionMatrix),e.projectionMatrixInverse.copy(t.projectionMatrixInverse);else{let t=o+m,n=s+m,i=f-h,a=p+(r-h),u=c*s/n*t,d=l*s/n*t;e.projectionMatrix.makePerspective(i,a,u,d,t,n),e.projectionMatrixInverse.copy(e.projectionMatrix).invert()}}function ne(e,t){t===null?e.matrixWorld.copy(e.matrix):e.matrixWorld.multiplyMatrices(t.matrixWorld,e.matrix),e.matrixWorldInverse.copy(e.matrixWorld).invert()}this.updateCamera=function(e){if(r===null)return;let t=e.near,n=e.far;m.texture!==null&&(m.depthNear>0&&(t=m.depthNear),m.depthFar>0&&(n=m.depthFar)),T.near=C.near=S.near=t,T.far=C.far=S.far=n,(E!==T.near||D!==T.far)&&(r.updateRenderState({depthNear:T.near,depthFar:T.far}),E=T.near,D=T.far);let i=e.parent,a=T.cameras;ne(T,i);for(let e=0;e<a.length;e++)ne(a[e],i);a.length===2?te(T,S,C):T.projectionMatrix.copy(S.projectionMatrix),re(e,T,i)};function re(e,t,n){n===null?e.matrix.copy(t.matrixWorld):(e.matrix.copy(n.matrixWorld),e.matrix.invert(),e.matrix.multiply(t.matrixWorld)),e.matrix.decompose(e.position,e.quaternion,e.scale),e.updateMatrixWorld(!0),e.projectionMatrix.copy(t.projectionMatrix),e.projectionMatrixInverse.copy(t.projectionMatrixInverse),e.isPerspectiveCamera&&(e.fov=Ha*2*Math.atan(1/e.projectionMatrix.elements[5]),e.zoom=1)}this.getCamera=function(){return T},this.getFoveation=function(){if(d!==null||f!==null)return s},this.setFoveation=function(e){s=e,d!==null&&(d.fixedFoveation=e),f!==null&&f.fixedFoveation!==void 0&&(f.fixedFoveation=e)},this.hasDepthSensing=function(){return m.texture!==null},this.getDepthSensingMesh=function(){return m.getMesh(T)};let ie=null;function ae(t,i){if(l=i.getViewerPose(c||a),p=i,l!==null){let t=l.views;f!==null&&(e.setRenderTargetFramebuffer(_,f.framebuffer),e.setRenderTarget(_));let n=!1;t.length!==T.cameras.length&&(T.cameras.length=0,n=!0);for(let r=0;r<t.length;r++){let i=t[r],a=null;if(f!==null)a=f.getViewport(i);else{let t=u.getViewSubImage(d,i);a=t.viewport,r===0&&(e.setRenderTargetTextures(_,t.colorTexture,d.ignoreDepthValues?void 0:t.depthStencilTexture),e.setRenderTarget(_))}let o=w[r];o===void 0&&(o=new xc,o.layers.enable(r),o.viewport=new io,w[r]=o),o.matrix.fromArray(i.transform.matrix),o.matrix.decompose(o.position,o.quaternion,o.scale),o.projectionMatrix.fromArray(i.projectionMatrix),o.projectionMatrixInverse.copy(o.projectionMatrix).invert(),o.viewport.set(a.x,a.y,a.width,a.height),r===0&&(T.matrix.copy(o.matrix),T.matrix.decompose(T.position,T.quaternion,T.scale)),n===!0&&T.cameras.push(o)}let i=r.enabledFeatures;if(i&&i.includes(`depth-sensing`)){let n=u.getDepthInformation(t[0]);n&&n.isValid&&n.texture&&m.init(e,n,r.renderState)}}for(let e=0;e<v.length;e++){let t=y[e],n=v[e];t!==null&&n!==void 0&&n.update(t,i,c||a)}ie&&ie(t,i),i.detectedPlanes&&n.dispatchEvent({type:`planesdetected`,data:i}),p=null}let oe=new ge;oe.setAnimationLoop(ae),this.setAnimationLoop=function(e){ie=e},this.dispose=function(){}}},zl=new Xo,Bl=new U,Vl=class{constructor(e={}){let{canvas:t=j(),context:n=null,depth:r=!0,stencil:i=!1,alpha:a=!1,antialias:o=!1,premultipliedAlpha:s=!0,preserveDrawingBuffer:c=!1,powerPreference:l=`default`,failIfMajorPerformanceCaveat:u=!1}=e;this.isWebGLRenderer=!0;let d;if(n!==null){if(typeof WebGLRenderingContext<`u`&&n instanceof WebGLRenderingContext)throw Error(`THREE.WebGLRenderer: WebGL 1 is not supported since r163.`);d=n.getContextAttributes().alpha}else d=a;let f=new Uint32Array(4),p=new Int32Array(4),m=null,h=null,g=[],_=[];this.domElement=t,this.debug={checkShaderErrors:!0,onShaderError:null},this.autoClear=!0,this.autoClearColor=!0,this.autoClearDepth=!0,this.autoClearStencil=!0,this.sortObjects=!0,this.clippingPlanes=[],this.localClippingEnabled=!1,this._outputColorSpace=fa,this.toneMapping=0,this.toneMappingExposure=1;let v=this,y=!1,b=0,x=0,S=null,C=-1,w=null,T=new io,E=new io,D=null,O=new W(0),k=0,A=t.width,ie=t.height,ae=1,oe=null,se=null,ce=new io(0,0,A,ie),le=new io(0,0,A,ie),M=!1,N=new Nc,ue=!1,de=!1,fe=new U,pe=new U,me=new H,he=new io,we={background:null,fog:null,environment:null,overrideMaterial:null,isScene:!0},Te=!1;function Ee(){return S===null?ae:1}let P=n;function De(e,n){return t.getContext(e,n)}try{let e={alpha:!0,depth:r,stencil:i,antialias:o,premultipliedAlpha:s,preserveDrawingBuffer:c,powerPreference:l,failIfMajorPerformanceCaveat:u};if(`setAttribute`in t&&t.setAttribute(`data-engine`,`three.js r169`),t.addEventListener(`webglcontextlost`,rt,!1),t.addEventListener(`webglcontextrestored`,it,!1),t.addEventListener(`webglcontextcreationerror`,at,!1),P===null){let t=`webgl2`;if(P=De(t,e),P===null)throw De(t)?Error(`Error creating WebGL context with your selected attributes.`):Error(`Error creating WebGL context.`)}}catch(e){throw console.error(`THREE.WebGLRenderer: `+e.message),e}let Oe,ke,F,I,L,R,Le,Re,ze,Be,Ve,He,Ue,We,Ge,Ke,qe,Je,Ye,Xe,Ze,Qe,$e,et;function tt(){Oe=new je(P),Oe.init(),Qe=new gn(P,Oe),ke=new xe(P,Oe,e,Qe),F=new ln(P),ke.reverseDepthBuffer&&F.buffers.depth.setReversed(!0),I=new Pe(P),L=new Xt,R=new hn(P,Oe,F,L,ke,Qe,I),Le=new Ce(v),Re=new Ae(v),ze=new _e(P),$e=new ye(P,ze),Be=new Me(P,ze,I,$e),Ve=new Ie(P,Be,ze,I),Ye=new Fe(P,ke,R),Ke=new Se(L),He=new Yt(v,Le,Re,Oe,ke,$e,Ke),Ue=new _n(v,L),We=new en,Ge=new sn(Oe),Je=new ve(v,Le,Re,F,Ve,d,s),qe=new cn(v,Ve,ke),et=new vn(P,I,ke,F),Xe=new be(P,Oe,I),Ze=new Ne(P,Oe,I),I.programs=He.programs,v.capabilities=ke,v.extensions=Oe,v.properties=L,v.renderLists=We,v.shadowMap=qe,v.state=F,v.info=I}tt();let nt=new Rl(v,P);this.xr=nt,this.getContext=function(){return P},this.getContextAttributes=function(){return P.getContextAttributes()},this.forceContextLoss=function(){let e=Oe.get(`WEBGL_lose_context`);e&&e.loseContext()},this.forceContextRestore=function(){let e=Oe.get(`WEBGL_lose_context`);e&&e.restoreContext()},this.getPixelRatio=function(){return ae},this.setPixelRatio=function(e){e!==void 0&&(ae=e,this.setSize(A,ie,!1))},this.getSize=function(e){return e.set(A,ie)},this.setSize=function(e,n,r=!0){nt.isPresenting?console.warn(`THREE.WebGLRenderer: Can't change size while VR device is presenting.`):(A=e,ie=n,t.width=Math.floor(e*ae),t.height=Math.floor(n*ae),r===!0&&(t.style.width=e+`px`,t.style.height=n+`px`),this.setViewport(0,0,e,n))},this.getDrawingBufferSize=function(e){return e.set(A*ae,ie*ae).floor()},this.setDrawingBufferSize=function(e,n,r){A=e,ie=n,ae=r,t.width=Math.floor(e*r),t.height=Math.floor(n*r),this.setViewport(0,0,e,n)},this.getCurrentViewport=function(e){return e.copy(T)},this.getViewport=function(e){return e.copy(ce)},this.setViewport=function(e,t,n,r){e.isVector4?ce.set(e.x,e.y,e.z,e.w):ce.set(e,t,n,r),F.viewport(T.copy(ce).multiplyScalar(ae).round())},this.getScissor=function(e){return e.copy(le)},this.setScissor=function(e,t,n,r){e.isVector4?le.set(e.x,e.y,e.z,e.w):le.set(e,t,n,r),F.scissor(E.copy(le).multiplyScalar(ae).round())},this.getScissorTest=function(){return M},this.setScissorTest=function(e){F.setScissorTest(M=e)},this.setOpaqueSort=function(e){oe=e},this.setTransparentSort=function(e){se=e},this.getClearColor=function(e){return e.copy(Je.getClearColor())},this.setClearColor=function(){Je.setClearColor.apply(Je,arguments)},this.getClearAlpha=function(){return Je.getClearAlpha()},this.setClearAlpha=function(){Je.setClearAlpha.apply(Je,arguments)},this.clear=function(e=!0,t=!0,n=!0){let r=0;if(e){let e=!1;if(S!==null){let t=S.texture.format;e=t===1033||t===1031||t===1029}if(e){let e=S.texture.type,t=e===1009||e===1014||e===1012||e===1020||e===1017||e===1018,n=Je.getClearColor(),r=Je.getClearAlpha(),i=n.r,a=n.g,o=n.b;t?(f[0]=i,f[1]=a,f[2]=o,f[3]=r,P.clearBufferuiv(P.COLOR,0,f)):(p[0]=i,p[1]=a,p[2]=o,p[3]=r,P.clearBufferiv(P.COLOR,0,p))}else r|=P.COLOR_BUFFER_BIT}t&&(r|=P.DEPTH_BUFFER_BIT,P.clearDepth(+!this.capabilities.reverseDepthBuffer)),n&&(r|=P.STENCIL_BUFFER_BIT,this.state.buffers.stencil.setMask(4294967295)),P.clear(r)},this.clearColor=function(){this.clear(!0,!1,!1)},this.clearDepth=function(){this.clear(!1,!0,!1)},this.clearStencil=function(){this.clear(!1,!1,!0)},this.dispose=function(){t.removeEventListener(`webglcontextlost`,rt,!1),t.removeEventListener(`webglcontextrestored`,it,!1),t.removeEventListener(`webglcontextcreationerror`,at,!1),We.dispose(),Ge.dispose(),L.dispose(),Le.dispose(),Re.dispose(),Ve.dispose(),$e.dispose(),et.dispose(),He.dispose(),nt.dispose(),nt.removeEventListener(`sessionstart`,ft),nt.removeEventListener(`sessionend`,pt),mt.stop()};function rt(e){e.preventDefault(),console.log(`THREE.WebGLRenderer: Context Lost.`),y=!0}function it(){console.log(`THREE.WebGLRenderer: Context Restored.`),y=!1;let e=I.autoReset,t=qe.enabled,n=qe.autoUpdate,r=qe.needsUpdate,i=qe.type;tt(),I.autoReset=e,qe.enabled=t,qe.autoUpdate=n,qe.needsUpdate=r,qe.type=i}function at(e){console.error(`THREE.WebGLRenderer: A WebGL context could not be created. Reason: `,e.statusMessage)}function ot(e){let t=e.target;t.removeEventListener(`dispose`,ot),st(t)}function st(e){ct(e),L.remove(e)}function ct(e){let t=L.get(e).programs;t!==void 0&&(t.forEach(function(e){He.releaseProgram(e)}),e.isShaderMaterial&&He.releaseShaderCache(e))}this.renderBufferDirect=function(e,t,n,r,i,a){t===null&&(t=we);let o=i.isMesh&&i.matrixWorld.determinant()<0,s=Ct(e,t,n,r,i);F.setMaterial(r,o);let c=n.index,l=1;if(r.wireframe===!0){if(c=Be.getWireframeAttribute(n),c===void 0)return;l=2}let u=n.drawRange,d=n.attributes.position,f=u.start*l,p=(u.start+u.count)*l;a!==null&&(f=Math.max(f,a.start*l),p=Math.min(p,(a.start+a.count)*l)),c===null?d!=null&&(f=Math.max(f,0),p=Math.min(p,d.count)):(f=Math.max(f,0),p=Math.min(p,c.count));let m=p-f;if(m<0||m===1/0)return;$e.setup(i,r,s,n,c);let h,g=Xe;if(c!==null&&(h=ze.get(c),g=Ze,g.setIndex(h)),i.isMesh)r.wireframe===!0?(F.setLineWidth(r.wireframeLinewidth*Ee()),g.setMode(P.LINES)):g.setMode(P.TRIANGLES);else if(i.isLine){let e=r.linewidth;e===void 0&&(e=1),F.setLineWidth(e*Ee()),i.isLineSegments?g.setMode(P.LINES):i.isLineLoop?g.setMode(P.LINE_LOOP):g.setMode(P.LINE_STRIP)}else i.isPoints?g.setMode(P.POINTS):i.isSprite&&g.setMode(P.TRIANGLES);if(i.isBatchedMesh){if(i._multiDrawInstances!==null)g.renderMultiDrawInstances(i._multiDrawStarts,i._multiDrawCounts,i._multiDrawCount,i._multiDrawInstances);else if(Oe.get(`WEBGL_multi_draw`))g.renderMultiDraw(i._multiDrawStarts,i._multiDrawCounts,i._multiDrawCount);else{let e=i._multiDrawStarts,t=i._multiDrawCounts,n=i._multiDrawCount,a=c?ze.get(c).bytesPerElement:1,o=L.get(r).currentProgram.getUniforms();for(let r=0;r<n;r++)o.setValue(P,`_gl_DrawID`,r),g.render(e[r]/a,t[r])}}else if(i.isInstancedMesh)g.renderInstances(f,m,i.count);else if(n.isInstancedBufferGeometry){let e=n._maxInstanceCount===void 0?1/0:n._maxInstanceCount,t=Math.min(n.instanceCount,e);g.renderInstances(f,m,t)}else g.render(f,m)};function lt(e,t,n){e.transparent===!0&&e.side===2&&e.forceSinglePass===!1?(e.side=1,e.needsUpdate=!0,bt(e,t,n),e.side=0,e.needsUpdate=!0,bt(e,t,n),e.side=2):bt(e,t,n)}this.compile=function(e,t,n=null){n===null&&(n=e),h=Ge.get(n),h.init(t),_.push(h),n.traverseVisible(function(e){e.isLight&&e.layers.test(t.layers)&&(h.pushLight(e),e.castShadow&&h.pushShadow(e))}),e!==n&&e.traverseVisible(function(e){e.isLight&&e.layers.test(t.layers)&&(h.pushLight(e),e.castShadow&&h.pushShadow(e))}),h.setupLights();let r=new Set;return e.traverse(function(e){if(!(e.isMesh||e.isPoints||e.isLine||e.isSprite))return;let t=e.material;if(t){if(Array.isArray(t))for(let i=0;i<t.length;i++){let a=t[i];lt(a,n,e),r.add(a)}else lt(t,n,e),r.add(t)}}),_.pop(),h=null,r},this.compileAsync=function(e,t,n=null){let r=this.compile(e,t,n);return new Promise(t=>{function n(){r.forEach(function(e){L.get(e).currentProgram.isReady()&&r.delete(e)}),r.size===0?t(e):setTimeout(n,10)}Oe.get(`KHR_parallel_shader_compile`)===null?setTimeout(n,10):n()})};let ut=null;function dt(e){ut&&ut(e)}function ft(){mt.stop()}function pt(){mt.start()}let mt=new ge;mt.setAnimationLoop(dt),typeof self<`u`&&mt.setContext(self),this.setAnimationLoop=function(e){ut=e,nt.setAnimationLoop(e),e===null?mt.stop():mt.start()},nt.addEventListener(`sessionstart`,ft),nt.addEventListener(`sessionend`,pt),this.render=function(e,t){if(t!==void 0&&t.isCamera!==!0){console.error(`THREE.WebGLRenderer.render: camera is not an instance of THREE.Camera.`);return}if(y===!0)return;if(e.matrixWorldAutoUpdate===!0&&e.updateMatrixWorld(),t.parent===null&&t.matrixWorldAutoUpdate===!0&&t.updateMatrixWorld(),nt.enabled===!0&&nt.isPresenting===!0&&(nt.cameraAutoUpdate===!0&&nt.updateCamera(t),t=nt.getCamera()),e.isScene===!0&&e.onBeforeRender(v,e,t,S),h=Ge.get(e,_.length),h.init(t),_.push(h),pe.multiplyMatrices(t.projectionMatrix,t.matrixWorldInverse),N.setFromProjectionMatrix(pe),de=this.localClippingEnabled,ue=Ke.init(this.clippingPlanes,de),m=We.get(e,g.length),m.init(),g.push(m),nt.enabled===!0&&nt.isPresenting===!0){let e=v.xr.getDepthSensingMesh();e!==null&&ht(e,t,-1/0,v.sortObjects)}ht(e,t,0,v.sortObjects),m.finish(),v.sortObjects===!0&&m.sort(oe,se),Te=nt.enabled===!1||nt.isPresenting===!1||nt.hasDepthSensing()===!1,Te&&Je.addToRenderList(m,e),this.info.render.frame++,ue===!0&&Ke.beginShadows();let n=h.state.shadowsArray;qe.render(n,e,t),ue===!0&&Ke.endShadows(),this.info.autoReset===!0&&this.info.reset();let r=m.opaque,i=m.transmissive;if(h.setupLights(),t.isArrayCamera){let n=t.cameras;if(i.length>0)for(let t=0,a=n.length;t<a;t++){let a=n[t];_t(r,i,e,a)}Te&&Je.render(e);for(let t=0,r=n.length;t<r;t++){let r=n[t];gt(m,e,r,r.viewport)}}else i.length>0&&_t(r,i,e,t),Te&&Je.render(e),gt(m,e,t);S!==null&&(R.updateMultisampleRenderTarget(S),R.updateRenderTargetMipmap(S)),e.isScene===!0&&e.onAfterRender(v,e,t),$e.resetDefaultState(),C=-1,w=null,_.pop(),_.length>0?(h=_[_.length-1],ue===!0&&Ke.setGlobalState(v.clippingPlanes,h.state.camera)):h=null,g.pop(),m=g.length>0?g[g.length-1]:null};function ht(e,t,n,r){if(e.visible===!1)return;if(e.layers.test(t.layers)){if(e.isGroup)n=e.renderOrder;else if(e.isLOD)e.autoUpdate===!0&&e.update(t);else if(e.isLight)h.pushLight(e),e.castShadow&&h.pushShadow(e);else if(e.isSprite){if(!e.frustumCulled||N.intersectsSprite(e)){r&&he.setFromMatrixPosition(e.matrixWorld).applyMatrix4(pe);let t=Ve.update(e),i=e.material;i.visible&&m.push(e,t,i,n,he.z,null)}}else if((e.isMesh||e.isLine||e.isPoints)&&(!e.frustumCulled||N.intersectsObject(e))){let t=Ve.update(e),i=e.material;if(r&&(e.boundingSphere===void 0?(t.boundingSphere===null&&t.computeBoundingSphere(),he.copy(t.boundingSphere.center)):(e.boundingSphere===null&&e.computeBoundingSphere(),he.copy(e.boundingSphere.center)),he.applyMatrix4(e.matrixWorld).applyMatrix4(pe)),Array.isArray(i)){let r=t.groups;for(let a=0,o=r.length;a<o;a++){let o=r[a],s=i[o.materialIndex];s&&s.visible&&m.push(e,t,s,n,he.z,o)}}else i.visible&&m.push(e,t,i,n,he.z,null)}}let i=e.children;for(let e=0,a=i.length;e<a;e++)ht(i[e],t,n,r)}function gt(e,t,n,r){let i=e.opaque,a=e.transmissive,o=e.transparent;h.setupLightsView(n),ue===!0&&Ke.setGlobalState(v.clippingPlanes,n),r&&F.viewport(T.copy(r)),i.length>0&&vt(i,t,n),a.length>0&&vt(a,t,n),o.length>0&&vt(o,t,n),F.buffers.depth.setTest(!0),F.buffers.depth.setMask(!0),F.buffers.color.setMask(!0),F.setPolygonOffset(!1)}function _t(e,t,n,r){if((n.isScene===!0?n.overrideMaterial:null)!==null)return;h.state.transmissionRenderTarget[r.id]===void 0&&(h.state.transmissionRenderTarget[r.id]=new oo(1,1,{generateMipmaps:!0,type:Oe.has(`EXT_color_buffer_half_float`)||Oe.has(`EXT_color_buffer_float`)?ti:Jr,minFilter:Kr,samples:4,stencilBuffer:i,resolveDepthBuffer:!1,resolveStencilBuffer:!1,colorSpace:Za.workingColorSpace}));let a=h.state.transmissionRenderTarget[r.id],o=r.viewport||T;a.setSize(o.z,o.w);let s=v.getRenderTarget();v.setRenderTarget(a),v.getClearColor(O),k=v.getClearAlpha(),k<1&&v.setClearColor(16777215,.5),v.clear(),Te&&Je.render(n);let c=v.toneMapping;v.toneMapping=0;let l=r.viewport;if(r.viewport!==void 0&&(r.viewport=void 0),h.setupLightsView(r),ue===!0&&Ke.setGlobalState(v.clippingPlanes,r),vt(e,n,r),R.updateMultisampleRenderTarget(a),R.updateRenderTargetMipmap(a),Oe.has(`WEBGL_multisampled_render_to_texture`)===!1){let e=!1;for(let i=0,a=t.length;i<a;i++){let a=t[i],o=a.object,s=a.geometry,c=a.material,l=a.group;if(c.side===2&&o.layers.test(r.layers)){let t=c.side;c.side=1,c.needsUpdate=!0,yt(o,n,r,s,c,l),c.side=t,c.needsUpdate=!0,e=!0}}e===!0&&(R.updateMultisampleRenderTarget(a),R.updateRenderTargetMipmap(a))}v.setRenderTarget(s),v.setClearColor(O,k),l!==void 0&&(r.viewport=l),v.toneMapping=c}function vt(e,t,n){let r=t.isScene===!0?t.overrideMaterial:null;for(let i=0,a=e.length;i<a;i++){let a=e[i],o=a.object,s=a.geometry,c=r===null?a.material:r,l=a.group;o.layers.test(n.layers)&&yt(o,t,n,s,c,l)}}function yt(e,t,n,r,i,a){e.onBeforeRender(v,t,n,r,i,a),e.modelViewMatrix.multiplyMatrices(n.matrixWorldInverse,e.matrixWorld),e.normalMatrix.getNormalMatrix(e.modelViewMatrix),i.onBeforeRender(v,t,n,r,e,a),i.transparent===!0&&i.side===2&&i.forceSinglePass===!1?(i.side=1,i.needsUpdate=!0,v.renderBufferDirect(n,t,r,i,e,a),i.side=0,i.needsUpdate=!0,v.renderBufferDirect(n,t,r,i,e,a),i.side=2):v.renderBufferDirect(n,t,r,i,e,a),e.onAfterRender(v,t,n,r,i,a)}function bt(e,t,n){t.isScene!==!0&&(t=we);let r=L.get(e),i=h.state.lights,a=h.state.shadowsArray,o=i.state.version,s=He.getParameters(e,i.state,a,t,n),c=He.getProgramCacheKey(s),l=r.programs;r.environment=e.isMeshStandardMaterial?t.environment:null,r.fog=t.fog,r.envMap=(e.isMeshStandardMaterial?Re:Le).get(e.envMap||r.environment),r.envMapRotation=r.environment!==null&&e.envMap===null?t.environmentRotation:e.envMapRotation,l===void 0&&(e.addEventListener(`dispose`,ot),l=new Map,r.programs=l);let u=l.get(c);if(u!==void 0){if(r.currentProgram===u&&r.lightsStateVersion===o)return St(e,s),u}else s.uniforms=He.getUniforms(e),e.onBeforeCompile(s,v),u=He.acquireProgram(s,c),l.set(c,u),r.uniforms=s.uniforms;let d=r.uniforms;return(!e.isShaderMaterial&&!e.isRawShaderMaterial||e.clipping===!0)&&(d.clippingPlanes=Ke.uniform),St(e,s),r.needsLights=Tt(e),r.lightsStateVersion=o,r.needsLights&&(d.ambientLightColor.value=i.state.ambient,d.lightProbe.value=i.state.probe,d.directionalLights.value=i.state.directional,d.directionalLightShadows.value=i.state.directionalShadow,d.spotLights.value=i.state.spot,d.spotLightShadows.value=i.state.spotShadow,d.rectAreaLights.value=i.state.rectArea,d.ltc_1.value=i.state.rectAreaLTC1,d.ltc_2.value=i.state.rectAreaLTC2,d.pointLights.value=i.state.point,d.pointLightShadows.value=i.state.pointShadow,d.hemisphereLights.value=i.state.hemi,d.directionalShadowMap.value=i.state.directionalShadowMap,d.directionalShadowMatrix.value=i.state.directionalShadowMatrix,d.spotShadowMap.value=i.state.spotShadowMap,d.spotLightMatrix.value=i.state.spotLightMatrix,d.spotLightMap.value=i.state.spotLightMap,d.pointShadowMap.value=i.state.pointShadowMap,d.pointShadowMatrix.value=i.state.pointShadowMatrix),r.currentProgram=u,r.uniformsList=null,u}function xt(e){if(e.uniformsList===null){let t=e.currentProgram.getUniforms();e.uniformsList=ml.seqWithValue(t.seq,e.uniforms)}return e.uniformsList}function St(e,t){let n=L.get(e);n.outputColorSpace=t.outputColorSpace,n.batching=t.batching,n.batchingColor=t.batchingColor,n.instancing=t.instancing,n.instancingColor=t.instancingColor,n.instancingMorph=t.instancingMorph,n.skinning=t.skinning,n.morphTargets=t.morphTargets,n.morphNormals=t.morphNormals,n.morphColors=t.morphColors,n.morphTargetsCount=t.morphTargetsCount,n.numClippingPlanes=t.numClippingPlanes,n.numIntersection=t.numClipIntersection,n.vertexAlphas=t.vertexAlphas,n.vertexTangents=t.vertexTangents,n.toneMapping=t.toneMapping}function Ct(e,t,n,r,i){t.isScene!==!0&&(t=we),R.resetTextureUnits();let a=t.fog,o=r.isMeshStandardMaterial?t.environment:null,s=S===null?v.outputColorSpace:S.isXRRenderTarget===!0?S.texture.colorSpace:pa,c=(r.isMeshStandardMaterial?Re:Le).get(r.envMap||o),l=r.vertexColors===!0&&!!n.attributes.color&&n.attributes.color.itemSize===4,u=!!n.attributes.tangent&&(!!r.normalMap||r.anisotropy>0),d=!!n.morphAttributes.position,f=!!n.morphAttributes.normal,p=!!n.morphAttributes.color,m=0;r.toneMapped&&(S===null||S.isXRRenderTarget===!0)&&(m=v.toneMapping);let g=n.morphAttributes.position||n.morphAttributes.normal||n.morphAttributes.color,_=g===void 0?0:g.length,y=L.get(r),b=h.state.lights;if(ue===!0&&(de===!0||e!==w)){let t=e===w&&r.id===C;Ke.setState(r,e,t)}let x=!1;r.version===y.__version?y.needsLights&&y.lightsStateVersion!==b.state.version?x=!0:y.outputColorSpace===s?i.isBatchedMesh&&y.batching===!1||!i.isBatchedMesh&&y.batching===!0||i.isBatchedMesh&&y.batchingColor===!0&&i.colorTexture===null||i.isBatchedMesh&&y.batchingColor===!1&&i.colorTexture!==null||i.isInstancedMesh&&y.instancing===!1||!i.isInstancedMesh&&y.instancing===!0||i.isSkinnedMesh&&y.skinning===!1||!i.isSkinnedMesh&&y.skinning===!0||i.isInstancedMesh&&y.instancingColor===!0&&i.instanceColor===null||i.isInstancedMesh&&y.instancingColor===!1&&i.instanceColor!==null||i.isInstancedMesh&&y.instancingMorph===!0&&i.morphTexture===null||i.isInstancedMesh&&y.instancingMorph===!1&&i.morphTexture!==null?x=!0:y.envMap===c?r.fog===!0&&y.fog!==a||y.numClippingPlanes!==void 0&&(y.numClippingPlanes!==Ke.numPlanes||y.numIntersection!==Ke.numIntersection)?x=!0:y.vertexAlphas===l&&y.vertexTangents===u&&y.morphTargets===d&&y.morphNormals===f&&y.morphColors===p&&y.toneMapping===m?y.morphTargetsCount!==_&&(x=!0):x=!0:x=!0:x=!0:(x=!0,y.__version=r.version);let T=y.currentProgram;x===!0&&(T=bt(r,t,i));let E=!1,D=!1,O=!1,k=T.getUniforms(),A=y.uniforms;if(F.useProgram(T.program)&&(E=!0,D=!0,O=!0),r.id!==C&&(C=r.id,D=!0),E||w!==e){ke.reverseDepthBuffer?(fe.copy(e.projectionMatrix),ne(fe),re(fe),k.setValue(P,`projectionMatrix`,fe)):k.setValue(P,`projectionMatrix`,e.projectionMatrix),k.setValue(P,`viewMatrix`,e.matrixWorldInverse);let t=k.map.cameraPosition;t!==void 0&&t.setValue(P,me.setFromMatrixPosition(e.matrixWorld)),ke.logarithmicDepthBuffer&&k.setValue(P,`logDepthBufFC`,2/(Math.log(e.far+1)/Math.LN2)),(r.isMeshPhongMaterial||r.isMeshToonMaterial||r.isMeshLambertMaterial||r.isMeshBasicMaterial||r.isMeshStandardMaterial||r.isShaderMaterial)&&k.setValue(P,`isOrthographic`,e.isOrthographicCamera===!0),w!==e&&(w=e,D=!0,O=!0)}if(i.isSkinnedMesh){k.setOptional(P,i,`bindMatrix`),k.setOptional(P,i,`bindMatrixInverse`);let e=i.skeleton;e&&(e.boneTexture===null&&e.computeBoneTexture(),k.setValue(P,`boneTexture`,e.boneTexture,R))}i.isBatchedMesh&&(k.setOptional(P,i,`batchingTexture`),k.setValue(P,`batchingTexture`,i._matricesTexture,R),k.setOptional(P,i,`batchingIdTexture`),k.setValue(P,`batchingIdTexture`,i._indirectTexture,R),k.setOptional(P,i,`batchingColorTexture`),i._colorsTexture!==null&&k.setValue(P,`batchingColorTexture`,i._colorsTexture,R));let j=n.morphAttributes;if((j.position!==void 0||j.normal!==void 0||j.color!==void 0)&&Ye.update(i,n,T),(D||y.receiveShadow!==i.receiveShadow)&&(y.receiveShadow=i.receiveShadow,k.setValue(P,`receiveShadow`,i.receiveShadow)),r.isMeshGouraudMaterial&&r.envMap!==null&&(A.envMap.value=c,A.flipEnvMap.value=c.isCubeTexture&&c.isRenderTargetTexture===!1?-1:1),r.isMeshStandardMaterial&&r.envMap===null&&t.environment!==null&&(A.envMapIntensity.value=t.environmentIntensity),D&&(k.setValue(P,`toneMappingExposure`,v.toneMappingExposure),y.needsLights&&wt(A,O),a&&r.fog===!0&&Ue.refreshFogUniforms(A,a),Ue.refreshMaterialUniforms(A,r,ae,ie,h.state.transmissionRenderTarget[e.id]),ml.upload(P,xt(y),A,R)),r.isShaderMaterial&&r.uniformsNeedUpdate===!0&&(ml.upload(P,xt(y),A,R),r.uniformsNeedUpdate=!1),r.isSpriteMaterial&&k.setValue(P,`center`,i.center),k.setValue(P,`modelViewMatrix`,i.modelViewMatrix),k.setValue(P,`normalMatrix`,i.normalMatrix),k.setValue(P,`modelMatrix`,i.matrixWorld),r.isShaderMaterial||r.isRawShaderMaterial){let e=r.uniformsGroups;for(let t=0,n=e.length;t<n;t++){let n=e[t];et.update(n,T),et.bind(n,T)}}return T}function wt(e,t){e.ambientLightColor.needsUpdate=t,e.lightProbe.needsUpdate=t,e.directionalLights.needsUpdate=t,e.directionalLightShadows.needsUpdate=t,e.pointLights.needsUpdate=t,e.pointLightShadows.needsUpdate=t,e.spotLights.needsUpdate=t,e.spotLightShadows.needsUpdate=t,e.rectAreaLights.needsUpdate=t,e.hemisphereLights.needsUpdate=t}function Tt(e){return e.isMeshLambertMaterial||e.isMeshToonMaterial||e.isMeshPhongMaterial||e.isMeshStandardMaterial||e.isShadowMaterial||e.isShaderMaterial&&e.lights===!0}this.getActiveCubeFace=function(){return b},this.getActiveMipmapLevel=function(){return x},this.getRenderTarget=function(){return S},this.setRenderTargetTextures=function(e,t,n){L.get(e.texture).__webglTexture=t,L.get(e.depthTexture).__webglTexture=n;let r=L.get(e);r.__hasExternalTextures=!0,r.__autoAllocateDepthBuffer=n===void 0,r.__autoAllocateDepthBuffer||Oe.has(`WEBGL_multisampled_render_to_texture`)===!0&&(console.warn(`THREE.WebGLRenderer: Render-to-texture extension was disabled because an external texture was provided`),r.__useRenderToTexture=!1)},this.setRenderTargetFramebuffer=function(e,t){let n=L.get(e);n.__webglFramebuffer=t,n.__useDefaultFramebuffer=t===void 0},this.setRenderTarget=function(e,t=0,n=0){S=e,b=t,x=n;let r=!0,i=null,a=!1,o=!1;if(e){let s=L.get(e);if(s.__useDefaultFramebuffer!==void 0)F.bindFramebuffer(P.FRAMEBUFFER,null),r=!1;else if(s.__webglFramebuffer===void 0)R.setupRenderTarget(e);else if(s.__hasExternalTextures)R.rebindTextures(e,L.get(e.texture).__webglTexture,L.get(e.depthTexture).__webglTexture);else if(e.depthBuffer){let t=e.depthTexture;if(s.__boundDepthTexture!==t){if(t!==null&&L.has(t)&&(e.width!==t.image.width||e.height!==t.image.height))throw Error(`WebGLRenderTarget: Attached DepthTexture is initialized to the incorrect size.`);R.setupDepthRenderbuffer(e)}}let c=e.texture;(c.isData3DTexture||c.isDataArrayTexture||c.isCompressedArrayTexture)&&(o=!0);let l=L.get(e).__webglFramebuffer;e.isWebGLCubeRenderTarget?(i=Array.isArray(l[t])?l[t][n]:l[t],a=!0):i=e.samples>0&&R.useMultisampledRTT(e)===!1?L.get(e).__webglMultisampledFramebuffer:Array.isArray(l)?l[n]:l,T.copy(e.viewport),E.copy(e.scissor),D=e.scissorTest}else T.copy(ce).multiplyScalar(ae).floor(),E.copy(le).multiplyScalar(ae).floor(),D=M;if(F.bindFramebuffer(P.FRAMEBUFFER,i)&&r&&F.drawBuffers(e,i),F.viewport(T),F.scissor(E),F.setScissorTest(D),a){let r=L.get(e.texture);P.framebufferTexture2D(P.FRAMEBUFFER,P.COLOR_ATTACHMENT0,P.TEXTURE_CUBE_MAP_POSITIVE_X+t,r.__webglTexture,n)}else if(o){let r=L.get(e.texture),i=t||0;P.framebufferTextureLayer(P.FRAMEBUFFER,P.COLOR_ATTACHMENT0,r.__webglTexture,n||0,i)}C=-1},this.readRenderTargetPixels=function(e,t,n,r,i,a,o){if(!(e&&e.isWebGLRenderTarget)){console.error(`THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not THREE.WebGLRenderTarget.`);return}let s=L.get(e).__webglFramebuffer;if(e.isWebGLCubeRenderTarget&&o!==void 0&&(s=s[o]),s){F.bindFramebuffer(P.FRAMEBUFFER,s);try{let o=e.texture,s=o.format,c=o.type;if(!ke.textureFormatReadable(s)){console.error(`THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in RGBA or implementation defined format.`);return}if(!ke.textureTypeReadable(c)){console.error(`THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in UnsignedByteType or implementation defined type.`);return}t>=0&&t<=e.width-r&&n>=0&&n<=e.height-i&&P.readPixels(t,n,r,i,Qe.convert(s),Qe.convert(c),a)}finally{let e=S===null?null:L.get(S).__webglFramebuffer;F.bindFramebuffer(P.FRAMEBUFFER,e)}}},this.readRenderTargetPixelsAsync=async function(e,t,n,r,i,a,o){if(!(e&&e.isWebGLRenderTarget))throw Error(`THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not THREE.WebGLRenderTarget.`);let s=L.get(e).__webglFramebuffer;if(e.isWebGLCubeRenderTarget&&o!==void 0&&(s=s[o]),s){let o=e.texture,c=o.format,l=o.type;if(!ke.textureFormatReadable(c))throw Error(`THREE.WebGLRenderer.readRenderTargetPixelsAsync: renderTarget is not in RGBA or implementation defined format.`);if(!ke.textureTypeReadable(l))throw Error(`THREE.WebGLRenderer.readRenderTargetPixelsAsync: renderTarget is not in UnsignedByteType or implementation defined type.`);if(t>=0&&t<=e.width-r&&n>=0&&n<=e.height-i){F.bindFramebuffer(P.FRAMEBUFFER,s);let e=P.createBuffer();P.bindBuffer(P.PIXEL_PACK_BUFFER,e),P.bufferData(P.PIXEL_PACK_BUFFER,a.byteLength,P.STREAM_READ),P.readPixels(t,n,r,i,Qe.convert(c),Qe.convert(l),0);let o=S===null?null:L.get(S).__webglFramebuffer;F.bindFramebuffer(P.FRAMEBUFFER,o);let u=P.fenceSync(P.SYNC_GPU_COMMANDS_COMPLETE,0);return P.flush(),await te(P,u,4),P.bindBuffer(P.PIXEL_PACK_BUFFER,e),P.getBufferSubData(P.PIXEL_PACK_BUFFER,0,a),P.deleteBuffer(e),P.deleteSync(u),a}throw Error(`THREE.WebGLRenderer.readRenderTargetPixelsAsync: requested read bounds are out of range.`)}},this.copyFramebufferToTexture=function(e,t=null,n=0){e.isTexture!==!0&&(ee(`WebGLRenderer: copyFramebufferToTexture function signature has changed.`),t=arguments[0]||null,e=arguments[1]);let r=2**-n,i=Math.floor(e.image.width*r),a=Math.floor(e.image.height*r),o=t===null?0:t.x,s=t===null?0:t.y;R.setTexture2D(e,0),P.copyTexSubImage2D(P.TEXTURE_2D,n,0,0,o,s,i,a),F.unbindTexture()},this.copyTextureToTexture=function(e,t,n=null,r=null,i=0){e.isTexture!==!0&&(ee(`WebGLRenderer: copyTextureToTexture function signature has changed.`),r=arguments[0]||null,e=arguments[1],t=arguments[2],i=arguments[3]||0,n=null);let a,o,s,c,l,u;n===null?(a=e.image.width,o=e.image.height,s=0,c=0):(a=n.max.x-n.min.x,o=n.max.y-n.min.y,s=n.min.x,c=n.min.y),r===null?(l=0,u=0):(l=r.x,u=r.y);let d=Qe.convert(t.format),f=Qe.convert(t.type);R.setTexture2D(t,0),P.pixelStorei(P.UNPACK_FLIP_Y_WEBGL,t.flipY),P.pixelStorei(P.UNPACK_PREMULTIPLY_ALPHA_WEBGL,t.premultiplyAlpha),P.pixelStorei(P.UNPACK_ALIGNMENT,t.unpackAlignment);let p=P.getParameter(P.UNPACK_ROW_LENGTH),m=P.getParameter(P.UNPACK_IMAGE_HEIGHT),h=P.getParameter(P.UNPACK_SKIP_PIXELS),g=P.getParameter(P.UNPACK_SKIP_ROWS),_=P.getParameter(P.UNPACK_SKIP_IMAGES),v=e.isCompressedTexture?e.mipmaps[i]:e.image;P.pixelStorei(P.UNPACK_ROW_LENGTH,v.width),P.pixelStorei(P.UNPACK_IMAGE_HEIGHT,v.height),P.pixelStorei(P.UNPACK_SKIP_PIXELS,s),P.pixelStorei(P.UNPACK_SKIP_ROWS,c),e.isDataTexture?P.texSubImage2D(P.TEXTURE_2D,i,l,u,a,o,d,f,v.data):e.isCompressedTexture?P.compressedTexSubImage2D(P.TEXTURE_2D,i,l,u,v.width,v.height,d,v.data):P.texSubImage2D(P.TEXTURE_2D,i,l,u,a,o,d,f,v),P.pixelStorei(P.UNPACK_ROW_LENGTH,p),P.pixelStorei(P.UNPACK_IMAGE_HEIGHT,m),P.pixelStorei(P.UNPACK_SKIP_PIXELS,h),P.pixelStorei(P.UNPACK_SKIP_ROWS,g),P.pixelStorei(P.UNPACK_SKIP_IMAGES,_),i===0&&t.generateMipmaps&&P.generateMipmap(P.TEXTURE_2D),F.unbindTexture()},this.copyTextureToTexture3D=function(e,t,n=null,r=null,i=0){e.isTexture!==!0&&(ee(`WebGLRenderer: copyTextureToTexture3D function signature has changed.`),n=arguments[0]||null,r=arguments[1]||null,e=arguments[2],t=arguments[3],i=arguments[4]||0);let a,o,s,c,l,u,d,f,p,m=e.isCompressedTexture?e.mipmaps[i]:e.image;n===null?(a=m.width,o=m.height,s=m.depth,c=0,l=0,u=0):(a=n.max.x-n.min.x,o=n.max.y-n.min.y,s=n.max.z-n.min.z,c=n.min.x,l=n.min.y,u=n.min.z),r===null?(d=0,f=0,p=0):(d=r.x,f=r.y,p=r.z);let h=Qe.convert(t.format),g=Qe.convert(t.type),_;if(t.isData3DTexture)R.setTexture3D(t,0),_=P.TEXTURE_3D;else if(t.isDataArrayTexture||t.isCompressedArrayTexture)R.setTexture2DArray(t,0),_=P.TEXTURE_2D_ARRAY;else{console.warn(`THREE.WebGLRenderer.copyTextureToTexture3D: only supports THREE.DataTexture3D and THREE.DataTexture2DArray.`);return}P.pixelStorei(P.UNPACK_FLIP_Y_WEBGL,t.flipY),P.pixelStorei(P.UNPACK_PREMULTIPLY_ALPHA_WEBGL,t.premultiplyAlpha),P.pixelStorei(P.UNPACK_ALIGNMENT,t.unpackAlignment);let v=P.getParameter(P.UNPACK_ROW_LENGTH),y=P.getParameter(P.UNPACK_IMAGE_HEIGHT),b=P.getParameter(P.UNPACK_SKIP_PIXELS),x=P.getParameter(P.UNPACK_SKIP_ROWS),S=P.getParameter(P.UNPACK_SKIP_IMAGES);P.pixelStorei(P.UNPACK_ROW_LENGTH,m.width),P.pixelStorei(P.UNPACK_IMAGE_HEIGHT,m.height),P.pixelStorei(P.UNPACK_SKIP_PIXELS,c),P.pixelStorei(P.UNPACK_SKIP_ROWS,l),P.pixelStorei(P.UNPACK_SKIP_IMAGES,u),e.isDataTexture||e.isData3DTexture?P.texSubImage3D(_,i,d,f,p,a,o,s,h,g,m.data):t.isCompressedArrayTexture?P.compressedTexSubImage3D(_,i,d,f,p,a,o,s,h,m.data):P.texSubImage3D(_,i,d,f,p,a,o,s,h,g,m),P.pixelStorei(P.UNPACK_ROW_LENGTH,v),P.pixelStorei(P.UNPACK_IMAGE_HEIGHT,y),P.pixelStorei(P.UNPACK_SKIP_PIXELS,b),P.pixelStorei(P.UNPACK_SKIP_ROWS,x),P.pixelStorei(P.UNPACK_SKIP_IMAGES,S),i===0&&t.generateMipmaps&&P.generateMipmap(_),F.unbindTexture()},this.initRenderTarget=function(e){L.get(e).__webglFramebuffer===void 0&&R.setupRenderTarget(e)},this.initTexture=function(e){e.isCubeTexture?R.setTextureCube(e,0):e.isData3DTexture?R.setTexture3D(e,0):e.isDataArrayTexture||e.isCompressedArrayTexture?R.setTexture2DArray(e,0):R.setTexture2D(e,0),F.unbindTexture()},this.resetState=function(){b=0,x=0,S=null,F.reset(),$e.reset()},typeof __THREE_DEVTOOLS__<`u`&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent(`observe`,{detail:this}))}get coordinateSystem(){return Ia}get outputColorSpace(){return this._outputColorSpace}set outputColorSpace(e){this._outputColorSpace=e;let t=this.getContext();t.drawingBufferColorSpace=e===`display-p3`?`display-p3`:`srgb`,t.unpackColorSpace=Za.workingColorSpace===`display-p3-linear`?`display-p3`:`srgb`}},Hl=class e{constructor(e,t=25e-5){this.isFogExp2=!0,this.name=``,this.color=new W(e),this.density=t}clone(){return new e(this.color,this.density)}toJSON(){return{type:`FogExp2`,name:this.name,color:this.color.getHex(),density:this.density}}},Ul=class e{constructor(e,t=1,n=1e3){this.isFog=!0,this.name=``,this.color=new W(e),this.near=t,this.far=n}clone(){return new e(this.color,this.near,this.far)}toJSON(){return{type:`Fog`,name:this.name,color:this.color.getHex(),near:this.near,far:this.far}}},Wl=class extends ps{constructor(){super(),this.isScene=!0,this.type=`Scene`,this.background=null,this.environment=null,this.fog=null,this.backgroundBlurriness=0,this.backgroundIntensity=1,this.backgroundRotation=new Xo,this.environmentIntensity=1,this.environmentRotation=new Xo,this.overrideMaterial=null,typeof __THREE_DEVTOOLS__<`u`&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent(`observe`,{detail:this}))}copy(e,t){return super.copy(e,t),e.background!==null&&(this.background=e.background.clone()),e.environment!==null&&(this.environment=e.environment.clone()),e.fog!==null&&(this.fog=e.fog.clone()),this.backgroundBlurriness=e.backgroundBlurriness,this.backgroundIntensity=e.backgroundIntensity,this.backgroundRotation.copy(e.backgroundRotation),this.environmentIntensity=e.environmentIntensity,this.environmentRotation.copy(e.environmentRotation),e.overrideMaterial!==null&&(this.overrideMaterial=e.overrideMaterial.clone()),this.matrixAutoUpdate=e.matrixAutoUpdate,this}toJSON(e){let t=super.toJSON(e);return this.fog!==null&&(t.object.fog=this.fog.toJSON()),this.backgroundBlurriness>0&&(t.object.backgroundBlurriness=this.backgroundBlurriness),this.backgroundIntensity!==1&&(t.object.backgroundIntensity=this.backgroundIntensity),t.object.backgroundRotation=this.backgroundRotation.toArray(),this.environmentIntensity!==1&&(t.object.environmentIntensity=this.environmentIntensity),t.object.environmentRotation=this.environmentRotation.toArray(),t}},Gl=class{constructor(e,t){this.isInterleavedBuffer=!0,this.array=e,this.stride=t,this.count=e===void 0?0:e.length/t,this.usage=Ea,this.updateRanges=[],this.version=0,this.uuid=o()}onUploadCallback(){}set needsUpdate(e){e===!0&&this.version++}setUsage(e){return this.usage=e,this}addUpdateRange(e,t){this.updateRanges.push({start:e,count:t})}clearUpdateRanges(){this.updateRanges.length=0}copy(e){return this.array=new e.array.constructor(e.array),this.count=e.count,this.stride=e.stride,this.usage=e.usage,this}copyAt(e,t,n){e*=this.stride,n*=t.stride;for(let r=0,i=this.stride;r<i;r++)this.array[e+r]=t.array[n+r];return this}set(e,t=0){return this.array.set(e,t),this}clone(e){e.arrayBuffers===void 0&&(e.arrayBuffers={}),this.array.buffer._uuid===void 0&&(this.array.buffer._uuid=o()),e.arrayBuffers[this.array.buffer._uuid]===void 0&&(e.arrayBuffers[this.array.buffer._uuid]=this.array.slice(0).buffer);let t=new this.array.constructor(e.arrayBuffers[this.array.buffer._uuid]),n=new this.constructor(t,this.stride);return n.setUsage(this.usage),n}onUpload(e){return this.onUploadCallback=e,this}toJSON(e){return e.arrayBuffers===void 0&&(e.arrayBuffers={}),this.array.buffer._uuid===void 0&&(this.array.buffer._uuid=o()),e.arrayBuffers[this.array.buffer._uuid]===void 0&&(e.arrayBuffers[this.array.buffer._uuid]=Array.from(new Uint32Array(this.array.buffer))),{uuid:this.uuid,buffer:this.array.buffer._uuid,type:this.array.constructor.name,stride:this.stride}}},Kl=new H,ql=class e{constructor(e,t,n,r=!1){this.isInterleavedBufferAttribute=!0,this.name=``,this.data=e,this.itemSize=t,this.offset=n,this.normalized=r}get count(){return this.data.count}get array(){return this.data.array}set needsUpdate(e){this.data.needsUpdate=e}applyMatrix4(e){for(let t=0,n=this.data.count;t<n;t++)Kl.fromBufferAttribute(this,t),Kl.applyMatrix4(e),this.setXYZ(t,Kl.x,Kl.y,Kl.z);return this}applyNormalMatrix(e){for(let t=0,n=this.count;t<n;t++)Kl.fromBufferAttribute(this,t),Kl.applyNormalMatrix(e),this.setXYZ(t,Kl.x,Kl.y,Kl.z);return this}transformDirection(e){for(let t=0,n=this.count;t<n;t++)Kl.fromBufferAttribute(this,t),Kl.transformDirection(e),this.setXYZ(t,Kl.x,Kl.y,Kl.z);return this}getComponent(e,t){let n=this.array[e*this.data.stride+this.offset+t];return this.normalized&&(n=E(n,this.array)),n}setComponent(e,t,n){return this.normalized&&(n=D(n,this.array)),this.data.array[e*this.data.stride+this.offset+t]=n,this}setX(e,t){return this.normalized&&(t=D(t,this.array)),this.data.array[e*this.data.stride+this.offset]=t,this}setY(e,t){return this.normalized&&(t=D(t,this.array)),this.data.array[e*this.data.stride+this.offset+1]=t,this}setZ(e,t){return this.normalized&&(t=D(t,this.array)),this.data.array[e*this.data.stride+this.offset+2]=t,this}setW(e,t){return this.normalized&&(t=D(t,this.array)),this.data.array[e*this.data.stride+this.offset+3]=t,this}getX(e){let t=this.data.array[e*this.data.stride+this.offset];return this.normalized&&(t=E(t,this.array)),t}getY(e){let t=this.data.array[e*this.data.stride+this.offset+1];return this.normalized&&(t=E(t,this.array)),t}getZ(e){let t=this.data.array[e*this.data.stride+this.offset+2];return this.normalized&&(t=E(t,this.array)),t}getW(e){let t=this.data.array[e*this.data.stride+this.offset+3];return this.normalized&&(t=E(t,this.array)),t}setXY(e,t,n){return e=e*this.data.stride+this.offset,this.normalized&&(t=D(t,this.array),n=D(n,this.array)),this.data.array[e+0]=t,this.data.array[e+1]=n,this}setXYZ(e,t,n,r){return e=e*this.data.stride+this.offset,this.normalized&&(t=D(t,this.array),n=D(n,this.array),r=D(r,this.array)),this.data.array[e+0]=t,this.data.array[e+1]=n,this.data.array[e+2]=r,this}setXYZW(e,t,n,r,i){return e=e*this.data.stride+this.offset,this.normalized&&(t=D(t,this.array),n=D(n,this.array),r=D(r,this.array),i=D(i,this.array)),this.data.array[e+0]=t,this.data.array[e+1]=n,this.data.array[e+2]=r,this.data.array[e+3]=i,this}clone(t){if(t===void 0){console.log(`THREE.InterleavedBufferAttribute.clone(): Cloning an interleaved buffer attribute will de-interleave buffer data.`);let e=[];for(let t=0;t<this.count;t++){let n=t*this.data.stride+this.offset;for(let t=0;t<this.itemSize;t++)e.push(this.data.array[n+t])}return new G(new this.array.constructor(e),this.itemSize,this.normalized)}return t.interleavedBuffers===void 0&&(t.interleavedBuffers={}),t.interleavedBuffers[this.data.uuid]===void 0&&(t.interleavedBuffers[this.data.uuid]=this.data.clone(t)),new e(t.interleavedBuffers[this.data.uuid],this.itemSize,this.offset,this.normalized)}toJSON(e){if(e===void 0){console.log(`THREE.InterleavedBufferAttribute.toJSON(): Serializing an interleaved buffer attribute will de-interleave buffer data.`);let e=[];for(let t=0;t<this.count;t++){let n=t*this.data.stride+this.offset;for(let t=0;t<this.itemSize;t++)e.push(this.data.array[n+t])}return{itemSize:this.itemSize,type:this.array.constructor.name,array:e,normalized:this.normalized}}return e.interleavedBuffers===void 0&&(e.interleavedBuffers={}),e.interleavedBuffers[this.data.uuid]===void 0&&(e.interleavedBuffers[this.data.uuid]=this.data.toJSON(e)),{isInterleavedBufferAttribute:!0,itemSize:this.itemSize,data:this.data.uuid,offset:this.offset,normalized:this.normalized}}},Jl=class extends Ns{constructor(e){super(),this.isSpriteMaterial=!0,this.type=`SpriteMaterial`,this.color=new W(16777215),this.map=null,this.alphaMap=null,this.rotation=0,this.sizeAttenuation=!0,this.transparent=!0,this.fog=!0,this.setValues(e)}copy(e){return super.copy(e),this.color.copy(e.color),this.map=e.map,this.alphaMap=e.alphaMap,this.rotation=e.rotation,this.sizeAttenuation=e.sizeAttenuation,this.fog=e.fog,this}},Xl=new H,Zl=new H,Ql=new H,$l=new B,eu=new B,tu=new U,nu=new H,ru=new H,iu=new H,au=new B,ou=new B,su=new B,cu=class extends ps{constructor(e=new Jl){if(super(),this.isSprite=!0,this.type=`Sprite`,Yl===void 0){Yl=new q;let e=new Float32Array([-.5,-.5,0,0,0,.5,-.5,0,1,0,.5,.5,0,1,1,-.5,.5,0,0,1]),t=new Gl(e,5);Yl.setIndex([0,1,2,0,2,3]),Yl.setAttribute(`position`,new ql(t,3,0,!1)),Yl.setAttribute(`uv`,new ql(t,2,3,!1))}this.geometry=Yl,this.material=e,this.center=new B(.5,.5)}raycast(e,t){e.camera===null&&console.error(`THREE.Sprite: "Raycaster.camera" needs to be set in order to raycast against sprites.`),Zl.setFromMatrixScale(this.matrixWorld),tu.copy(e.camera.matrixWorld),this.modelViewMatrix.multiplyMatrices(e.camera.matrixWorldInverse,this.matrixWorld),Ql.setFromMatrixPosition(this.modelViewMatrix),e.camera.isPerspectiveCamera&&this.material.sizeAttenuation===!1&&Zl.multiplyScalar(-Ql.z);let n=this.material.rotation,r,i;n!==0&&(i=Math.cos(n),r=Math.sin(n));let a=this.center;yn(nu.set(-.5,-.5,0),Ql,a,Zl,r,i),yn(ru.set(.5,-.5,0),Ql,a,Zl,r,i),yn(iu.set(.5,.5,0),Ql,a,Zl,r,i),au.set(0,0),ou.set(1,0),su.set(1,1);let o=e.ray.intersectTriangle(nu,ru,iu,!1,Xl);if(o===null&&(yn(ru.set(-.5,.5,0),Ql,a,Zl,r,i),ou.set(0,1),o=e.ray.intersectTriangle(nu,iu,ru,!1,Xl),o===null))return;let s=e.ray.origin.distanceTo(Xl);s<e.near||s>e.far||t.push({distance:s,point:Xl.clone(),uv:Ds.getInterpolation(Xl,nu,ru,iu,au,ou,su,new B),face:null,object:this})}copy(e,t){return super.copy(e,t),e.center!==void 0&&this.center.copy(e.center),this.material=e.material,this}},lu=new H,uu=new H,du=class extends ps{constructor(){super(),this._currentLevel=0,this.type=`LOD`,Object.defineProperties(this,{levels:{enumerable:!0,value:[]},isLOD:{value:!0}}),this.autoUpdate=!0}copy(e){super.copy(e,!1);let t=e.levels;for(let e=0,n=t.length;e<n;e++){let n=t[e];this.addLevel(n.object.clone(),n.distance,n.hysteresis)}return this.autoUpdate=e.autoUpdate,this}addLevel(e,t=0,n=0){t=Math.abs(t);let r=this.levels,i=0;for(;i<r.length&&!(t<r[i].distance);i++);return r.splice(i,0,{distance:t,hysteresis:n,object:e}),this.add(e),this}removeLevel(e){let t=this.levels;for(let n=0;n<t.length;n++)if(t[n].distance===e){let e=t.splice(n,1);return this.remove(e[0].object),!0}return!1}getCurrentLevel(){return this._currentLevel}getObjectForDistance(e){let t=this.levels;if(t.length>0){let n,r;for(n=1,r=t.length;n<r;n++){let r=t[n].distance;if(t[n].object.visible&&(r-=r*t[n].hysteresis),e<r)break}return t[n-1].object}return null}raycast(e,t){if(this.levels.length>0){lu.setFromMatrixPosition(this.matrixWorld);let n=e.ray.origin.distanceTo(lu);this.getObjectForDistance(n).raycast(e,t)}}update(e){let t=this.levels;if(t.length>1){lu.setFromMatrixPosition(e.matrixWorld),uu.setFromMatrixPosition(this.matrixWorld);let n=lu.distanceTo(uu)/e.zoom;t[0].object.visible=!0;let r,i;for(r=1,i=t.length;r<i;r++){let e=t[r].distance;if(t[r].object.visible&&(e-=e*t[r].hysteresis),n>=e)t[r-1].object.visible=!1,t[r].object.visible=!0;else break}for(this._currentLevel=r-1;r<i;r++)t[r].object.visible=!1}}toJSON(e){let t=super.toJSON(e);this.autoUpdate===!1&&(t.object.autoUpdate=!1),t.object.levels=[];let n=this.levels;for(let e=0,r=n.length;e<r;e++){let r=n[e];t.object.levels.push({object:r.object.uuid,distance:r.distance,hysteresis:r.hysteresis})}return t}},fu=new H,pu=new io,mu=new io,hu=new H,gu=new U,_u=new H,vu=new Mo,yu=new U,bu=new Bo,xu=class extends dc{constructor(e,t){super(e,t),this.isSkinnedMesh=!0,this.type=`SkinnedMesh`,this.bindMode=Pr,this.bindMatrix=new U,this.bindMatrixInverse=new U,this.boundingBox=null,this.boundingSphere=null}computeBoundingBox(){let e=this.geometry;this.boundingBox===null&&(this.boundingBox=new ho),this.boundingBox.makeEmpty();let t=e.getAttribute(`position`);for(let e=0;e<t.count;e++)this.getVertexPosition(e,_u),this.boundingBox.expandByPoint(_u)}computeBoundingSphere(){let e=this.geometry;this.boundingSphere===null&&(this.boundingSphere=new Mo),this.boundingSphere.makeEmpty();let t=e.getAttribute(`position`);for(let e=0;e<t.count;e++)this.getVertexPosition(e,_u),this.boundingSphere.expandByPoint(_u)}copy(e,t){return super.copy(e,t),this.bindMode=e.bindMode,this.bindMatrix.copy(e.bindMatrix),this.bindMatrixInverse.copy(e.bindMatrixInverse),this.skeleton=e.skeleton,e.boundingBox!==null&&(this.boundingBox=e.boundingBox.clone()),e.boundingSphere!==null&&(this.boundingSphere=e.boundingSphere.clone()),this}raycast(e,t){let n=this.material,r=this.matrixWorld;n!==void 0&&(this.boundingSphere===null&&this.computeBoundingSphere(),vu.copy(this.boundingSphere),vu.applyMatrix4(r),e.ray.intersectsSphere(vu)!==!1&&(yu.copy(r).invert(),bu.copy(e.ray).applyMatrix4(yu),(this.boundingBox===null||bu.intersectsBox(this.boundingBox)!==!1)&&this._computeIntersections(e,t,bu)))}getVertexPosition(e,t){return super.getVertexPosition(e,t),this.applyBoneTransform(e,t),t}bind(e,t){this.skeleton=e,t===void 0&&(this.updateMatrixWorld(!0),this.skeleton.calculateInverses(),t=this.matrixWorld),this.bindMatrix.copy(t),this.bindMatrixInverse.copy(t).invert()}pose(){this.skeleton.pose()}normalizeSkinWeights(){let e=new io,t=this.geometry.attributes.skinWeight;for(let n=0,r=t.count;n<r;n++){e.fromBufferAttribute(t,n);let r=1/e.manhattanLength();r===1/0?e.set(1,0,0,0):e.multiplyScalar(r),t.setXYZW(n,e.x,e.y,e.z,e.w)}}updateMatrixWorld(e){super.updateMatrixWorld(e),this.bindMode===`attached`?this.bindMatrixInverse.copy(this.matrixWorld).invert():this.bindMode===`detached`?this.bindMatrixInverse.copy(this.bindMatrix).invert():console.warn(`THREE.SkinnedMesh: Unrecognized bindMode: `+this.bindMode)}applyBoneTransform(e,t){let n=this.skeleton,r=this.geometry;pu.fromBufferAttribute(r.attributes.skinIndex,e),mu.fromBufferAttribute(r.attributes.skinWeight,e),fu.copy(t).applyMatrix4(this.bindMatrix),t.set(0,0,0);for(let e=0;e<4;e++){let r=mu.getComponent(e);if(r!==0){let i=pu.getComponent(e);gu.multiplyMatrices(n.bones[i].matrixWorld,n.boneInverses[i]),t.addScaledVector(hu.copy(fu).applyMatrix4(gu),r)}}return t.applyMatrix4(this.bindMatrixInverse)}},Su=class extends ps{constructor(){super(),this.isBone=!0,this.type=`Bone`}},Cu=class extends ro{constructor(e=null,t=1,n=1,r,i,a,o,s,c=Rr,l=Rr,u,d){super(null,a,o,s,c,l,r,i,u,d),this.isDataTexture=!0,this.image={data:e,width:t,height:n},this.generateMipmaps=!1,this.flipY=!1,this.unpackAlignment=1}},wu=new U,Tu=new U,Eu=class e{constructor(e=[],t=[]){this.uuid=o(),this.bones=e.slice(0),this.boneInverses=t,this.boneMatrices=null,this.boneTexture=null,this.init()}init(){let e=this.bones,t=this.boneInverses;if(this.boneMatrices=new Float32Array(e.length*16),t.length===0)this.calculateInverses();else if(e.length!==t.length){console.warn(`THREE.Skeleton: Number of inverse bone matrices does not match amount of bones.`),this.boneInverses=[];for(let e=0,t=this.bones.length;e<t;e++)this.boneInverses.push(new U)}}calculateInverses(){this.boneInverses.length=0;for(let e=0,t=this.bones.length;e<t;e++){let t=new U;this.bones[e]&&t.copy(this.bones[e].matrixWorld).invert(),this.boneInverses.push(t)}}pose(){for(let e=0,t=this.bones.length;e<t;e++){let t=this.bones[e];t&&t.matrixWorld.copy(this.boneInverses[e]).invert()}for(let e=0,t=this.bones.length;e<t;e++){let t=this.bones[e];t&&(t.parent&&t.parent.isBone?(t.matrix.copy(t.parent.matrixWorld).invert(),t.matrix.multiply(t.matrixWorld)):t.matrix.copy(t.matrixWorld),t.matrix.decompose(t.position,t.quaternion,t.scale))}}update(){let e=this.bones,t=this.boneInverses,n=this.boneMatrices,r=this.boneTexture;for(let r=0,i=e.length;r<i;r++){let i=e[r]?e[r].matrixWorld:Tu;wu.multiplyMatrices(i,t[r]),wu.toArray(n,r*16)}r!==null&&(r.needsUpdate=!0)}clone(){return new e(this.bones,this.boneInverses)}computeBoneTexture(){let e=Math.sqrt(this.bones.length*4);e=Math.ceil(e/4)*4,e=Math.max(e,4);let t=new Float32Array(e*e*4);t.set(this.boneMatrices);let n=new Cu(t,e,e,ci,ei);return n.needsUpdate=!0,this.boneMatrices=t,this.boneTexture=n,this}getBoneByName(e){for(let t=0,n=this.bones.length;t<n;t++){let n=this.bones[t];if(n.name===e)return n}}dispose(){this.boneTexture!==null&&(this.boneTexture.dispose(),this.boneTexture=null)}fromJSON(e,t){this.uuid=e.uuid;for(let n=0,r=e.bones.length;n<r;n++){let r=e.bones[n],i=t[r];i===void 0&&(console.warn(`THREE.Skeleton: No bone found with UUID:`,r),i=new Su),this.bones.push(i),this.boneInverses.push(new U().fromArray(e.boneInverses[n]))}return this.init(),this}toJSON(){let e={metadata:{version:4.6,type:`Skeleton`,generator:`Skeleton.toJSON`},bones:[],boneInverses:[]};e.uuid=this.uuid;let t=this.bones,n=this.boneInverses;for(let r=0,i=t.length;r<i;r++){let i=t[r];e.bones.push(i.uuid);let a=n[r];e.boneInverses.push(a.toArray())}return e}},Du=class extends G{constructor(e,t,n,r=1){super(e,t,n),this.isInstancedBufferAttribute=!0,this.meshPerAttribute=r}copy(e){return super.copy(e),this.meshPerAttribute=e.meshPerAttribute,this}toJSON(){let e=super.toJSON();return e.meshPerAttribute=this.meshPerAttribute,e.isInstancedBufferAttribute=!0,e}},Ou=new U,ku=new U,Au=[],ju=new ho,Mu=new U,Nu=new dc,Pu=new Mo,Fu=class extends dc{constructor(e,t,n){super(e,t),this.isInstancedMesh=!0,this.instanceMatrix=new Du(new Float32Array(n*16),16),this.instanceColor=null,this.morphTexture=null,this.count=n,this.boundingBox=null,this.boundingSphere=null;for(let e=0;e<n;e++)this.setMatrixAt(e,Mu)}computeBoundingBox(){let e=this.geometry,t=this.count;this.boundingBox===null&&(this.boundingBox=new ho),e.boundingBox===null&&e.computeBoundingBox(),this.boundingBox.makeEmpty();for(let n=0;n<t;n++)this.getMatrixAt(n,Ou),ju.copy(e.boundingBox).applyMatrix4(Ou),this.boundingBox.union(ju)}computeBoundingSphere(){let e=this.geometry,t=this.count;this.boundingSphere===null&&(this.boundingSphere=new Mo),e.boundingSphere===null&&e.computeBoundingSphere(),this.boundingSphere.makeEmpty();for(let n=0;n<t;n++)this.getMatrixAt(n,Ou),Pu.copy(e.boundingSphere).applyMatrix4(Ou),this.boundingSphere.union(Pu)}copy(e,t){return super.copy(e,t),this.instanceMatrix.copy(e.instanceMatrix),e.morphTexture!==null&&(this.morphTexture=e.morphTexture.clone()),e.instanceColor!==null&&(this.instanceColor=e.instanceColor.clone()),this.count=e.count,e.boundingBox!==null&&(this.boundingBox=e.boundingBox.clone()),e.boundingSphere!==null&&(this.boundingSphere=e.boundingSphere.clone()),this}getColorAt(e,t){t.fromArray(this.instanceColor.array,e*3)}getMatrixAt(e,t){t.fromArray(this.instanceMatrix.array,e*16)}getMorphAt(e,t){let n=t.morphTargetInfluences,r=this.morphTexture.source.data.data,i=e*(n.length+1)+1;for(let e=0;e<n.length;e++)n[e]=r[i+e]}raycast(e,t){let n=this.matrixWorld,r=this.count;if(Nu.geometry=this.geometry,Nu.material=this.material,Nu.material!==void 0&&(this.boundingSphere===null&&this.computeBoundingSphere(),Pu.copy(this.boundingSphere),Pu.applyMatrix4(n),e.ray.intersectsSphere(Pu)!==!1))for(let i=0;i<r;i++){this.getMatrixAt(i,Ou),ku.multiplyMatrices(n,Ou),Nu.matrixWorld=ku,Nu.raycast(e,Au);for(let e=0,n=Au.length;e<n;e++){let n=Au[e];n.instanceId=i,n.object=this,t.push(n)}Au.length=0}}setColorAt(e,t){this.instanceColor===null&&(this.instanceColor=new Du(new Float32Array(this.instanceMatrix.count*3).fill(1),3)),t.toArray(this.instanceColor.array,e*3)}setMatrixAt(e,t){t.toArray(this.instanceMatrix.array,e*16)}setMorphAt(e,t){let n=t.morphTargetInfluences,r=n.length+1;this.morphTexture===null&&(this.morphTexture=new Cu(new Float32Array(r*this.count),r,this.count,pi,ei));let i=this.morphTexture.source.data.data,a=0;for(let e=0;e<n.length;e++)a+=n[e];let o=this.geometry.morphTargetsRelative?1:1-a,s=r*e;i[s]=o,i.set(n,s+1)}updateMorphTargets(){}dispose(){return this.dispatchEvent({type:`dispose`}),this.morphTexture!==null&&(this.morphTexture.dispose(),this.morphTexture=null),this}},Iu=class{constructor(){this.index=0,this.pool=[],this.list=[]}push(e,t,n){let r=this.pool,i=this.list;this.index>=r.length&&r.push({start:-1,count:-1,z:-1,index:-1});let a=r[this.index];i.push(a),this.index++,a.start=e.start,a.count=e.count,a.z=t,a.index=n}reset(){this.list.length=0,this.index=0}},Lu=new U,Ru=new U,zu=new U,Bu=new W(1,1,1),Vu=new U,Hu=new Nc,Uu=new ho,Wu=new Mo,Gu=new H,Ku=new H,qu=new H,Ju=new Iu,Yu=new dc,Xu=[],Zu=class extends dc{get maxInstanceCount(){return this._maxInstanceCount}constructor(e,t,n=t*2,r){super(new q,r),this.isBatchedMesh=!0,this.perObjectFrustumCulled=!0,this.sortObjects=!0,this.boundingBox=null,this.boundingSphere=null,this.customSort=null,this._drawInfo=[],this._availableInstanceIds=[],this._drawRanges=[],this._reservedRanges=[],this._bounds=[],this._maxInstanceCount=e,this._maxVertexCount=t,this._maxIndexCount=n,this._geometryInitialized=!1,this._geometryCount=0,this._multiDrawCounts=new Int32Array(e),this._multiDrawStarts=new Int32Array(e),this._multiDrawCount=0,this._multiDrawInstances=null,this._visibilityChanged=!0,this._matricesTexture=null,this._indirectTexture=null,this._colorsTexture=null,this._initMatricesTexture(),this._initIndirectTexture()}_initMatricesTexture(){let e=Math.sqrt(this._maxInstanceCount*4);e=Math.ceil(e/4)*4,e=Math.max(e,4);let t=new Float32Array(e*e*4),n=new Cu(t,e,e,ci,ei);this._matricesTexture=n}_initIndirectTexture(){let e=Math.sqrt(this._maxInstanceCount);e=Math.ceil(e);let t=new Uint32Array(e*e),n=new Cu(t,e,e,mi,$r);this._indirectTexture=n}_initColorsTexture(){let e=Math.sqrt(this._maxInstanceCount);e=Math.ceil(e);let t=new Float32Array(e*e*4).fill(1),n=new Cu(t,e,e,ci,ei);n.colorSpace=Za.workingColorSpace,this._colorsTexture=n}_initializeGeometry(e){let t=this.geometry,n=this._maxVertexCount,r=this._maxIndexCount;if(this._geometryInitialized===!1){for(let r in e.attributes){let{array:i,itemSize:a,normalized:o}=e.getAttribute(r),s=new i.constructor(n*a),c=new G(s,a,o);t.setAttribute(r,c)}if(e.getIndex()!==null){let e=n>65535?new Uint32Array(r):new Uint16Array(r);t.setIndex(new G(e,1))}this._geometryInitialized=!0}}_validateGeometry(e){let t=this.geometry;if(!!e.getIndex()!=!!t.getIndex())throw Error(`BatchedMesh: All geometries must consistently have "index".`);for(let n in t.attributes){if(!e.hasAttribute(n))throw Error(`BatchedMesh: Added geometry missing "${n}". All geometries must have consistent attributes.`);let r=e.getAttribute(n),i=t.getAttribute(n);if(r.itemSize!==i.itemSize||r.normalized!==i.normalized)throw Error(`BatchedMesh: All attributes must have a consistent itemSize and normalized value.`)}}setCustomSort(e){return this.customSort=e,this}computeBoundingBox(){this.boundingBox===null&&(this.boundingBox=new ho);let e=this.boundingBox,t=this._drawInfo;e.makeEmpty();for(let n=0,r=t.length;n<r;n++){if(t[n].active===!1)continue;let r=t[n].geometryIndex;this.getMatrixAt(n,Lu),this.getBoundingBoxAt(r,Uu).applyMatrix4(Lu),e.union(Uu)}}computeBoundingSphere(){this.boundingSphere===null&&(this.boundingSphere=new Mo);let e=this.boundingSphere,t=this._drawInfo;e.makeEmpty();for(let n=0,r=t.length;n<r;n++){if(t[n].active===!1)continue;let r=t[n].geometryIndex;this.getMatrixAt(n,Lu),this.getBoundingSphereAt(r,Wu).applyMatrix4(Lu),e.union(Wu)}}addInstance(e){if(this._drawInfo.length>=this.maxInstanceCount&&this._availableInstanceIds.length===0)throw Error(`BatchedMesh: Maximum item count reached.`);let t={visible:!0,active:!0,geometryIndex:e},n=null;this._availableInstanceIds.length>0?(n=this._availableInstanceIds.pop(),this._drawInfo[n]=t):(n=this._drawInfo.length,this._drawInfo.push(t));let r=this._matricesTexture,i=r.image.data;zu.toArray(i,n*16),r.needsUpdate=!0;let a=this._colorsTexture;return a&&(Bu.toArray(a.image.data,n*4),a.needsUpdate=!0),n}addGeometry(e,t=-1,n=-1){if(this._initializeGeometry(e),this._validateGeometry(e),this._drawInfo.length>=this._maxInstanceCount)throw Error(`BatchedMesh: Maximum item count reached.`);let r={vertexStart:-1,vertexCount:-1,indexStart:-1,indexCount:-1},i=null,a=this._reservedRanges,o=this._drawRanges,s=this._bounds;this._geometryCount!==0&&(i=a[a.length-1]),r.vertexCount=t===-1?e.getAttribute(`position`).count:t,r.vertexStart=i===null?0:i.vertexStart+i.vertexCount;let c=e.getIndex(),l=c!==null;if(l&&(r.indexCount=n===-1?c.count:n,r.indexStart=i===null?0:i.indexStart+i.indexCount),r.indexStart!==-1&&r.indexStart+r.indexCount>this._maxIndexCount||r.vertexStart+r.vertexCount>this._maxVertexCount)throw Error(`BatchedMesh: Reserved space request exceeds the maximum buffer size.`);let u=this._geometryCount;return this._geometryCount++,a.push(r),o.push({start:l?r.indexStart:r.vertexStart,count:-1}),s.push({boxInitialized:!1,box:new ho,sphereInitialized:!1,sphere:new Mo}),this.setGeometryAt(u,e),u}setGeometryAt(e,t){if(e>=this._geometryCount)throw Error(`BatchedMesh: Maximum geometry count reached.`);this._validateGeometry(t);let n=this.geometry,r=n.getIndex()!==null,i=n.getIndex(),a=t.getIndex(),o=this._reservedRanges[e];if(r&&a.count>o.indexCount||t.attributes.position.count>o.vertexCount)throw Error(`BatchedMesh: Reserved space not large enough for provided geometry.`);let s=o.vertexStart,c=o.vertexCount;for(let e in n.attributes){let r=t.getAttribute(e),i=n.getAttribute(e);Sn(r,i,s);let a=r.itemSize;for(let e=r.count,t=c;e<t;e++){let t=s+e;for(let e=0;e<a;e++)i.setComponent(t,e,0)}i.needsUpdate=!0,i.addUpdateRange(s*a,c*a)}if(r){let e=o.indexStart;for(let t=0;t<a.count;t++)i.setX(e+t,s+a.getX(t));for(let t=a.count,n=o.indexCount;t<n;t++)i.setX(e+t,s);i.needsUpdate=!0,i.addUpdateRange(e,o.indexCount)}let l=this._bounds[e];t.boundingBox===null?l.boxInitialized=!1:(l.box.copy(t.boundingBox),l.boxInitialized=!0),t.boundingSphere===null?l.sphereInitialized=!1:(l.sphere.copy(t.boundingSphere),l.sphereInitialized=!0);let u=this._drawRanges[e],d=t.getAttribute(`position`);return u.count=r?a.count:d.count,this._visibilityChanged=!0,e}deleteInstance(e){let t=this._drawInfo;return e>=t.length||t[e].active===!1||(t[e].active=!1,this._availableInstanceIds.push(e),this._visibilityChanged=!0),this}getBoundingBoxAt(e,t){if(e>=this._geometryCount)return null;let n=this._bounds[e],r=n.box,i=this.geometry;if(n.boxInitialized===!1){r.makeEmpty();let t=i.index,a=i.attributes.position,o=this._drawRanges[e];for(let e=o.start,n=o.start+o.count;e<n;e++){let n=e;t&&(n=t.getX(n)),r.expandByPoint(Gu.fromBufferAttribute(a,n))}n.boxInitialized=!0}return t.copy(r),t}getBoundingSphereAt(e,t){if(e>=this._geometryCount)return null;let n=this._bounds[e],r=n.sphere,i=this.geometry;if(n.sphereInitialized===!1){r.makeEmpty(),this.getBoundingBoxAt(e,Uu),Uu.getCenter(r.center);let t=i.index,a=i.attributes.position,o=this._drawRanges[e],s=0;for(let e=o.start,n=o.start+o.count;e<n;e++){let n=e;t&&(n=t.getX(n)),Gu.fromBufferAttribute(a,n),s=Math.max(s,r.center.distanceToSquared(Gu))}r.radius=Math.sqrt(s),n.sphereInitialized=!0}return t.copy(r),t}setMatrixAt(e,t){let n=this._drawInfo,r=this._matricesTexture,i=this._matricesTexture.image.data;return e>=n.length||n[e].active===!1||(t.toArray(i,e*16),r.needsUpdate=!0),this}getMatrixAt(e,t){let n=this._drawInfo,r=this._matricesTexture.image.data;return e>=n.length||n[e].active===!1?null:t.fromArray(r,e*16)}setColorAt(e,t){this._colorsTexture===null&&this._initColorsTexture();let n=this._colorsTexture,r=this._colorsTexture.image.data,i=this._drawInfo;return e>=i.length||i[e].active===!1||(t.toArray(r,e*4),n.needsUpdate=!0),this}getColorAt(e,t){let n=this._colorsTexture.image.data,r=this._drawInfo;return e>=r.length||r[e].active===!1?null:t.fromArray(n,e*4)}setVisibleAt(e,t){let n=this._drawInfo;return e>=n.length||n[e].active===!1||n[e].visible===t||(n[e].visible=t,this._visibilityChanged=!0),this}getVisibleAt(e){let t=this._drawInfo;return e>=t.length||t[e].active===!1?!1:t[e].visible}setGeometryIdAt(e,t){let n=this._drawInfo;return e>=n.length||n[e].active===!1||t<0||t>=this._geometryCount?null:(n[e].geometryIndex=t,this)}getGeometryIdAt(e){let t=this._drawInfo;return e>=t.length||t[e].active===!1?-1:t[e].geometryIndex}getGeometryRangeAt(e,t={}){if(e<0||e>=this._geometryCount)return null;let n=this._drawRanges[e];return t.start=n.start,t.count=n.count,t}raycast(e,t){let n=this._drawInfo,r=this._drawRanges,i=this.matrixWorld,a=this.geometry;Yu.material=this.material,Yu.geometry.index=a.index,Yu.geometry.attributes=a.attributes,Yu.geometry.boundingBox===null&&(Yu.geometry.boundingBox=new ho),Yu.geometry.boundingSphere===null&&(Yu.geometry.boundingSphere=new Mo);for(let a=0,o=n.length;a<o;a++){if(!n[a].visible||!n[a].active)continue;let o=n[a].geometryIndex,s=r[o];Yu.geometry.setDrawRange(s.start,s.count),this.getMatrixAt(a,Yu.matrixWorld).premultiply(i),this.getBoundingBoxAt(o,Yu.geometry.boundingBox),this.getBoundingSphereAt(o,Yu.geometry.boundingSphere),Yu.raycast(e,Xu);for(let e=0,n=Xu.length;e<n;e++){let n=Xu[e];n.object=this,n.batchId=a,t.push(n)}Xu.length=0}Yu.material=null,Yu.geometry.index=null,Yu.geometry.attributes={},Yu.geometry.setDrawRange(0,1/0)}copy(e){return super.copy(e),this.geometry=e.geometry.clone(),this.perObjectFrustumCulled=e.perObjectFrustumCulled,this.sortObjects=e.sortObjects,this.boundingBox=e.boundingBox===null?null:e.boundingBox.clone(),this.boundingSphere=e.boundingSphere===null?null:e.boundingSphere.clone(),this._drawRanges=e._drawRanges.map(e=>({...e})),this._reservedRanges=e._reservedRanges.map(e=>({...e})),this._drawInfo=e._drawInfo.map(e=>({...e})),this._bounds=e._bounds.map(e=>({boxInitialized:e.boxInitialized,box:e.box.clone(),sphereInitialized:e.sphereInitialized,sphere:e.sphere.clone()})),this._maxInstanceCount=e._maxInstanceCount,this._maxVertexCount=e._maxVertexCount,this._maxIndexCount=e._maxIndexCount,this._geometryInitialized=e._geometryInitialized,this._geometryCount=e._geometryCount,this._multiDrawCounts=e._multiDrawCounts.slice(),this._multiDrawStarts=e._multiDrawStarts.slice(),this._matricesTexture=e._matricesTexture.clone(),this._matricesTexture.image.data=this._matricesTexture.image.data.slice(),this._colorsTexture!==null&&(this._colorsTexture=e._colorsTexture.clone(),this._colorsTexture.image.data=this._colorsTexture.image.data.slice()),this}dispose(){return this.geometry.dispose(),this._matricesTexture.dispose(),this._matricesTexture=null,this._indirectTexture.dispose(),this._indirectTexture=null,this._colorsTexture!==null&&(this._colorsTexture.dispose(),this._colorsTexture=null),this}onBeforeRender(e,t,n,r,i){if(!this._visibilityChanged&&!this.perObjectFrustumCulled&&!this.sortObjects)return;let a=r.getIndex(),o=a===null?1:a.array.BYTES_PER_ELEMENT,s=this._drawInfo,c=this._multiDrawStarts,l=this._multiDrawCounts,u=this._drawRanges,d=this.perObjectFrustumCulled,f=this._indirectTexture,p=f.image.data;d&&(Vu.multiplyMatrices(n.projectionMatrix,n.matrixWorldInverse).multiply(this.matrixWorld),Hu.setFromProjectionMatrix(Vu,e.coordinateSystem));let m=0;if(this.sortObjects){Ru.copy(this.matrixWorld).invert(),Gu.setFromMatrixPosition(n.matrixWorld).applyMatrix4(Ru),Ku.set(0,0,-1).transformDirection(n.matrixWorld).transformDirection(Ru);for(let e=0,t=s.length;e<t;e++)if(s[e].visible&&s[e].active){let t=s[e].geometryIndex;this.getMatrixAt(e,Lu),this.getBoundingSphereAt(t,Wu).applyMatrix4(Lu);let n=!1;if(d&&(n=!Hu.intersectsSphere(Wu)),!n){let n=qu.subVectors(Wu.center,Gu).dot(Ku);Ju.push(u[t],n,e)}}let e=Ju.list,t=this.customSort;t===null?e.sort(i.transparent?xn:bn):t.call(this,e,n);for(let t=0,n=e.length;t<n;t++){let n=e[t];c[m]=n.start*o,l[m]=n.count,p[m]=n.index,m++}Ju.reset()}else for(let e=0,t=s.length;e<t;e++)if(s[e].visible&&s[e].active){let t=s[e].geometryIndex,n=!1;if(d&&(this.getMatrixAt(e,Lu),this.getBoundingSphereAt(t,Wu).applyMatrix4(Lu),n=!Hu.intersectsSphere(Wu)),!n){let n=u[t];c[m]=n.start*o,l[m]=n.count,p[m]=e,m++}}f.needsUpdate=!0,this._multiDrawCount=m,this._visibilityChanged=!1}onBeforeShadow(e,t,n,r,i,a){this.onBeforeRender(e,null,r,i,a)}},Qu=class extends Ns{constructor(e){super(),this.isLineBasicMaterial=!0,this.type=`LineBasicMaterial`,this.color=new W(16777215),this.map=null,this.linewidth=1,this.linecap=`round`,this.linejoin=`round`,this.fog=!0,this.setValues(e)}copy(e){return super.copy(e),this.color.copy(e.color),this.map=e.map,this.linewidth=e.linewidth,this.linecap=e.linecap,this.linejoin=e.linejoin,this.fog=e.fog,this}},$u=new H,ed=new H,td=new U,nd=new Bo,rd=new Mo,id=new H,ad=new H,od=class extends ps{constructor(e=new q,t=new Qu){super(),this.isLine=!0,this.type=`Line`,this.geometry=e,this.material=t,this.updateMorphTargets()}copy(e,t){return super.copy(e,t),this.material=Array.isArray(e.material)?e.material.slice():e.material,this.geometry=e.geometry,this}computeLineDistances(){let e=this.geometry;if(e.index===null){let t=e.attributes.position,n=[0];for(let e=1,r=t.count;e<r;e++)$u.fromBufferAttribute(t,e-1),ed.fromBufferAttribute(t,e),n[e]=n[e-1],n[e]+=$u.distanceTo(ed);e.setAttribute(`lineDistance`,new K(n,1))}else console.warn(`THREE.Line.computeLineDistances(): Computation only possible with non-indexed BufferGeometry.`);return this}raycast(e,t){let n=this.geometry,r=this.matrixWorld,i=e.params.Line.threshold,a=n.drawRange;if(n.boundingSphere===null&&n.computeBoundingSphere(),rd.copy(n.boundingSphere),rd.applyMatrix4(r),rd.radius+=i,e.ray.intersectsSphere(rd)===!1)return;td.copy(r).invert(),nd.copy(e.ray).applyMatrix4(td);let o=i/((this.scale.x+this.scale.y+this.scale.z)/3),s=o*o,c=this.isLineSegments?2:1,l=n.index,u=n.attributes.position;if(l!==null){let n=Math.max(0,a.start),r=Math.min(l.count,a.start+a.count);for(let i=n,a=r-1;i<a;i+=c){let n=l.getX(i),r=l.getX(i+1),a=Cn(this,e,nd,s,n,r);a&&t.push(a)}if(this.isLineLoop){let i=l.getX(r-1),a=l.getX(n),o=Cn(this,e,nd,s,i,a);o&&t.push(o)}}else{let n=Math.max(0,a.start),r=Math.min(u.count,a.start+a.count);for(let i=n,a=r-1;i<a;i+=c){let n=Cn(this,e,nd,s,i,i+1);n&&t.push(n)}if(this.isLineLoop){let i=Cn(this,e,nd,s,r-1,n);i&&t.push(i)}}}updateMorphTargets(){let e=this.geometry.morphAttributes,t=Object.keys(e);if(t.length>0){let n=e[t[0]];if(n!==void 0){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let e=0,t=n.length;e<t;e++){let t=n[e].name||String(e);this.morphTargetInfluences.push(0),this.morphTargetDictionary[t]=e}}}}},sd=new H,cd=new H,ld=class extends od{constructor(e,t){super(e,t),this.isLineSegments=!0,this.type=`LineSegments`}computeLineDistances(){let e=this.geometry;if(e.index===null){let t=e.attributes.position,n=[];for(let e=0,r=t.count;e<r;e+=2)sd.fromBufferAttribute(t,e),cd.fromBufferAttribute(t,e+1),n[e]=e===0?0:n[e-1],n[e+1]=n[e]+sd.distanceTo(cd);e.setAttribute(`lineDistance`,new K(n,1))}else console.warn(`THREE.LineSegments.computeLineDistances(): Computation only possible with non-indexed BufferGeometry.`);return this}},ud=class extends od{constructor(e,t){super(e,t),this.isLineLoop=!0,this.type=`LineLoop`}},dd=class extends Ns{constructor(e){super(),this.isPointsMaterial=!0,this.type=`PointsMaterial`,this.color=new W(16777215),this.map=null,this.alphaMap=null,this.size=1,this.sizeAttenuation=!0,this.fog=!0,this.setValues(e)}copy(e){return super.copy(e),this.color.copy(e.color),this.map=e.map,this.alphaMap=e.alphaMap,this.size=e.size,this.sizeAttenuation=e.sizeAttenuation,this.fog=e.fog,this}},fd=new U,pd=new Bo,md=new Mo,hd=new H,gd=class extends ps{constructor(e=new q,t=new dd){super(),this.isPoints=!0,this.type=`Points`,this.geometry=e,this.material=t,this.updateMorphTargets()}copy(e,t){return super.copy(e,t),this.material=Array.isArray(e.material)?e.material.slice():e.material,this.geometry=e.geometry,this}raycast(e,t){let n=this.geometry,r=this.matrixWorld,i=e.params.Points.threshold,a=n.drawRange;if(n.boundingSphere===null&&n.computeBoundingSphere(),md.copy(n.boundingSphere),md.applyMatrix4(r),md.radius+=i,e.ray.intersectsSphere(md)===!1)return;fd.copy(r).invert(),pd.copy(e.ray).applyMatrix4(fd);let o=i/((this.scale.x+this.scale.y+this.scale.z)/3),s=o*o,c=n.index,l=n.attributes.position;if(c!==null){let n=Math.max(0,a.start),i=Math.min(c.count,a.start+a.count);for(let a=n,o=i;a<o;a++){let n=c.getX(a);hd.fromBufferAttribute(l,n),wn(hd,n,s,r,e,t,this)}}else{let n=Math.max(0,a.start),i=Math.min(l.count,a.start+a.count);for(let a=n,o=i;a<o;a++)hd.fromBufferAttribute(l,a),wn(hd,a,s,r,e,t,this)}}updateMorphTargets(){let e=this.geometry.morphAttributes,t=Object.keys(e);if(t.length>0){let n=e[t[0]];if(n!==void 0){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let e=0,t=n.length;e<t;e++){let t=n[e].name||String(e);this.morphTargetInfluences.push(0),this.morphTargetDictionary[t]=e}}}}},_d=class extends ro{constructor(e,t,n,r,i,a,o,s,c){super(e,t,n,r,i,a,o,s,c),this.isVideoTexture=!0,this.minFilter=a===void 0?Ur:a,this.magFilter=i===void 0?Ur:i,this.generateMipmaps=!1;let l=this;function u(){l.needsUpdate=!0,e.requestVideoFrameCallback(u)}`requestVideoFrameCallback`in e&&e.requestVideoFrameCallback(u)}clone(){return new this.constructor(this.image).copy(this)}update(){let e=this.image;!(`requestVideoFrameCallback`in e)&&e.readyState>=e.HAVE_CURRENT_DATA&&(this.needsUpdate=!0)}},vd=class extends ro{constructor(e,t){super({width:e,height:t}),this.isFramebufferTexture=!0,this.magFilter=Rr,this.minFilter=Rr,this.generateMipmaps=!1,this.needsUpdate=!0}},yd=class extends ro{constructor(e,t,n,r,i,a,o,s,c,l,u,d){super(null,a,o,s,c,l,r,i,u,d),this.isCompressedTexture=!0,this.image={width:t,height:n},this.mipmaps=e,this.flipY=!1,this.generateMipmaps=!1}},bd=class extends yd{constructor(e,t,n,r,i,a){super(e,t,n,i,a),this.isCompressedArrayTexture=!0,this.image.depth=r,this.wrapR=z,this.layerUpdates=new Set}addLayerUpdate(e){this.layerUpdates.add(e)}clearLayerUpdates(){this.layerUpdates.clear()}},xd=class extends yd{constructor(e,t,n){super(void 0,e[0].width,e[0].height,t,n,301),this.isCompressedCubeTexture=!0,this.isCubeTexture=!0,this.image=e}},Sd=class extends ro{constructor(e,t,n,r,i,a,o,s,c){super(e,t,n,r,i,a,o,s,c),this.isCanvasTexture=!0,this.needsUpdate=!0}},Cd=class{constructor(){this.type=`Curve`,this.arcLengthDivisions=200}getPoint(){return console.warn(`THREE.Curve: .getPoint() not implemented.`),null}getPointAt(e,t){let n=this.getUtoTmapping(e);return this.getPoint(n,t)}getPoints(e=5){let t=[];for(let n=0;n<=e;n++)t.push(this.getPoint(n/e));return t}getSpacedPoints(e=5){let t=[];for(let n=0;n<=e;n++)t.push(this.getPointAt(n/e));return t}getLength(){let e=this.getLengths();return e[e.length-1]}getLengths(e=this.arcLengthDivisions){if(this.cacheArcLengths&&this.cacheArcLengths.length===e+1&&!this.needsUpdate)return this.cacheArcLengths;this.needsUpdate=!1;let t=[],n,r=this.getPoint(0),i=0;t.push(0);for(let a=1;a<=e;a++)n=this.getPoint(a/e),i+=n.distanceTo(r),t.push(i),r=n;return this.cacheArcLengths=t,t}updateArcLengths(){this.needsUpdate=!0,this.getLengths()}getUtoTmapping(e,t){let n=this.getLengths(),r=0,i=n.length,a;a=t||e*n[i-1];let o=0,s=i-1,c;for(;o<=s;)if(r=Math.floor(o+(s-o)/2),c=n[r]-a,c<0)o=r+1;else if(c>0)s=r-1;else{s=r;break}if(r=s,n[r]===a)return r/(i-1);let l=n[r],u=n[r+1]-l,d=(a-l)/u;return(r+d)/(i-1)}getTangent(e,t){let n=1e-4,r=e-n,i=e+n;r<0&&(r=0),i>1&&(i=1);let a=this.getPoint(r),o=this.getPoint(i),s=t||(a.isVector2?new B:new H);return s.copy(o).sub(a).normalize(),s}getTangentAt(e,t){let n=this.getUtoTmapping(e);return this.getTangent(n,t)}computeFrenetFrames(e,t){let n=new H,r=[],i=[],a=[],o=new H,c=new U;for(let t=0;t<=e;t++){let n=t/e;r[t]=this.getTangentAt(n,new H)}i[0]=new H,a[0]=new H;let l=Number.MAX_VALUE,u=Math.abs(r[0].x),d=Math.abs(r[0].y),f=Math.abs(r[0].z);u<=l&&(l=u,n.set(1,0,0)),d<=l&&(l=d,n.set(0,1,0)),f<=l&&n.set(0,0,1),o.crossVectors(r[0],n).normalize(),i[0].crossVectors(r[0],o),a[0].crossVectors(r[0],i[0]);for(let t=1;t<=e;t++){if(i[t]=i[t-1].clone(),a[t]=a[t-1].clone(),o.crossVectors(r[t-1],r[t]),o.length()>2**-52){o.normalize();let e=Math.acos(s(r[t-1].dot(r[t]),-1,1));i[t].applyMatrix4(c.makeRotationAxis(o,e))}a[t].crossVectors(r[t],i[t])}if(t===!0){let t=Math.acos(s(i[0].dot(i[e]),-1,1));t/=e,r[0].dot(o.crossVectors(i[0],i[e]))>0&&(t=-t);for(let n=1;n<=e;n++)i[n].applyMatrix4(c.makeRotationAxis(r[n],t*n)),a[n].crossVectors(r[n],i[n])}return{tangents:r,normals:i,binormals:a}}clone(){return new this.constructor().copy(this)}copy(e){return this.arcLengthDivisions=e.arcLengthDivisions,this}toJSON(){let e={metadata:{version:4.6,type:`Curve`,generator:`Curve.toJSON`}};return e.arcLengthDivisions=this.arcLengthDivisions,e.type=this.type,e}fromJSON(e){return this.arcLengthDivisions=e.arcLengthDivisions,this}},wd=class extends Cd{constructor(e=0,t=0,n=1,r=1,i=0,a=Math.PI*2,o=!1,s=0){super(),this.isEllipseCurve=!0,this.type=`EllipseCurve`,this.aX=e,this.aY=t,this.xRadius=n,this.yRadius=r,this.aStartAngle=i,this.aEndAngle=a,this.aClockwise=o,this.aRotation=s}getPoint(e,t=new B){let n=t,r=Math.PI*2,i=this.aEndAngle-this.aStartAngle,a=Math.abs(i)<2**-52;for(;i<0;)i+=r;for(;i>r;)i-=r;i<2**-52&&(i=a?0:r),this.aClockwise===!0&&!a&&(i===r?i=-r:i-=r);let o=this.aStartAngle+e*i,s=this.aX+this.xRadius*Math.cos(o),c=this.aY+this.yRadius*Math.sin(o);if(this.aRotation!==0){let e=Math.cos(this.aRotation),t=Math.sin(this.aRotation),n=s-this.aX,r=c-this.aY;s=n*e-r*t+this.aX,c=n*t+r*e+this.aY}return n.set(s,c)}copy(e){return super.copy(e),this.aX=e.aX,this.aY=e.aY,this.xRadius=e.xRadius,this.yRadius=e.yRadius,this.aStartAngle=e.aStartAngle,this.aEndAngle=e.aEndAngle,this.aClockwise=e.aClockwise,this.aRotation=e.aRotation,this}toJSON(){let e=super.toJSON();return e.aX=this.aX,e.aY=this.aY,e.xRadius=this.xRadius,e.yRadius=this.yRadius,e.aStartAngle=this.aStartAngle,e.aEndAngle=this.aEndAngle,e.aClockwise=this.aClockwise,e.aRotation=this.aRotation,e}fromJSON(e){return super.fromJSON(e),this.aX=e.aX,this.aY=e.aY,this.xRadius=e.xRadius,this.yRadius=e.yRadius,this.aStartAngle=e.aStartAngle,this.aEndAngle=e.aEndAngle,this.aClockwise=e.aClockwise,this.aRotation=e.aRotation,this}},Td=class extends wd{constructor(e,t,n,r,i,a){super(e,t,n,n,r,i,a),this.isArcCurve=!0,this.type=`ArcCurve`}},Ed=new H,Dd=new Tn,Od=new Tn,kd=new Tn,Ad=class extends Cd{constructor(e=[],t=!1,n=`centripetal`,r=.5){super(),this.isCatmullRomCurve3=!0,this.type=`CatmullRomCurve3`,this.points=e,this.closed=t,this.curveType=n,this.tension=r}getPoint(e,t=new H){let n=t,r=this.points,i=r.length,a=(i-+!this.closed)*e,o=Math.floor(a),s=a-o;this.closed?o+=o>0?0:(Math.floor(Math.abs(o)/i)+1)*i:s===0&&o===i-1&&(o=i-2,s=1);let c,l;this.closed||o>0?c=r[(o-1)%i]:(Ed.subVectors(r[0],r[1]).add(r[0]),c=Ed);let u=r[o%i],d=r[(o+1)%i];if(this.closed||o+2<i?l=r[(o+2)%i]:(Ed.subVectors(r[i-1],r[i-2]).add(r[i-1]),l=Ed),this.curveType===`centripetal`||this.curveType===`chordal`){let e=this.curveType===`chordal`?.5:.25,t=c.distanceToSquared(u)**+e,n=u.distanceToSquared(d)**+e,r=d.distanceToSquared(l)**+e;n<1e-4&&(n=1),t<1e-4&&(t=n),r<1e-4&&(r=n),Dd.initNonuniformCatmullRom(c.x,u.x,d.x,l.x,t,n,r),Od.initNonuniformCatmullRom(c.y,u.y,d.y,l.y,t,n,r),kd.initNonuniformCatmullRom(c.z,u.z,d.z,l.z,t,n,r)}else this.curveType===`catmullrom`&&(Dd.initCatmullRom(c.x,u.x,d.x,l.x,this.tension),Od.initCatmullRom(c.y,u.y,d.y,l.y,this.tension),kd.initCatmullRom(c.z,u.z,d.z,l.z,this.tension));return n.set(Dd.calc(s),Od.calc(s),kd.calc(s)),n}copy(e){super.copy(e),this.points=[];for(let t=0,n=e.points.length;t<n;t++){let n=e.points[t];this.points.push(n.clone())}return this.closed=e.closed,this.curveType=e.curveType,this.tension=e.tension,this}toJSON(){let e=super.toJSON();e.points=[];for(let t=0,n=this.points.length;t<n;t++){let n=this.points[t];e.points.push(n.toArray())}return e.closed=this.closed,e.curveType=this.curveType,e.tension=this.tension,e}fromJSON(e){super.fromJSON(e),this.points=[];for(let t=0,n=e.points.length;t<n;t++){let n=e.points[t];this.points.push(new H().fromArray(n))}return this.closed=e.closed,this.curveType=e.curveType,this.tension=e.tension,this}},jd=class extends Cd{constructor(e=new B,t=new B,n=new B,r=new B){super(),this.isCubicBezierCurve=!0,this.type=`CubicBezierCurve`,this.v0=e,this.v1=t,this.v2=n,this.v3=r}getPoint(e,t=new B){let n=t,r=this.v0,i=this.v1,a=this.v2,o=this.v3;return n.set(Fn(e,r.x,i.x,a.x,o.x),Fn(e,r.y,i.y,a.y,o.y)),n}copy(e){return super.copy(e),this.v0.copy(e.v0),this.v1.copy(e.v1),this.v2.copy(e.v2),this.v3.copy(e.v3),this}toJSON(){let e=super.toJSON();return e.v0=this.v0.toArray(),e.v1=this.v1.toArray(),e.v2=this.v2.toArray(),e.v3=this.v3.toArray(),e}fromJSON(e){return super.fromJSON(e),this.v0.fromArray(e.v0),this.v1.fromArray(e.v1),this.v2.fromArray(e.v2),this.v3.fromArray(e.v3),this}},Md=class extends Cd{constructor(e=new H,t=new H,n=new H,r=new H){super(),this.isCubicBezierCurve3=!0,this.type=`CubicBezierCurve3`,this.v0=e,this.v1=t,this.v2=n,this.v3=r}getPoint(e,t=new H){let n=t,r=this.v0,i=this.v1,a=this.v2,o=this.v3;return n.set(Fn(e,r.x,i.x,a.x,o.x),Fn(e,r.y,i.y,a.y,o.y),Fn(e,r.z,i.z,a.z,o.z)),n}copy(e){return super.copy(e),this.v0.copy(e.v0),this.v1.copy(e.v1),this.v2.copy(e.v2),this.v3.copy(e.v3),this}toJSON(){let e=super.toJSON();return e.v0=this.v0.toArray(),e.v1=this.v1.toArray(),e.v2=this.v2.toArray(),e.v3=this.v3.toArray(),e}fromJSON(e){return super.fromJSON(e),this.v0.fromArray(e.v0),this.v1.fromArray(e.v1),this.v2.fromArray(e.v2),this.v3.fromArray(e.v3),this}},Nd=class extends Cd{constructor(e=new B,t=new B){super(),this.isLineCurve=!0,this.type=`LineCurve`,this.v1=e,this.v2=t}getPoint(e,t=new B){let n=t;return e===1?n.copy(this.v2):(n.copy(this.v2).sub(this.v1),n.multiplyScalar(e).add(this.v1)),n}getPointAt(e,t){return this.getPoint(e,t)}getTangent(e,t=new B){return t.subVectors(this.v2,this.v1).normalize()}getTangentAt(e,t){return this.getTangent(e,t)}copy(e){return super.copy(e),this.v1.copy(e.v1),this.v2.copy(e.v2),this}toJSON(){let e=super.toJSON();return e.v1=this.v1.toArray(),e.v2=this.v2.toArray(),e}fromJSON(e){return super.fromJSON(e),this.v1.fromArray(e.v1),this.v2.fromArray(e.v2),this}},Pd=class extends Cd{constructor(e=new H,t=new H){super(),this.isLineCurve3=!0,this.type=`LineCurve3`,this.v1=e,this.v2=t}getPoint(e,t=new H){let n=t;return e===1?n.copy(this.v2):(n.copy(this.v2).sub(this.v1),n.multiplyScalar(e).add(this.v1)),n}getPointAt(e,t){return this.getPoint(e,t)}getTangent(e,t=new H){return t.subVectors(this.v2,this.v1).normalize()}getTangentAt(e,t){return this.getTangent(e,t)}copy(e){return super.copy(e),this.v1.copy(e.v1),this.v2.copy(e.v2),this}toJSON(){let e=super.toJSON();return e.v1=this.v1.toArray(),e.v2=this.v2.toArray(),e}fromJSON(e){return super.fromJSON(e),this.v1.fromArray(e.v1),this.v2.fromArray(e.v2),this}},Fd=class extends Cd{constructor(e=new B,t=new B,n=new B){super(),this.isQuadraticBezierCurve=!0,this.type=`QuadraticBezierCurve`,this.v0=e,this.v1=t,this.v2=n}getPoint(e,t=new B){let n=t,r=this.v0,i=this.v1,a=this.v2;return n.set(An(e,r.x,i.x,a.x),An(e,r.y,i.y,a.y)),n}copy(e){return super.copy(e),this.v0.copy(e.v0),this.v1.copy(e.v1),this.v2.copy(e.v2),this}toJSON(){let e=super.toJSON();return e.v0=this.v0.toArray(),e.v1=this.v1.toArray(),e.v2=this.v2.toArray(),e}fromJSON(e){return super.fromJSON(e),this.v0.fromArray(e.v0),this.v1.fromArray(e.v1),this.v2.fromArray(e.v2),this}},Id=class extends Cd{constructor(e=new H,t=new H,n=new H){super(),this.isQuadraticBezierCurve3=!0,this.type=`QuadraticBezierCurve3`,this.v0=e,this.v1=t,this.v2=n}getPoint(e,t=new H){let n=t,r=this.v0,i=this.v1,a=this.v2;return n.set(An(e,r.x,i.x,a.x),An(e,r.y,i.y,a.y),An(e,r.z,i.z,a.z)),n}copy(e){return super.copy(e),this.v0.copy(e.v0),this.v1.copy(e.v1),this.v2.copy(e.v2),this}toJSON(){let e=super.toJSON();return e.v0=this.v0.toArray(),e.v1=this.v1.toArray(),e.v2=this.v2.toArray(),e}fromJSON(e){return super.fromJSON(e),this.v0.fromArray(e.v0),this.v1.fromArray(e.v1),this.v2.fromArray(e.v2),this}},Ld=class extends Cd{constructor(e=[]){super(),this.isSplineCurve=!0,this.type=`SplineCurve`,this.points=e}getPoint(e,t=new B){let n=t,r=this.points,i=(r.length-1)*e,a=Math.floor(i),o=i-a,s=r[a===0?a:a-1],c=r[a],l=r[a>r.length-2?r.length-1:a+1],u=r[a>r.length-3?r.length-1:a+2];return n.set(En(o,s.x,c.x,l.x,u.x),En(o,s.y,c.y,l.y,u.y)),n}copy(e){super.copy(e),this.points=[];for(let t=0,n=e.points.length;t<n;t++){let n=e.points[t];this.points.push(n.clone())}return this}toJSON(){let e=super.toJSON();e.points=[];for(let t=0,n=this.points.length;t<n;t++){let n=this.points[t];e.points.push(n.toArray())}return e}fromJSON(e){super.fromJSON(e),this.points=[];for(let t=0,n=e.points.length;t<n;t++){let n=e.points[t];this.points.push(new B().fromArray(n))}return this}},Rd=Object.freeze({__proto__:null,ArcCurve:Td,CatmullRomCurve3:Ad,CubicBezierCurve:jd,CubicBezierCurve3:Md,EllipseCurve:wd,LineCurve:Nd,LineCurve3:Pd,QuadraticBezierCurve:Fd,QuadraticBezierCurve3:Id,SplineCurve:Ld}),zd=class extends Cd{constructor(){super(),this.type=`CurvePath`,this.curves=[],this.autoClose=!1}add(e){this.curves.push(e)}closePath(){let e=this.curves[0].getPoint(0),t=this.curves[this.curves.length-1].getPoint(1);if(!e.equals(t)){let n=e.isVector2===!0?`LineCurve`:`LineCurve3`;this.curves.push(new Rd[n](t,e))}return this}getPoint(e,t){let n=e*this.getLength(),r=this.getCurveLengths(),i=0;for(;i<r.length;){if(r[i]>=n){let e=r[i]-n,a=this.curves[i],o=a.getLength(),s=o===0?0:1-e/o;return a.getPointAt(s,t)}i++}return null}getLength(){let e=this.getCurveLengths();return e[e.length-1]}updateArcLengths(){this.needsUpdate=!0,this.cacheLengths=null,this.getCurveLengths()}getCurveLengths(){if(this.cacheLengths&&this.cacheLengths.length===this.curves.length)return this.cacheLengths;let e=[],t=0;for(let n=0,r=this.curves.length;n<r;n++)t+=this.curves[n].getLength(),e.push(t);return this.cacheLengths=e,e}getSpacedPoints(e=40){let t=[];for(let n=0;n<=e;n++)t.push(this.getPoint(n/e));return this.autoClose&&t.push(t[0]),t}getPoints(e=12){let t=[],n;for(let r=0,i=this.curves;r<i.length;r++){let a=i[r],o=a.isEllipseCurve?e*2:a.isLineCurve||a.isLineCurve3?1:a.isSplineCurve?e*a.points.length:e,s=a.getPoints(o);for(let e=0;e<s.length;e++){let r=s[e];n&&n.equals(r)||(t.push(r),n=r)}}return this.autoClose&&t.length>1&&!t[t.length-1].equals(t[0])&&t.push(t[0]),t}copy(e){super.copy(e),this.curves=[];for(let t=0,n=e.curves.length;t<n;t++){let n=e.curves[t];this.curves.push(n.clone())}return this.autoClose=e.autoClose,this}toJSON(){let e=super.toJSON();e.autoClose=this.autoClose,e.curves=[];for(let t=0,n=this.curves.length;t<n;t++){let n=this.curves[t];e.curves.push(n.toJSON())}return e}fromJSON(e){super.fromJSON(e),this.autoClose=e.autoClose,this.curves=[];for(let t=0,n=e.curves.length;t<n;t++){let n=e.curves[t];this.curves.push(new Rd[n.type]().fromJSON(n))}return this}},Bd=class extends zd{constructor(e){super(),this.type=`Path`,this.currentPoint=new B,e&&this.setFromPoints(e)}setFromPoints(e){this.moveTo(e[0].x,e[0].y);for(let t=1,n=e.length;t<n;t++)this.lineTo(e[t].x,e[t].y);return this}moveTo(e,t){return this.currentPoint.set(e,t),this}lineTo(e,t){let n=new Nd(this.currentPoint.clone(),new B(e,t));return this.curves.push(n),this.currentPoint.set(e,t),this}quadraticCurveTo(e,t,n,r){let i=new Fd(this.currentPoint.clone(),new B(e,t),new B(n,r));return this.curves.push(i),this.currentPoint.set(n,r),this}bezierCurveTo(e,t,n,r,i,a){let o=new jd(this.currentPoint.clone(),new B(e,t),new B(n,r),new B(i,a));return this.curves.push(o),this.currentPoint.set(i,a),this}splineThru(e){let t=[this.currentPoint.clone()].concat(e),n=new Ld(t);return this.curves.push(n),this.currentPoint.copy(e[e.length-1]),this}arc(e,t,n,r,i,a){let o=this.currentPoint.x,s=this.currentPoint.y;return this.absarc(e+o,t+s,n,r,i,a),this}absarc(e,t,n,r,i,a){return this.absellipse(e,t,n,n,r,i,a),this}ellipse(e,t,n,r,i,a,o,s){let c=this.currentPoint.x,l=this.currentPoint.y;return this.absellipse(e+c,t+l,n,r,i,a,o,s),this}absellipse(e,t,n,r,i,a,o,s){let c=new wd(e,t,n,r,i,a,o,s);if(this.curves.length>0){let e=c.getPoint(0);e.equals(this.currentPoint)||this.lineTo(e.x,e.y)}this.curves.push(c);let l=c.getPoint(1);return this.currentPoint.copy(l),this}copy(e){return super.copy(e),this.currentPoint.copy(e.currentPoint),this}toJSON(){let e=super.toJSON();return e.currentPoint=this.currentPoint.toArray(),e}fromJSON(e){return super.fromJSON(e),this.currentPoint.fromArray(e.currentPoint),this}},Vd=class e extends q{constructor(e=[new B(0,-.5),new B(.5,0),new B(0,.5)],t=12,n=0,r=Math.PI*2){super(),this.type=`LatheGeometry`,this.parameters={points:e,segments:t,phiStart:n,phiLength:r},t=Math.floor(t),r=s(r,0,Math.PI*2);let i=[],a=[],o=[],c=[],l=[],u=1/t,d=new H,f=new B,p=new H,m=new H,h=new H,g=0,_=0;for(let t=0;t<=e.length-1;t++)switch(t){case 0:g=e[t+1].x-e[t].x,_=e[t+1].y-e[t].y,p.x=_*1,p.y=-g,p.z=_*0,h.copy(p),p.normalize(),c.push(p.x,p.y,p.z);break;case e.length-1:c.push(h.x,h.y,h.z);break;default:g=e[t+1].x-e[t].x,_=e[t+1].y-e[t].y,p.x=_*1,p.y=-g,p.z=_*0,m.copy(p),p.x+=h.x,p.y+=h.y,p.z+=h.z,p.normalize(),c.push(p.x,p.y,p.z),h.copy(m)}for(let i=0;i<=t;i++){let s=n+i*u*r,p=Math.sin(s),m=Math.cos(s);for(let n=0;n<=e.length-1;n++){d.x=e[n].x*p,d.y=e[n].y,d.z=e[n].x*m,a.push(d.x,d.y,d.z),f.x=i/t,f.y=n/(e.length-1),o.push(f.x,f.y);let r=c[3*n+0]*p,s=c[3*n+1],u=c[3*n+0]*m;l.push(r,s,u)}}for(let n=0;n<t;n++)for(let t=0;t<e.length-1;t++){let r=t+n*e.length,a=r,o=r+e.length,s=r+e.length+1,c=r+1;i.push(a,o,c),i.push(s,c,o)}this.setIndex(i),this.setAttribute(`position`,new K(a,3)),this.setAttribute(`uv`,new K(o,2)),this.setAttribute(`normal`,new K(l,3))}copy(e){return super.copy(e),this.parameters=Object.assign({},e.parameters),this}static fromJSON(t){return new e(t.points,t.segments,t.phiStart,t.phiLength)}},Hd=class e extends Vd{constructor(e=1,t=1,n=4,r=8){let i=new Bd;i.absarc(0,-t/2,e,Math.PI*1.5,0),i.absarc(0,t/2,e,0,Math.PI*.5),super(i.getPoints(n),r),this.type=`CapsuleGeometry`,this.parameters={radius:e,length:t,capSegments:n,radialSegments:r}}static fromJSON(t){return new e(t.radius,t.length,t.capSegments,t.radialSegments)}},Ud=class e extends q{constructor(e=1,t=32,n=0,r=Math.PI*2){super(),this.type=`CircleGeometry`,this.parameters={radius:e,segments:t,thetaStart:n,thetaLength:r},t=Math.max(3,t);let i=[],a=[],o=[],s=[],c=new H,l=new B;a.push(0,0,0),o.push(0,0,1),s.push(.5,.5);for(let i=0,u=3;i<=t;i++,u+=3){let d=n+i/t*r;c.x=e*Math.cos(d),c.y=e*Math.sin(d),a.push(c.x,c.y,c.z),o.push(0,0,1),l.x=(a[u]/e+1)/2,l.y=(a[u+1]/e+1)/2,s.push(l.x,l.y)}for(let e=1;e<=t;e++)i.push(e,e+1,0);this.setIndex(i),this.setAttribute(`position`,new K(a,3)),this.setAttribute(`normal`,new K(o,3)),this.setAttribute(`uv`,new K(s,2))}copy(e){return super.copy(e),this.parameters=Object.assign({},e.parameters),this}static fromJSON(t){return new e(t.radius,t.segments,t.thetaStart,t.thetaLength)}},Wd=class e extends q{constructor(e=1,t=1,n=1,r=32,i=1,a=!1,o=0,s=Math.PI*2){super(),this.type=`CylinderGeometry`,this.parameters={radiusTop:e,radiusBottom:t,height:n,radialSegments:r,heightSegments:i,openEnded:a,thetaStart:o,thetaLength:s};let c=this;r=Math.floor(r),i=Math.floor(i);let l=[],u=[],d=[],f=[],p=0,m=[],h=n/2,g=0;_(),a===!1&&(e>0&&v(!0),t>0&&v(!1)),this.setIndex(l),this.setAttribute(`position`,new K(u,3)),this.setAttribute(`normal`,new K(d,3)),this.setAttribute(`uv`,new K(f,2));function _(){let a=new H,_=new H,v=0,y=(t-e)/n;for(let c=0;c<=i;c++){let l=[],g=c/i,v=g*(t-e)+e;for(let e=0;e<=r;e++){let t=e/r,i=t*s+o,c=Math.sin(i),m=Math.cos(i);_.x=v*c,_.y=-g*n+h,_.z=v*m,u.push(_.x,_.y,_.z),a.set(c,y,m).normalize(),d.push(a.x,a.y,a.z),f.push(t,1-g),l.push(p++)}m.push(l)}for(let n=0;n<r;n++)for(let r=0;r<i;r++){let i=m[r][n],a=m[r+1][n],o=m[r+1][n+1],s=m[r][n+1];e>0&&(l.push(i,a,s),v+=3),t>0&&(l.push(a,o,s),v+=3)}c.addGroup(g,v,0),g+=v}function v(n){let i=p,a=new B,m=new H,_=0,v=n===!0?e:t,y=n===!0?1:-1;for(let e=1;e<=r;e++)u.push(0,h*y,0),d.push(0,y,0),f.push(.5,.5),p++;let b=p;for(let e=0;e<=r;e++){let t=e/r*s+o,n=Math.cos(t),i=Math.sin(t);m.x=v*i,m.y=h*y,m.z=v*n,u.push(m.x,m.y,m.z),d.push(0,y,0),a.x=n*.5+.5,a.y=i*.5*y+.5,f.push(a.x,a.y),p++}for(let e=0;e<r;e++){let t=i+e,r=b+e;n===!0?l.push(r,r+1,t):l.push(r+1,r,t),_+=3}c.addGroup(g,_,n===!0?1:2),g+=_}}copy(e){return super.copy(e),this.parameters=Object.assign({},e.parameters),this}static fromJSON(t){return new e(t.radiusTop,t.radiusBottom,t.height,t.radialSegments,t.heightSegments,t.openEnded,t.thetaStart,t.thetaLength)}},Gd=class e extends Wd{constructor(e=1,t=1,n=32,r=1,i=!1,a=0,o=Math.PI*2){super(0,e,t,n,r,i,a,o),this.type=`ConeGeometry`,this.parameters={radius:e,height:t,radialSegments:n,heightSegments:r,openEnded:i,thetaStart:a,thetaLength:o}}static fromJSON(t){return new e(t.radius,t.height,t.radialSegments,t.heightSegments,t.openEnded,t.thetaStart,t.thetaLength)}},Kd=class e extends q{constructor(e=[],t=[],n=1,r=0){super(),this.type=`PolyhedronGeometry`,this.parameters={vertices:e,indices:t,radius:n,detail:r};let i=[],a=[];o(r),c(n),l(),this.setAttribute(`position`,new K(i,3)),this.setAttribute(`normal`,new K(i.slice(),3)),this.setAttribute(`uv`,new K(a,2)),r===0?this.computeVertexNormals():this.normalizeNormals();function o(e){let n=new H,r=new H,i=new H;for(let a=0;a<t.length;a+=3)f(t[a+0],n),f(t[a+1],r),f(t[a+2],i),s(n,r,i,e)}function s(e,t,n,r){let i=r+1,a=[];for(let r=0;r<=i;r++){a[r]=[];let o=e.clone().lerp(n,r/i),s=t.clone().lerp(n,r/i),c=i-r;for(let e=0;e<=c;e++)e===0&&r===i?a[r][e]=o:a[r][e]=o.clone().lerp(s,e/c)}for(let e=0;e<i;e++)for(let t=0;t<2*(i-e)-1;t++){let n=Math.floor(t/2);t%2==0?(d(a[e][n+1]),d(a[e+1][n]),d(a[e][n])):(d(a[e][n+1]),d(a[e+1][n+1]),d(a[e+1][n]))}}function c(e){let t=new H;for(let n=0;n<i.length;n+=3)t.x=i[n+0],t.y=i[n+1],t.z=i[n+2],t.normalize().multiplyScalar(e),i[n+0]=t.x,i[n+1]=t.y,i[n+2]=t.z}function l(){let e=new H;for(let t=0;t<i.length;t+=3){e.x=i[t+0],e.y=i[t+1],e.z=i[t+2];let n=h(e)/2/Math.PI+.5,r=g(e)/Math.PI+.5;a.push(n,1-r)}p(),u()}function u(){for(let e=0;e<a.length;e+=6){let t=a[e+0],n=a[e+2],r=a[e+4];Math.max(t,n,r)>.9&&Math.min(t,n,r)<.1&&(t<.2&&(a[e+0]+=1),n<.2&&(a[e+2]+=1),r<.2&&(a[e+4]+=1))}}function d(e){i.push(e.x,e.y,e.z)}function f(t,n){let r=t*3;n.x=e[r+0],n.y=e[r+1],n.z=e[r+2]}function p(){let e=new H,t=new H,n=new H,r=new H,o=new B,s=new B,c=new B;for(let l=0,u=0;l<i.length;l+=9,u+=6){e.set(i[l+0],i[l+1],i[l+2]),t.set(i[l+3],i[l+4],i[l+5]),n.set(i[l+6],i[l+7],i[l+8]),o.set(a[u+0],a[u+1]),s.set(a[u+2],a[u+3]),c.set(a[u+4],a[u+5]),r.copy(e).add(t).add(n).divideScalar(3);let d=h(r);m(o,u+0,e,d),m(s,u+2,t,d),m(c,u+4,n,d)}}function m(e,t,n,r){r<0&&e.x===1&&(a[t]=e.x-1),n.x===0&&n.z===0&&(a[t]=r/2/Math.PI+.5)}function h(e){return Math.atan2(e.z,-e.x)}function g(e){return Math.atan2(-e.y,Math.sqrt(e.x*e.x+e.z*e.z))}}copy(e){return super.copy(e),this.parameters=Object.assign({},e.parameters),this}static fromJSON(t){return new e(t.vertices,t.indices,t.radius,t.details)}},qd=class e extends Kd{constructor(e=1,t=0){let n=(1+Math.sqrt(5))/2,r=1/n,i=[-1,-1,-1,-1,-1,1,-1,1,-1,-1,1,1,1,-1,-1,1,-1,1,1,1,-1,1,1,1,0,-r,-n,0,-r,n,0,r,-n,0,r,n,-r,-n,0,-r,n,0,r,-n,0,r,n,0,-n,0,-r,n,0,-r,-n,0,r,n,0,r];super(i,[3,11,7,3,7,15,3,15,13,7,19,17,7,17,6,7,6,15,17,4,8,17,8,10,17,10,6,8,0,16,8,16,2,8,2,10,0,12,1,0,1,18,0,18,16,6,10,2,6,2,13,6,13,15,2,16,18,2,18,3,2,3,13,18,1,9,18,9,11,18,11,3,4,14,12,4,12,0,4,0,8,11,9,5,11,5,19,11,19,7,19,5,14,19,14,4,19,4,17,1,12,14,1,14,5,1,5,9],e,t),this.type=`DodecahedronGeometry`,this.parameters={radius:e,detail:t}}static fromJSON(t){return new e(t.radius,t.detail)}},Jd=new H,Yd=new H,Xd=new H,Zd=new Ds,Qd=class extends q{constructor(e=null,t=1){if(super(),this.type=`EdgesGeometry`,this.parameters={geometry:e,thresholdAngle:t},e!==null){let n=1e4,r=Math.cos(Va*t),i=e.getIndex(),a=e.getAttribute(`position`),o=i?i.count:a.count,s=[0,0,0],c=[`a`,`b`,`c`],l=[,,,],u={},d=[];for(let e=0;e<o;e+=3){i?(s[0]=i.getX(e),s[1]=i.getX(e+1),s[2]=i.getX(e+2)):(s[0]=e,s[1]=e+1,s[2]=e+2);let{a:t,b:o,c:f}=Zd;if(t.fromBufferAttribute(a,s[0]),o.fromBufferAttribute(a,s[1]),f.fromBufferAttribute(a,s[2]),Zd.getNormal(Xd),l[0]=`${Math.round(t.x*n)},${Math.round(t.y*n)},${Math.round(t.z*n)}`,l[1]=`${Math.round(o.x*n)},${Math.round(o.y*n)},${Math.round(o.z*n)}`,l[2]=`${Math.round(f.x*n)},${Math.round(f.y*n)},${Math.round(f.z*n)}`,l[0]!==l[1]&&l[1]!==l[2]&&l[2]!==l[0])for(let e=0;e<3;e++){let t=(e+1)%3,n=l[e],i=l[t],a=Zd[c[e]],o=Zd[c[t]],f=`${n}_${i}`,p=`${i}_${n}`;p in u&&u[p]?(Xd.dot(u[p].normal)<=r&&(d.push(a.x,a.y,a.z),d.push(o.x,o.y,o.z)),u[p]=null):f in u||(u[f]={index0:s[e],index1:s[t],normal:Xd.clone()})}}for(let e in u)if(u[e]){let{index0:t,index1:n}=u[e];Jd.fromBufferAttribute(a,t),Yd.fromBufferAttribute(a,n),d.push(Jd.x,Jd.y,Jd.z),d.push(Yd.x,Yd.y,Yd.z)}this.setAttribute(`position`,new K(d,3))}}copy(e){return super.copy(e),this.parameters=Object.assign({},e.parameters),this}},$d=class extends Bd{constructor(e){super(e),this.uuid=o(),this.type=`Shape`,this.holes=[]}getPointsHoles(e){let t=[];for(let n=0,r=this.holes.length;n<r;n++)t[n]=this.holes[n].getPoints(e);return t}extractPoints(e){return{shape:this.getPoints(e),holes:this.getPointsHoles(e)}}copy(e){super.copy(e),this.holes=[];for(let t=0,n=e.holes.length;t<n;t++){let n=e.holes[t];this.holes.push(n.clone())}return this}toJSON(){let e=super.toJSON();e.uuid=this.uuid,e.holes=[];for(let t=0,n=this.holes.length;t<n;t++){let n=this.holes[t];e.holes.push(n.toJSON())}return e}fromJSON(e){super.fromJSON(e),this.uuid=e.uuid,this.holes=[];for(let t=0,n=e.holes.length;t<n;t++){let n=e.holes[t];this.holes.push(new Bd().fromJSON(n))}return this}},ef={triangulate:function(e,t,n=2){let r=t&&t.length,i=r?t[0]*n:e.length,a=In(e,0,i,n,!0),o=[];if(!a||a.next===a.prev)return o;let s,c,l,u,d,f,p;if(r&&(a=Un(e,t,a,n)),e.length>80*n){s=l=e[0],c=u=e[1];for(let t=n;t<i;t+=n)d=e[t],f=e[t+1],d<s&&(s=d),f<c&&(c=f),d>l&&(l=d),f>u&&(u=f);p=Math.max(l-s,u-c),p=p===0?0:32767/p}return Rn(a,o,n,s,c,p,0),o}},tf=class e{static area(e){let t=e.length,n=0;for(let r=t-1,i=0;i<t;r=i++)n+=e[r].x*e[i].y-e[i].x*e[r].y;return n*.5}static isClockWise(t){return e.area(t)<0}static triangulateShape(e,t){let n=[],r=[],i=[];pr(e),mr(n,e);let a=e.length;t.forEach(pr);for(let e=0;e<t.length;e++)r.push(a),a+=t[e].length,mr(n,t[e]);let o=ef.triangulate(n,r);for(let e=0;e<o.length;e+=3)i.push(o.slice(e,e+3));return i}},nf=class e extends q{constructor(e=new $d([new B(.5,.5),new B(-.5,.5),new B(-.5,-.5),new B(.5,-.5)]),t={}){super(),this.type=`ExtrudeGeometry`,this.parameters={shapes:e,options:t},e=Array.isArray(e)?e:[e];let n=this,r=[],i=[];for(let t=0,n=e.length;t<n;t++){let n=e[t];a(n)}this.setAttribute(`position`,new K(r,3)),this.setAttribute(`uv`,new K(i,2)),this.computeVertexNormals();function a(e){let a=[],o=t.curveSegments===void 0?12:t.curveSegments,s=t.steps===void 0?1:t.steps,c=t.depth===void 0?1:t.depth,l=t.bevelEnabled===void 0||t.bevelEnabled,u=t.bevelThickness===void 0?.2:t.bevelThickness,d=t.bevelSize===void 0?u-.1:t.bevelSize,f=t.bevelOffset===void 0?0:t.bevelOffset,p=t.bevelSegments===void 0?3:t.bevelSegments,m=t.extrudePath,h=t.UVGenerator===void 0?rf:t.UVGenerator,g,_=!1,v,y,b,x;m&&(g=m.getSpacedPoints(s),_=!0,l=!1,v=m.computeFrenetFrames(s,!1),y=new H,b=new H,x=new H),l||(p=0,u=0,d=0,f=0);let S=e.extractPoints(o),C=S.shape,w=S.holes;if(!tf.isClockWise(C)){C=C.reverse();for(let e=0,t=w.length;e<t;e++){let t=w[e];tf.isClockWise(t)&&(w[e]=t.reverse())}}let T=tf.triangulateShape(C,w),E=C;for(let e=0,t=w.length;e<t;e++){let t=w[e];C=C.concat(t)}function D(e,t,n){return t||console.error(`THREE.ExtrudeGeometry: vec does not exist`),e.clone().addScaledVector(t,n)}let O=C.length,k=T.length;function A(e,t,n){let r,i,a,o=e.x-t.x,s=e.y-t.y,c=n.x-e.x,l=n.y-e.y,u=o*o+s*s,d=o*l-s*c;if(Math.abs(d)>2**-52){let d=Math.sqrt(u),f=Math.sqrt(c*c+l*l),p=t.x-s/d,m=t.y+o/d,h=n.x-l/f,g=n.y+c/f,_=((h-p)*l-(g-m)*c)/(o*l-s*c);r=p+o*_-e.x,i=m+s*_-e.y;let v=r*r+i*i;if(v<=2)return new B(r,i);a=Math.sqrt(v/2)}else{let e=!1;o>2**-52?c>2**-52&&(e=!0):o<-(2**-52)?c<-(2**-52)&&(e=!0):Math.sign(s)===Math.sign(l)&&(e=!0),e?(r=-s,i=o,a=Math.sqrt(u)):(r=o,i=s,a=Math.sqrt(u/2))}return new B(r/a,i/a)}let j=[];for(let e=0,t=E.length,n=t-1,r=e+1;e<t;e++,n++,r++)n===t&&(n=0),r===t&&(r=0),j[e]=A(E[e],E[n],E[r]);let ee=[],te,ne=j.concat();for(let e=0,t=w.length;e<t;e++){let t=w[e];te=[];for(let e=0,n=t.length,r=n-1,i=e+1;e<n;e++,r++,i++)r===n&&(r=0),i===n&&(i=0),te[e]=A(t[e],t[r],t[i]);ee.push(te),ne=ne.concat(te)}for(let e=0;e<p;e++){let t=e/p,n=u*Math.cos(t*Math.PI/2),r=d*Math.sin(t*Math.PI/2)+f;for(let e=0,t=E.length;e<t;e++){let t=D(E[e],j[e],r);se(t.x,t.y,-n)}for(let e=0,t=w.length;e<t;e++){let t=w[e];te=ee[e];for(let e=0,i=t.length;e<i;e++){let i=D(t[e],te[e],r);se(i.x,i.y,-n)}}}let re=d+f;for(let e=0;e<O;e++){let t=l?D(C[e],ne[e],re):C[e];_?(b.copy(v.normals[0]).multiplyScalar(t.x),y.copy(v.binormals[0]).multiplyScalar(t.y),x.copy(g[0]).add(b).add(y),se(x.x,x.y,x.z)):se(t.x,t.y,0)}for(let e=1;e<=s;e++)for(let t=0;t<O;t++){let n=l?D(C[t],ne[t],re):C[t];_?(b.copy(v.normals[e]).multiplyScalar(n.x),y.copy(v.binormals[e]).multiplyScalar(n.y),x.copy(g[e]).add(b).add(y),se(x.x,x.y,x.z)):se(n.x,n.y,c/s*e)}for(let e=p-1;e>=0;e--){let t=e/p,n=u*Math.cos(t*Math.PI/2),r=d*Math.sin(t*Math.PI/2)+f;for(let e=0,t=E.length;e<t;e++){let t=D(E[e],j[e],r);se(t.x,t.y,c+n)}for(let e=0,t=w.length;e<t;e++){let t=w[e];te=ee[e];for(let e=0,i=t.length;e<i;e++){let i=D(t[e],te[e],r);_?se(i.x,i.y+g[s-1].y,g[s-1].x+n):se(i.x,i.y,c+n)}}}ie(),ae();function ie(){let e=r.length/3;if(l){let e=0,t=O*e;for(let e=0;e<k;e++){let n=T[e];ce(n[2]+t,n[1]+t,n[0]+t)}e=s+p*2,t=O*e;for(let e=0;e<k;e++){let n=T[e];ce(n[0]+t,n[1]+t,n[2]+t)}}else{for(let e=0;e<k;e++){let t=T[e];ce(t[2],t[1],t[0])}for(let e=0;e<k;e++){let t=T[e];ce(t[0]+O*s,t[1]+O*s,t[2]+O*s)}}n.addGroup(e,r.length/3-e,0)}function ae(){let e=r.length/3,t=0;oe(E,t),t+=E.length;for(let e=0,n=w.length;e<n;e++){let n=w[e];oe(n,t),t+=n.length}n.addGroup(e,r.length/3-e,1)}function oe(e,t){let n=e.length;for(;--n>=0;){let r=n,i=n-1;i<0&&(i=e.length-1);for(let e=0,n=s+p*2;e<n;e++){let n=O*e,a=O*(e+1);le(t+r+n,t+i+n,t+i+a,t+r+a)}}}function se(e,t,n){a.push(e),a.push(t),a.push(n)}function ce(e,t,i){M(e),M(t),M(i);let a=r.length/3,o=h.generateTopUV(n,r,a-3,a-2,a-1);N(o[0]),N(o[1]),N(o[2])}function le(e,t,i,a){M(e),M(t),M(a),M(t),M(i),M(a);let o=r.length/3,s=h.generateSideWallUV(n,r,o-6,o-3,o-2,o-1);N(s[0]),N(s[1]),N(s[3]),N(s[1]),N(s[2]),N(s[3])}function M(e){r.push(a[e*3+0]),r.push(a[e*3+1]),r.push(a[e*3+2])}function N(e){i.push(e.x),i.push(e.y)}}}copy(e){return super.copy(e),this.parameters=Object.assign({},e.parameters),this}toJSON(){let e=super.toJSON(),t=this.parameters.shapes,n=this.parameters.options;return hr(t,n,e)}static fromJSON(t,n){let r=[];for(let e=0,i=t.shapes.length;e<i;e++){let i=n[t.shapes[e]];r.push(i)}let i=t.options.extrudePath;return i!==void 0&&(t.options.extrudePath=new Rd[i.type]().fromJSON(i)),new e(r,t.options)}},rf={generateTopUV:function(e,t,n,r,i){let a=t[n*3],o=t[n*3+1],s=t[r*3],c=t[r*3+1],l=t[i*3],u=t[i*3+1];return[new B(a,o),new B(s,c),new B(l,u)]},generateSideWallUV:function(e,t,n,r,i,a){let o=t[n*3],s=t[n*3+1],c=t[n*3+2],l=t[r*3],u=t[r*3+1],d=t[r*3+2],f=t[i*3],p=t[i*3+1],m=t[i*3+2],h=t[a*3],g=t[a*3+1],_=t[a*3+2];return Math.abs(s-u)<Math.abs(o-l)?[new B(o,1-c),new B(l,1-d),new B(f,1-m),new B(h,1-_)]:[new B(s,1-c),new B(u,1-d),new B(p,1-m),new B(g,1-_)]}},af=class e extends Kd{constructor(e=1,t=0){let n=(1+Math.sqrt(5))/2,r=[-1,n,0,1,n,0,-1,-n,0,1,-n,0,0,-1,n,0,1,n,0,-1,-n,0,1,-n,n,0,-1,n,0,1,-n,0,-1,-n,0,1];super(r,[0,11,5,0,5,1,0,1,7,0,7,10,0,10,11,1,5,9,5,11,4,11,10,2,10,7,6,7,1,8,3,9,4,3,4,2,3,2,6,3,6,8,3,8,9,4,9,5,2,4,11,6,2,10,8,6,7,9,8,1],e,t),this.type=`IcosahedronGeometry`,this.parameters={radius:e,detail:t}}static fromJSON(t){return new e(t.radius,t.detail)}},of=class e extends Kd{constructor(e=1,t=0){super([1,0,0,-1,0,0,0,1,0,0,-1,0,0,0,1,0,0,-1],[0,2,4,0,4,3,0,3,5,0,5,2,1,2,5,1,5,3,1,3,4,1,4,2],e,t),this.type=`OctahedronGeometry`,this.parameters={radius:e,detail:t}}static fromJSON(t){return new e(t.radius,t.detail)}},sf=class e extends q{constructor(e=.5,t=1,n=32,r=1,i=0,a=Math.PI*2){super(),this.type=`RingGeometry`,this.parameters={innerRadius:e,outerRadius:t,thetaSegments:n,phiSegments:r,thetaStart:i,thetaLength:a},n=Math.max(3,n),r=Math.max(1,r);let o=[],s=[],c=[],l=[],u=e,d=(t-e)/r,f=new H,p=new B;for(let e=0;e<=r;e++){for(let e=0;e<=n;e++){let r=i+e/n*a;f.x=u*Math.cos(r),f.y=u*Math.sin(r),s.push(f.x,f.y,f.z),c.push(0,0,1),p.x=(f.x/t+1)/2,p.y=(f.y/t+1)/2,l.push(p.x,p.y)}u+=d}for(let e=0;e<r;e++){let t=e*(n+1);for(let e=0;e<n;e++){let r=e+t,i=r,a=r+n+1,s=r+n+2,c=r+1;o.push(i,a,c),o.push(a,s,c)}}this.setIndex(o),this.setAttribute(`position`,new K(s,3)),this.setAttribute(`normal`,new K(c,3)),this.setAttribute(`uv`,new K(l,2))}copy(e){return super.copy(e),this.parameters=Object.assign({},e.parameters),this}static fromJSON(t){return new e(t.innerRadius,t.outerRadius,t.thetaSegments,t.phiSegments,t.thetaStart,t.thetaLength)}},cf=class e extends q{constructor(e=new $d([new B(0,.5),new B(-.5,-.5),new B(.5,-.5)]),t=12){super(),this.type=`ShapeGeometry`,this.parameters={shapes:e,curveSegments:t};let n=[],r=[],i=[],a=[],o=0,s=0;if(Array.isArray(e)===!1)c(e);else for(let t=0;t<e.length;t++)c(e[t]),this.addGroup(o,s,t),o+=s,s=0;this.setIndex(n),this.setAttribute(`position`,new K(r,3)),this.setAttribute(`normal`,new K(i,3)),this.setAttribute(`uv`,new K(a,2));function c(e){let o=r.length/3,c=e.extractPoints(t),l=c.shape,u=c.holes;tf.isClockWise(l)===!1&&(l=l.reverse());for(let e=0,t=u.length;e<t;e++){let t=u[e];tf.isClockWise(t)===!0&&(u[e]=t.reverse())}let d=tf.triangulateShape(l,u);for(let e=0,t=u.length;e<t;e++){let t=u[e];l=l.concat(t)}for(let e=0,t=l.length;e<t;e++){let t=l[e];r.push(t.x,t.y,0),i.push(0,0,1),a.push(t.x,t.y)}for(let e=0,t=d.length;e<t;e++){let t=d[e],r=t[0]+o,i=t[1]+o,a=t[2]+o;n.push(r,i,a),s+=3}}}copy(e){return super.copy(e),this.parameters=Object.assign({},e.parameters),this}toJSON(){let e=super.toJSON(),t=this.parameters.shapes;return gr(t,e)}static fromJSON(t,n){let r=[];for(let e=0,i=t.shapes.length;e<i;e++){let i=n[t.shapes[e]];r.push(i)}return new e(r,t.curveSegments)}},lf=class e extends q{constructor(e=1,t=32,n=16,r=0,i=Math.PI*2,a=0,o=Math.PI){super(),this.type=`SphereGeometry`,this.parameters={radius:e,widthSegments:t,heightSegments:n,phiStart:r,phiLength:i,thetaStart:a,thetaLength:o},t=Math.max(3,Math.floor(t)),n=Math.max(2,Math.floor(n));let s=Math.min(a+o,Math.PI),c=0,l=[],u=new H,d=new H,f=[],p=[],m=[],h=[];for(let f=0;f<=n;f++){let g=[],_=f/n,v=0;f===0&&a===0?v=.5/t:f===n&&s===Math.PI&&(v=-.5/t);for(let n=0;n<=t;n++){let s=n/t;u.x=-e*Math.cos(r+s*i)*Math.sin(a+_*o),u.y=e*Math.cos(a+_*o),u.z=e*Math.sin(r+s*i)*Math.sin(a+_*o),p.push(u.x,u.y,u.z),d.copy(u).normalize(),m.push(d.x,d.y,d.z),h.push(s+v,1-_),g.push(c++)}l.push(g)}for(let e=0;e<n;e++)for(let r=0;r<t;r++){let t=l[e][r+1],i=l[e][r],o=l[e+1][r],c=l[e+1][r+1];(e!==0||a>0)&&f.push(t,i,c),(e!==n-1||s<Math.PI)&&f.push(i,o,c)}this.setIndex(f),this.setAttribute(`position`,new K(p,3)),this.setAttribute(`normal`,new K(m,3)),this.setAttribute(`uv`,new K(h,2))}copy(e){return super.copy(e),this.parameters=Object.assign({},e.parameters),this}static fromJSON(t){return new e(t.radius,t.widthSegments,t.heightSegments,t.phiStart,t.phiLength,t.thetaStart,t.thetaLength)}},uf=class e extends Kd{constructor(e=1,t=0){super([1,1,1,-1,-1,1,-1,1,-1,1,-1,-1],[2,1,0,0,3,2,1,3,0,2,3,1],e,t),this.type=`TetrahedronGeometry`,this.parameters={radius:e,detail:t}}static fromJSON(t){return new e(t.radius,t.detail)}},df=class e extends q{constructor(e=1,t=.4,n=12,r=48,i=Math.PI*2){super(),this.type=`TorusGeometry`,this.parameters={radius:e,tube:t,radialSegments:n,tubularSegments:r,arc:i},n=Math.floor(n),r=Math.floor(r);let a=[],o=[],s=[],c=[],l=new H,u=new H,d=new H;for(let a=0;a<=n;a++)for(let f=0;f<=r;f++){let p=f/r*i,m=a/n*Math.PI*2;u.x=(e+t*Math.cos(m))*Math.cos(p),u.y=(e+t*Math.cos(m))*Math.sin(p),u.z=t*Math.sin(m),o.push(u.x,u.y,u.z),l.x=e*Math.cos(p),l.y=e*Math.sin(p),d.subVectors(u,l).normalize(),s.push(d.x,d.y,d.z),c.push(f/r),c.push(a/n)}for(let e=1;e<=n;e++)for(let t=1;t<=r;t++){let n=(r+1)*e+t-1,i=(r+1)*(e-1)+t-1,o=(r+1)*(e-1)+t,s=(r+1)*e+t;a.push(n,i,s),a.push(i,o,s)}this.setIndex(a),this.setAttribute(`position`,new K(o,3)),this.setAttribute(`normal`,new K(s,3)),this.setAttribute(`uv`,new K(c,2))}copy(e){return super.copy(e),this.parameters=Object.assign({},e.parameters),this}static fromJSON(t){return new e(t.radius,t.tube,t.radialSegments,t.tubularSegments,t.arc)}},ff=class e extends q{constructor(e=1,t=.4,n=64,r=8,i=2,a=3){super(),this.type=`TorusKnotGeometry`,this.parameters={radius:e,tube:t,tubularSegments:n,radialSegments:r,p:i,q:a},n=Math.floor(n),r=Math.floor(r);let o=[],s=[],c=[],l=[],u=new H,d=new H,f=new H,p=new H,m=new H,h=new H,g=new H;for(let o=0;o<=n;++o){let v=o/n*i*Math.PI*2;_(v,i,a,e,f),_(v+.01,i,a,e,p),h.subVectors(p,f),g.addVectors(p,f),m.crossVectors(h,g),g.crossVectors(m,h),m.normalize(),g.normalize();for(let e=0;e<=r;++e){let i=e/r*Math.PI*2,a=-t*Math.cos(i),p=t*Math.sin(i);u.x=f.x+(a*g.x+p*m.x),u.y=f.y+(a*g.y+p*m.y),u.z=f.z+(a*g.z+p*m.z),s.push(u.x,u.y,u.z),d.subVectors(u,f).normalize(),c.push(d.x,d.y,d.z),l.push(o/n),l.push(e/r)}}for(let e=1;e<=n;e++)for(let t=1;t<=r;t++){let n=(r+1)*(e-1)+(t-1),i=(r+1)*e+(t-1),a=(r+1)*e+t,s=(r+1)*(e-1)+t;o.push(n,i,s),o.push(i,a,s)}this.setIndex(o),this.setAttribute(`position`,new K(s,3)),this.setAttribute(`normal`,new K(c,3)),this.setAttribute(`uv`,new K(l,2));function _(e,t,n,r,i){let a=Math.cos(e),o=Math.sin(e),s=n/t*e,c=Math.cos(s);i.x=r*(2+c)*.5*a,i.y=r*(2+c)*o*.5,i.z=r*Math.sin(s)*.5}}copy(e){return super.copy(e),this.parameters=Object.assign({},e.parameters),this}static fromJSON(t){return new e(t.radius,t.tube,t.tubularSegments,t.radialSegments,t.p,t.q)}},pf=class e extends q{constructor(e=new Id(new H(-1,-1,0),new H(-1,1,0),new H(1,1,0)),t=64,n=1,r=8,i=!1){super(),this.type=`TubeGeometry`,this.parameters={path:e,tubularSegments:t,radius:n,radialSegments:r,closed:i};let a=e.computeFrenetFrames(t,i);this.tangents=a.tangents,this.normals=a.normals,this.binormals=a.binormals;let o=new H,s=new H,c=new B,l=new H,u=[],d=[],f=[],p=[];m(),this.setIndex(p),this.setAttribute(`position`,new K(u,3)),this.setAttribute(`normal`,new K(d,3)),this.setAttribute(`uv`,new K(f,2));function m(){for(let e=0;e<t;e++)h(e);h(i===!1?t:0),_(),g()}function h(i){l=e.getPointAt(i/t,l);let c=a.normals[i],f=a.binormals[i];for(let e=0;e<=r;e++){let t=e/r*Math.PI*2,i=Math.sin(t),a=-Math.cos(t);s.x=a*c.x+i*f.x,s.y=a*c.y+i*f.y,s.z=a*c.z+i*f.z,s.normalize(),d.push(s.x,s.y,s.z),o.x=l.x+n*s.x,o.y=l.y+n*s.y,o.z=l.z+n*s.z,u.push(o.x,o.y,o.z)}}function g(){for(let e=1;e<=t;e++)for(let t=1;t<=r;t++){let n=(r+1)*(e-1)+(t-1),i=(r+1)*e+(t-1),a=(r+1)*e+t,o=(r+1)*(e-1)+t;p.push(n,i,o),p.push(i,a,o)}}function _(){for(let e=0;e<=t;e++)for(let n=0;n<=r;n++)c.x=e/t,c.y=n/r,f.push(c.x,c.y)}}copy(e){return super.copy(e),this.parameters=Object.assign({},e.parameters),this}toJSON(){let e=super.toJSON();return e.path=this.parameters.path.toJSON(),e}static fromJSON(t){return new e(new Rd[t.path.type]().fromJSON(t.path),t.tubularSegments,t.radius,t.radialSegments,t.closed)}},mf=class extends q{constructor(e=null){if(super(),this.type=`WireframeGeometry`,this.parameters={geometry:e},e!==null){let t=[],n=new Set,r=new H,i=new H;if(e.index!==null){let a=e.attributes.position,o=e.index,s=e.groups;s.length===0&&(s=[{start:0,count:o.count,materialIndex:0}]);for(let e=0,c=s.length;e<c;++e){let c=s[e],l=c.start,u=c.count;for(let e=l,s=l+u;e<s;e+=3)for(let s=0;s<3;s++){let c=o.getX(e+s),l=o.getX(e+(s+1)%3);r.fromBufferAttribute(a,c),i.fromBufferAttribute(a,l),_r(r,i,n)===!0&&(t.push(r.x,r.y,r.z),t.push(i.x,i.y,i.z))}}}else{let a=e.attributes.position;for(let e=0,o=a.count/3;e<o;e++)for(let o=0;o<3;o++){let s=3*e+o,c=3*e+(o+1)%3;r.fromBufferAttribute(a,s),i.fromBufferAttribute(a,c),_r(r,i,n)===!0&&(t.push(r.x,r.y,r.z),t.push(i.x,i.y,i.z))}}this.setAttribute(`position`,new K(t,3))}}copy(e){return super.copy(e),this.parameters=Object.assign({},e.parameters),this}},hf=Object.freeze({__proto__:null,BoxGeometry:fc,CapsuleGeometry:Hd,CircleGeometry:Ud,ConeGeometry:Gd,CylinderGeometry:Wd,DodecahedronGeometry:qd,EdgesGeometry:Qd,ExtrudeGeometry:nf,IcosahedronGeometry:af,LatheGeometry:Vd,OctahedronGeometry:of,PlaneGeometry:Pc,PolyhedronGeometry:Kd,RingGeometry:sf,ShapeGeometry:cf,SphereGeometry:lf,TetrahedronGeometry:uf,TorusGeometry:df,TorusKnotGeometry:ff,TubeGeometry:pf,WireframeGeometry:mf}),gf=class extends Ns{constructor(e){super(),this.isShadowMaterial=!0,this.type=`ShadowMaterial`,this.color=new W(0),this.transparent=!0,this.fog=!0,this.setValues(e)}copy(e){return super.copy(e),this.color.copy(e.color),this.fog=e.fog,this}},_f=class extends gc{constructor(e){super(e),this.isRawShaderMaterial=!0,this.type=`RawShaderMaterial`}},vf=class extends Ns{constructor(e){super(),this.isMeshStandardMaterial=!0,this.defines={STANDARD:``},this.type=`MeshStandardMaterial`,this.color=new W(16777215),this.roughness=1,this.metalness=0,this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new W(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=0,this.normalScale=new B(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.roughnessMap=null,this.metalnessMap=null,this.alphaMap=null,this.envMap=null,this.envMapRotation=new Xo,this.envMapIntensity=1,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap=`round`,this.wireframeLinejoin=`round`,this.flatShading=!1,this.fog=!0,this.setValues(e)}copy(e){return super.copy(e),this.defines={STANDARD:``},this.color.copy(e.color),this.roughness=e.roughness,this.metalness=e.metalness,this.map=e.map,this.lightMap=e.lightMap,this.lightMapIntensity=e.lightMapIntensity,this.aoMap=e.aoMap,this.aoMapIntensity=e.aoMapIntensity,this.emissive.copy(e.emissive),this.emissiveMap=e.emissiveMap,this.emissiveIntensity=e.emissiveIntensity,this.bumpMap=e.bumpMap,this.bumpScale=e.bumpScale,this.normalMap=e.normalMap,this.normalMapType=e.normalMapType,this.normalScale.copy(e.normalScale),this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.roughnessMap=e.roughnessMap,this.metalnessMap=e.metalnessMap,this.alphaMap=e.alphaMap,this.envMap=e.envMap,this.envMapRotation.copy(e.envMapRotation),this.envMapIntensity=e.envMapIntensity,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.wireframeLinecap=e.wireframeLinecap,this.wireframeLinejoin=e.wireframeLinejoin,this.flatShading=e.flatShading,this.fog=e.fog,this}},yf=class extends vf{constructor(e){super(),this.isMeshPhysicalMaterial=!0,this.defines={STANDARD:``,PHYSICAL:``},this.type=`MeshPhysicalMaterial`,this.anisotropyRotation=0,this.anisotropyMap=null,this.clearcoatMap=null,this.clearcoatRoughness=0,this.clearcoatRoughnessMap=null,this.clearcoatNormalScale=new B(1,1),this.clearcoatNormalMap=null,this.ior=1.5,Object.defineProperty(this,"reflectivity",{get:function(){return s(2.5*(this.ior-1)/(this.ior+1),0,1)},set:function(e){this.ior=(1+.4*e)/(1-.4*e)}}),this.iridescenceMap=null,this.iridescenceIOR=1.3,this.iridescenceThicknessRange=[100,400],this.iridescenceThicknessMap=null,this.sheenColor=new W(0),this.sheenColorMap=null,this.sheenRoughness=1,this.sheenRoughnessMap=null,this.transmissionMap=null,this.thickness=0,this.thicknessMap=null,this.attenuationDistance=1/0,this.attenuationColor=new W(1,1,1),this.specularIntensity=1,this.specularIntensityMap=null,this.specularColor=new W(1,1,1),this.specularColorMap=null,this._anisotropy=0,this._clearcoat=0,this._dispersion=0,this._iridescence=0,this._sheen=0,this._transmission=0,this.setValues(e)}get anisotropy(){return this._anisotropy}set anisotropy(e){this._anisotropy>0!=e>0&&this.version++,this._anisotropy=e}get clearcoat(){return this._clearcoat}set clearcoat(e){this._clearcoat>0!=e>0&&this.version++,this._clearcoat=e}get iridescence(){return this._iridescence}set iridescence(e){this._iridescence>0!=e>0&&this.version++,this._iridescence=e}get dispersion(){return this._dispersion}set dispersion(e){this._dispersion>0!=e>0&&this.version++,this._dispersion=e}get sheen(){return this._sheen}set sheen(e){this._sheen>0!=e>0&&this.version++,this._sheen=e}get transmission(){return this._transmission}set transmission(e){this._transmission>0!=e>0&&this.version++,this._transmission=e}copy(e){return super.copy(e),this.defines={STANDARD:``,PHYSICAL:``},this.anisotropy=e.anisotropy,this.anisotropyRotation=e.anisotropyRotation,this.anisotropyMap=e.anisotropyMap,this.clearcoat=e.clearcoat,this.clearcoatMap=e.clearcoatMap,this.clearcoatRoughness=e.clearcoatRoughness,this.clearcoatRoughnessMap=e.clearcoatRoughnessMap,this.clearcoatNormalMap=e.clearcoatNormalMap,this.clearcoatNormalScale.copy(e.clearcoatNormalScale),this.dispersion=e.dispersion,this.ior=e.ior,this.iridescence=e.iridescence,this.iridescenceMap=e.iridescenceMap,this.iridescenceIOR=e.iridescenceIOR,this.iridescenceThicknessRange=[...e.iridescenceThicknessRange],this.iridescenceThicknessMap=e.iridescenceThicknessMap,this.sheen=e.sheen,this.sheenColor.copy(e.sheenColor),this.sheenColorMap=e.sheenColorMap,this.sheenRoughness=e.sheenRoughness,this.sheenRoughnessMap=e.sheenRoughnessMap,this.transmission=e.transmission,this.transmissionMap=e.transmissionMap,this.thickness=e.thickness,this.thicknessMap=e.thicknessMap,this.attenuationDistance=e.attenuationDistance,this.attenuationColor.copy(e.attenuationColor),this.specularIntensity=e.specularIntensity,this.specularIntensityMap=e.specularIntensityMap,this.specularColor.copy(e.specularColor),this.specularColorMap=e.specularColorMap,this}},bf=class extends Ns{constructor(e){super(),this.isMeshPhongMaterial=!0,this.type=`MeshPhongMaterial`,this.color=new W(16777215),this.specular=new W(1118481),this.shininess=30,this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new W(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=0,this.normalScale=new B(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.envMapRotation=new Xo,this.combine=0,this.reflectivity=1,this.refractionRatio=.98,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap=`round`,this.wireframeLinejoin=`round`,this.flatShading=!1,this.fog=!0,this.setValues(e)}copy(e){return super.copy(e),this.color.copy(e.color),this.specular.copy(e.specular),this.shininess=e.shininess,this.map=e.map,this.lightMap=e.lightMap,this.lightMapIntensity=e.lightMapIntensity,this.aoMap=e.aoMap,this.aoMapIntensity=e.aoMapIntensity,this.emissive.copy(e.emissive),this.emissiveMap=e.emissiveMap,this.emissiveIntensity=e.emissiveIntensity,this.bumpMap=e.bumpMap,this.bumpScale=e.bumpScale,this.normalMap=e.normalMap,this.normalMapType=e.normalMapType,this.normalScale.copy(e.normalScale),this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.specularMap=e.specularMap,this.alphaMap=e.alphaMap,this.envMap=e.envMap,this.envMapRotation.copy(e.envMapRotation),this.combine=e.combine,this.reflectivity=e.reflectivity,this.refractionRatio=e.refractionRatio,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.wireframeLinecap=e.wireframeLinecap,this.wireframeLinejoin=e.wireframeLinejoin,this.flatShading=e.flatShading,this.fog=e.fog,this}},xf=class extends Ns{constructor(e){super(),this.isMeshToonMaterial=!0,this.defines={TOON:``},this.type=`MeshToonMaterial`,this.color=new W(16777215),this.map=null,this.gradientMap=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new W(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=0,this.normalScale=new B(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.alphaMap=null,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap=`round`,this.wireframeLinejoin=`round`,this.fog=!0,this.setValues(e)}copy(e){return super.copy(e),this.color.copy(e.color),this.map=e.map,this.gradientMap=e.gradientMap,this.lightMap=e.lightMap,this.lightMapIntensity=e.lightMapIntensity,this.aoMap=e.aoMap,this.aoMapIntensity=e.aoMapIntensity,this.emissive.copy(e.emissive),this.emissiveMap=e.emissiveMap,this.emissiveIntensity=e.emissiveIntensity,this.bumpMap=e.bumpMap,this.bumpScale=e.bumpScale,this.normalMap=e.normalMap,this.normalMapType=e.normalMapType,this.normalScale.copy(e.normalScale),this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.alphaMap=e.alphaMap,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.wireframeLinecap=e.wireframeLinecap,this.wireframeLinejoin=e.wireframeLinejoin,this.fog=e.fog,this}},Sf=class extends Ns{constructor(e){super(),this.isMeshNormalMaterial=!0,this.type=`MeshNormalMaterial`,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=0,this.normalScale=new B(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.wireframe=!1,this.wireframeLinewidth=1,this.flatShading=!1,this.setValues(e)}copy(e){return super.copy(e),this.bumpMap=e.bumpMap,this.bumpScale=e.bumpScale,this.normalMap=e.normalMap,this.normalMapType=e.normalMapType,this.normalScale.copy(e.normalScale),this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.flatShading=e.flatShading,this}},Cf=class extends Ns{constructor(e){super(),this.isMeshLambertMaterial=!0,this.type=`MeshLambertMaterial`,this.color=new W(16777215),this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new W(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=0,this.normalScale=new B(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.envMapRotation=new Xo,this.combine=0,this.reflectivity=1,this.refractionRatio=.98,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap=`round`,this.wireframeLinejoin=`round`,this.flatShading=!1,this.fog=!0,this.setValues(e)}copy(e){return super.copy(e),this.color.copy(e.color),this.map=e.map,this.lightMap=e.lightMap,this.lightMapIntensity=e.lightMapIntensity,this.aoMap=e.aoMap,this.aoMapIntensity=e.aoMapIntensity,this.emissive.copy(e.emissive),this.emissiveMap=e.emissiveMap,this.emissiveIntensity=e.emissiveIntensity,this.bumpMap=e.bumpMap,this.bumpScale=e.bumpScale,this.normalMap=e.normalMap,this.normalMapType=e.normalMapType,this.normalScale.copy(e.normalScale),this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.specularMap=e.specularMap,this.alphaMap=e.alphaMap,this.envMap=e.envMap,this.envMapRotation.copy(e.envMapRotation),this.combine=e.combine,this.reflectivity=e.reflectivity,this.refractionRatio=e.refractionRatio,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.wireframeLinecap=e.wireframeLinecap,this.wireframeLinejoin=e.wireframeLinejoin,this.flatShading=e.flatShading,this.fog=e.fog,this}},wf=class extends Ns{constructor(e){super(),this.isMeshMatcapMaterial=!0,this.defines={MATCAP:``},this.type=`MeshMatcapMaterial`,this.color=new W(16777215),this.matcap=null,this.map=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=0,this.normalScale=new B(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.alphaMap=null,this.flatShading=!1,this.fog=!0,this.setValues(e)}copy(e){return super.copy(e),this.defines={MATCAP:``},this.color.copy(e.color),this.matcap=e.matcap,this.map=e.map,this.bumpMap=e.bumpMap,this.bumpScale=e.bumpScale,this.normalMap=e.normalMap,this.normalMapType=e.normalMapType,this.normalScale.copy(e.normalScale),this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.alphaMap=e.alphaMap,this.flatShading=e.flatShading,this.fog=e.fog,this}},Tf=class extends Qu{constructor(e){super(),this.isLineDashedMaterial=!0,this.type=`LineDashedMaterial`,this.scale=1,this.dashSize=3,this.gapSize=1,this.setValues(e)}copy(e){return super.copy(e),this.scale=e.scale,this.dashSize=e.dashSize,this.gapSize=e.gapSize,this}},Ef={convertArray:vr,isTypedArray:yr,getKeyframeOrder:br,sortedArray:xr,flattenJSON:Sr,subclip:Cr,makeClipAdditive:wr},Df=class{constructor(e,t,n,r){this.parameterPositions=e,this._cachedIndex=0,this.resultBuffer=r===void 0?new t.constructor(n):r,this.sampleValues=t,this.valueSize=n,this.settings=null,this.DefaultSettings_={}}evaluate(e){let t=this.parameterPositions,n=this._cachedIndex,r=t[n],i=t[n-1];validate_interval:{seek:{let a;linear_scan:{forward_scan:if(!(e<r)){for(let a=n+2;;){if(r===void 0){if(e<i)break forward_scan;return n=t.length,this._cachedIndex=n,this.copySampleValue_(n-1)}if(n===a)break;if(i=r,r=t[++n],e<r)break seek}a=t.length;break linear_scan}if(!(e>=i)){let o=t[1];e<o&&(n=2,i=o);for(let a=n-2;;){if(i===void 0)return this._cachedIndex=0,this.copySampleValue_(0);if(n===a)break;if(r=i,i=t[--n-1],e>=i)break seek}a=n,n=0;break linear_scan}break validate_interval}for(;n<a;){let r=n+a>>>1;e<t[r]?a=r:n=r+1}if(r=t[n],i=t[n-1],i===void 0)return this._cachedIndex=0,this.copySampleValue_(0);if(r===void 0)return n=t.length,this._cachedIndex=n,this.copySampleValue_(n-1)}this._cachedIndex=n,this.intervalChanged_(n,i,r)}return this.interpolate_(n,i,e,r)}getSettings_(){return this.settings||this.DefaultSettings_}copySampleValue_(e){let t=this.resultBuffer,n=this.sampleValues,r=this.valueSize,i=e*r;for(let e=0;e!==r;++e)t[e]=n[i+e];return t}interpolate_(){throw Error(`call to abstract method`)}intervalChanged_(){}},Of=class extends Df{constructor(e,t,n,r){super(e,t,n,r),this._weightPrev=-0,this._offsetPrev=-0,this._weightNext=-0,this._offsetNext=-0,this.DefaultSettings_={endingStart:ra,endingEnd:ra}}intervalChanged_(e,t,n){let r=this.parameterPositions,i=e-2,a=e+1,o=r[i],s=r[a];if(o===void 0)switch(this.getSettings_().endingStart){case ia:i=e,o=2*t-n;break;case aa:i=r.length-2,o=t+r[i]-r[i+1];break;default:i=e,o=n}if(s===void 0)switch(this.getSettings_().endingEnd){case ia:a=e,s=2*n-t;break;case aa:a=1,s=n+r[1]-r[0];break;default:a=e-1,s=t}let c=(n-t)*.5,l=this.valueSize;this._weightPrev=c/(t-o),this._weightNext=c/(s-n),this._offsetPrev=i*l,this._offsetNext=a*l}interpolate_(e,t,n,r){let i=this.resultBuffer,a=this.sampleValues,o=this.valueSize,s=e*o,c=s-o,l=this._offsetPrev,u=this._offsetNext,d=this._weightPrev,f=this._weightNext,p=(n-t)/(r-t),m=p*p,h=m*p,g=-d*h+2*d*m-d*p,_=(1+d)*h+(-1.5-2*d)*m+(-.5+d)*p+1,v=(-1-f)*h+(1.5+f)*m+.5*p,y=f*h-f*m;for(let e=0;e!==o;++e)i[e]=g*a[l+e]+_*a[c+e]+v*a[s+e]+y*a[u+e];return i}},kf=class extends Df{constructor(e,t,n,r){super(e,t,n,r)}interpolate_(e,t,n,r){let i=this.resultBuffer,a=this.sampleValues,o=this.valueSize,s=e*o,c=s-o,l=(n-t)/(r-t),u=1-l;for(let e=0;e!==o;++e)i[e]=a[c+e]*u+a[s+e]*l;return i}},Af=class extends Df{constructor(e,t,n,r){super(e,t,n,r)}interpolate_(e){return this.copySampleValue_(e-1)}},jf=class{constructor(e,t,n,r){if(e===void 0)throw Error(`THREE.KeyframeTrack: track name is undefined`);if(t===void 0||t.length===0)throw Error(`THREE.KeyframeTrack: no keyframes in track named `+e);this.name=e,this.times=vr(t,this.TimeBufferType),this.values=vr(n,this.ValueBufferType),this.setInterpolation(r||this.DefaultInterpolation)}static toJSON(e){let t=e.constructor,n;if(t.toJSON!==this.toJSON)n=t.toJSON(e);else{n={name:e.name,times:vr(e.times,Array),values:vr(e.values,Array)};let t=e.getInterpolation();t!==e.DefaultInterpolation&&(n.interpolation=t)}return n.type=e.ValueTypeName,n}InterpolantFactoryMethodDiscrete(e){return new Af(this.times,this.values,this.getValueSize(),e)}InterpolantFactoryMethodLinear(e){return new kf(this.times,this.values,this.getValueSize(),e)}InterpolantFactoryMethodSmooth(e){return new Of(this.times,this.values,this.getValueSize(),e)}setInterpolation(e){let t;switch(e){case ea:t=this.InterpolantFactoryMethodDiscrete;break;case ta:t=this.InterpolantFactoryMethodLinear;break;case na:t=this.InterpolantFactoryMethodSmooth}if(t===void 0){let t=`unsupported interpolation for `+this.ValueTypeName+` keyframe track named `+this.name;if(this.createInterpolant===void 0){if(e!==this.DefaultInterpolation)this.setInterpolation(this.DefaultInterpolation);else throw Error(t)}return console.warn(`THREE.KeyframeTrack:`,t),this}return this.createInterpolant=t,this}getInterpolation(){switch(this.createInterpolant){case this.InterpolantFactoryMethodDiscrete:return ea;case this.InterpolantFactoryMethodLinear:return ta;case this.InterpolantFactoryMethodSmooth:return na}}getValueSize(){return this.values.length/this.times.length}shift(e){if(e!==0){let t=this.times;for(let n=0,r=t.length;n!==r;++n)t[n]+=e}return this}scale(e){if(e!==1){let t=this.times;for(let n=0,r=t.length;n!==r;++n)t[n]*=e}return this}trim(e,t){let n=this.times,r=n.length,i=0,a=r-1;for(;i!==r&&n[i]<e;)++i;for(;a!==-1&&n[a]>t;)--a;if(++a,i!==0||a!==r){i>=a&&(a=Math.max(a,1),i=a-1);let e=this.getValueSize();this.times=n.slice(i,a),this.values=this.values.slice(i*e,a*e)}return this}validate(){let e=!0,t=this.getValueSize();t-Math.floor(t)!==0&&(console.error(`THREE.KeyframeTrack: Invalid value size in track.`,this),e=!1);let n=this.times,r=this.values,i=n.length;i===0&&(console.error(`THREE.KeyframeTrack: Track is empty.`,this),e=!1);let a=null;for(let t=0;t!==i;t++){let r=n[t];if(typeof r==`number`&&isNaN(r)){console.error(`THREE.KeyframeTrack: Time is not a valid number.`,this,t,r),e=!1;break}if(a!==null&&a>r){console.error(`THREE.KeyframeTrack: Out of order keys.`,this,t,r,a),e=!1;break}a=r}if(r!==void 0&&yr(r))for(let t=0,n=r.length;t!==n;++t){let n=r[t];if(isNaN(n)){console.error(`THREE.KeyframeTrack: Value is not a valid number.`,this,t,n),e=!1;break}}return e}optimize(){let e=this.times.slice(),t=this.values.slice(),n=this.getValueSize(),r=this.getInterpolation()===na,i=e.length-1,a=1;for(let o=1;o<i;++o){let i=!1,s=e[o];if(s!==e[o+1]&&(o!==1||s!==e[0])){if(r)i=!0;else{let e=o*n,r=e-n,a=e+n;for(let o=0;o!==n;++o){let n=t[e+o];if(n!==t[r+o]||n!==t[a+o]){i=!0;break}}}}if(i){if(o!==a){e[a]=e[o];let r=o*n,i=a*n;for(let e=0;e!==n;++e)t[i+e]=t[r+e]}++a}}if(i>0){e[a]=e[i];for(let e=i*n,r=a*n,o=0;o!==n;++o)t[r+o]=t[e+o];++a}return a===e.length?(this.times=e,this.values=t):(this.times=e.slice(0,a),this.values=t.slice(0,a*n)),this}clone(){let e=this.times.slice(),t=this.values.slice(),n=this.constructor,r=new n(this.name,e,t);return r.createInterpolant=this.createInterpolant,r}},jf.prototype.TimeBufferType=Float32Array,jf.prototype.ValueBufferType=Float32Array,jf.prototype.DefaultInterpolation=ta,Mf=class extends jf{constructor(e,t,n){super(e,t,n)}},Mf.prototype.ValueTypeName=`bool`,Mf.prototype.ValueBufferType=Array,Mf.prototype.DefaultInterpolation=ea,Mf.prototype.InterpolantFactoryMethodLinear=void 0,Mf.prototype.InterpolantFactoryMethodSmooth=void 0,Nf=class extends jf{},Nf.prototype.ValueTypeName=`color`,Pf=class extends jf{},Pf.prototype.ValueTypeName=`number`,Ff=class extends Df{constructor(e,t,n,r){super(e,t,n,r)}interpolate_(e,t,n,r){let i=this.resultBuffer,a=this.sampleValues,o=this.valueSize,s=(n-t)/(r-t),c=e*o;for(let e=c+o;c!==e;c+=4)fo.slerpFlat(i,0,a,c-o,a,c,s);return i}},If=class extends jf{InterpolantFactoryMethodLinear(e){return new Ff(this.times,this.values,this.getValueSize(),e)}},If.prototype.ValueTypeName=`quaternion`,If.prototype.InterpolantFactoryMethodSmooth=void 0,Lf=class extends jf{constructor(e,t,n){super(e,t,n)}},Lf.prototype.ValueTypeName=`string`,Lf.prototype.ValueBufferType=Array,Lf.prototype.DefaultInterpolation=ea,Lf.prototype.InterpolantFactoryMethodLinear=void 0,Lf.prototype.InterpolantFactoryMethodSmooth=void 0,Rf=class extends jf{},Rf.prototype.ValueTypeName=`vector`,zf=class{constructor(e=``,t=-1,n=[],r=oa){this.name=e,this.tracks=n,this.duration=t,this.blendMode=r,this.uuid=o(),this.duration<0&&this.resetDuration()}static parse(e){let t=[],n=e.tracks,r=1/(e.fps||1);for(let e=0,i=n.length;e!==i;++e)t.push(Er(n[e]).scale(r));let i=new this(e.name,e.duration,t,e.blendMode);return i.uuid=e.uuid,i}static toJSON(e){let t=[],n=e.tracks,r={name:e.name,duration:e.duration,tracks:t,uuid:e.uuid,blendMode:e.blendMode};for(let e=0,r=n.length;e!==r;++e)t.push(jf.toJSON(n[e]));return r}static CreateFromMorphTargetSequence(e,t,n,r){let i=t.length,a=[];for(let e=0;e<i;e++){let o=[],s=[];o.push((e+i-1)%i,e,(e+1)%i),s.push(0,1,0);let c=br(o);o=xr(o,1,c),s=xr(s,1,c),!r&&o[0]===0&&(o.push(i),s.push(s[0])),a.push(new Pf(`.morphTargetInfluences[`+t[e].name+`]`,o,s).scale(1/n))}return new this(e,-1,a)}static findByName(e,t){let n=e;if(!Array.isArray(e)){let t=e;n=t.geometry&&t.geometry.animations||t.animations}for(let e=0;e<n.length;e++)if(n[e].name===t)return n[e];return null}static CreateClipsFromMorphTargetSequences(e,t,n){let r={},i=/^([\w-]*?)([\d]+)$/;for(let t=0,n=e.length;t<n;t++){let n=e[t],a=n.name.match(i);if(a&&a.length>1){let e=a[1],t=r[e];t||(r[e]=t=[]),t.push(n)}}let a=[];for(let e in r)a.push(this.CreateFromMorphTargetSequence(e,r[e],t,n));return a}static parseAnimation(e,t){if(!e)return console.error(`THREE.AnimationClip: No animation in JSONLoader data.`),null;let n=function(e,t,n,r,i){if(n.length!==0){let a=[],o=[];Sr(n,a,o,r),a.length!==0&&i.push(new e(t,a,o))}},r=[],i=e.name||`default`,a=e.fps||30,o=e.blendMode,s=e.length||-1,c=e.hierarchy||[];for(let e=0;e<c.length;e++){let i=c[e].keys;if(i&&i.length!==0){if(i[0].morphTargets){let e={},t=0;for(;t<i.length;t++)if(i[t].morphTargets)for(let n=0;n<i[t].morphTargets.length;n++)e[i[t].morphTargets[n]]=-1;for(let n in e){let e=[],a=[];for(let r=0;r!==i[t].morphTargets.length;++r){let r=i[t];e.push(r.time),a.push(+(r.morphTarget===n))}r.push(new Pf(`.morphTargetInfluence[`+n+`]`,e,a))}s=e.length*a}else{let a=`.bones[`+t[e].name+`]`;n(Rf,a+`.position`,i,`pos`,r),n(If,a+`.quaternion`,i,`rot`,r),n(Rf,a+`.scale`,i,`scl`,r)}}}return r.length===0?null:new this(i,s,r,o)}resetDuration(){let e=this.tracks,t=0;for(let n=0,r=e.length;n!==r;++n){let e=this.tracks[n];t=Math.max(t,e.times[e.times.length-1])}return this.duration=t,this}trim(){for(let e=0;e<this.tracks.length;e++)this.tracks[e].trim(0,this.duration);return this}validate(){let e=!0;for(let t=0;t<this.tracks.length;t++)e=e&&this.tracks[t].validate();return e}optimize(){for(let e=0;e<this.tracks.length;e++)this.tracks[e].optimize();return this}clone(){let e=[];for(let t=0;t<this.tracks.length;t++)e.push(this.tracks[t].clone());return new this.constructor(this.name,this.duration,e,this.blendMode)}toJSON(){return this.constructor.toJSON(this)}},Bf={enabled:!1,files:{},add:function(e,t){this.enabled!==!1&&(this.files[e]=t)},get:function(e){if(this.enabled!==!1)return this.files[e]},remove:function(e){delete this.files[e]},clear:function(){this.files={}}},Vf=class{constructor(e,t,n){let r=this,i=!1,a=0,o=0,s,c=[];this.onStart=void 0,this.onLoad=e,this.onProgress=t,this.onError=n,this.itemStart=function(e){o++,i===!1&&r.onStart!==void 0&&r.onStart(e,a,o),i=!0},this.itemEnd=function(e){a++,r.onProgress!==void 0&&r.onProgress(e,a,o),a===o&&(i=!1,r.onLoad!==void 0&&r.onLoad())},this.itemError=function(e){r.onError!==void 0&&r.onError(e)},this.resolveURL=function(e){return s?s(e):e},this.setURLModifier=function(e){return s=e,this},this.addHandler=function(e,t){return c.push(e,t),this},this.removeHandler=function(e){let t=c.indexOf(e);return t!==-1&&c.splice(t,2),this},this.getHandler=function(e){for(let t=0,n=c.length;t<n;t+=2){let n=c[t],r=c[t+1];if(n.global&&(n.lastIndex=0),n.test(e))return r}return null}}},Hf=new Vf,Uf=class{constructor(e){this.manager=e===void 0?Hf:e,this.crossOrigin=`anonymous`,this.withCredentials=!1,this.path=``,this.resourcePath=``,this.requestHeader={}}load(){}loadAsync(e,t){let n=this;return new Promise(function(r,i){n.load(e,r,t,i)})}parse(){}setCrossOrigin(e){return this.crossOrigin=e,this}setWithCredentials(e){return this.withCredentials=e,this}setPath(e){return this.path=e,this}setResourcePath(e){return this.resourcePath=e,this}setRequestHeader(e){return this.requestHeader=e,this}},Uf.DEFAULT_MATERIAL_NAME=`__DEFAULT`,Wf={},Gf=class extends Error{constructor(e,t){super(e),this.response=t}},Kf=class extends Uf{constructor(e){super(e)}load(e,t,n,r){e===void 0&&(e=``),this.path!==void 0&&(e=this.path+e),e=this.manager.resolveURL(e);let i=Bf.get(e);if(i!==void 0)return this.manager.itemStart(e),setTimeout(()=>{t&&t(i),this.manager.itemEnd(e)},0),i;if(Wf[e]!==void 0){Wf[e].push({onLoad:t,onProgress:n,onError:r});return}Wf[e]=[],Wf[e].push({onLoad:t,onProgress:n,onError:r});let a=new Request(e,{headers:new Headers(this.requestHeader),credentials:this.withCredentials?`include`:`same-origin`}),o=this.mimeType,s=this.responseType;fetch(a).then(t=>{if(t.status===200||t.status===0){if(t.status===0&&console.warn(`THREE.FileLoader: HTTP Status 0 received.`),typeof ReadableStream>`u`||t.body===void 0||t.body.getReader===void 0)return t;let n=Wf[e],r=t.body.getReader(),i=t.headers.get(`X-File-Size`)||t.headers.get(`Content-Length`),a=i?parseInt(i):0,o=a!==0,s=0,c=new ReadableStream({start(e){t();function t(){r.read().then(({done:r,value:i})=>{if(r)e.close();else{s+=i.byteLength;let r=new ProgressEvent(`progress`,{lengthComputable:o,loaded:s,total:a});for(let e=0,t=n.length;e<t;e++){let t=n[e];t.onProgress&&t.onProgress(r)}e.enqueue(i),t()}},t=>{e.error(t)})}}});return new Response(c)}throw new Gf(`fetch for "${t.url}" responded with ${t.status}: ${t.statusText}`,t)}).then(e=>{switch(s){case`arraybuffer`:return e.arrayBuffer();case`blob`:return e.blob();case`document`:return e.text().then(e=>new DOMParser().parseFromString(e,o));case`json`:return e.json();default:if(o===void 0)return e.text();{let t=/charset="?([^;"\s]*)"?/i.exec(o),n=t&&t[1]?t[1].toLowerCase():void 0,r=new TextDecoder(n);return e.arrayBuffer().then(e=>r.decode(e))}}}).then(t=>{Bf.add(e,t);let n=Wf[e];delete Wf[e];for(let e=0,r=n.length;e<r;e++){let r=n[e];r.onLoad&&r.onLoad(t)}}).catch(t=>{let n=Wf[e];if(n===void 0)throw this.manager.itemError(e),t;delete Wf[e];for(let e=0,r=n.length;e<r;e++){let r=n[e];r.onError&&r.onError(t)}this.manager.itemError(e)}).finally(()=>{this.manager.itemEnd(e)}),this.manager.itemStart(e)}setResponseType(e){return this.responseType=e,this}setMimeType(e){return this.mimeType=e,this}},qf=class extends Uf{constructor(e){super(e)}load(e,t,n,r){let i=this,a=new Kf(this.manager);a.setPath(this.path),a.setRequestHeader(this.requestHeader),a.setWithCredentials(this.withCredentials),a.load(e,function(n){try{t(i.parse(JSON.parse(n)))}catch(t){r?r(t):console.error(t),i.manager.itemError(e)}},n,r)}parse(e){let t=[];for(let n=0;n<e.length;n++){let r=zf.parse(e[n]);t.push(r)}return t}},Jf=class extends Uf{constructor(e){super(e)}load(e,t,n,r){let i=this,a=[],o=new yd,s=new Kf(this.manager);s.setPath(this.path),s.setResponseType(`arraybuffer`),s.setRequestHeader(this.requestHeader),s.setWithCredentials(i.withCredentials);let c=0;function l(l){s.load(e[l],function(e){let n=i.parse(e,!0);a[l]={width:n.width,height:n.height,format:n.format,mipmaps:n.mipmaps},c+=1,c===6&&(n.mipmapCount===1&&(o.minFilter=Ur),o.image=a,o.format=n.format,o.needsUpdate=!0,t&&t(o))},n,r)}if(Array.isArray(e))for(let t=0,n=e.length;t<n;++t)l(t);else s.load(e,function(e){let n=i.parse(e,!0);if(n.isCubemap){let e=n.mipmaps.length/n.mipmapCount;for(let t=0;t<e;t++){a[t]={mipmaps:[]};for(let e=0;e<n.mipmapCount;e++)a[t].mipmaps.push(n.mipmaps[t*n.mipmapCount+e]),a[t].format=n.format,a[t].width=n.width,a[t].height=n.height}o.image=a}else o.image.width=n.width,o.image.height=n.height,o.mipmaps=n.mipmaps;n.mipmapCount===1&&(o.minFilter=Ur),o.format=n.format,o.needsUpdate=!0,t&&t(o)},n,r);return o}},Yf=class extends Uf{constructor(e){super(e)}load(e,t,n,r){this.path!==void 0&&(e=this.path+e),e=this.manager.resolveURL(e);let i=this,a=Bf.get(e);if(a!==void 0)return i.manager.itemStart(e),setTimeout(function(){t&&t(a),i.manager.itemEnd(e)},0),a;let o=A(`img`);function s(){l(),Bf.add(e,this),t&&t(this),i.manager.itemEnd(e)}function c(t){l(),r&&r(t),i.manager.itemError(e),i.manager.itemEnd(e)}function l(){o.removeEventListener(`load`,s,!1),o.removeEventListener(`error`,c,!1)}return o.addEventListener(`load`,s,!1),o.addEventListener(`error`,c,!1),e.slice(0,5)!==`data:`&&this.crossOrigin!==void 0&&(o.crossOrigin=this.crossOrigin),i.manager.itemStart(e),o.src=e,o}},Xf=class extends Uf{constructor(e){super(e)}load(e,t,n,r){let i=new Tc;i.colorSpace=fa;let a=new Yf(this.manager);a.setCrossOrigin(this.crossOrigin),a.setPath(this.path);let o=0;function s(n){a.load(e[n],function(e){i.images[n]=e,o++,o===6&&(i.needsUpdate=!0,t&&t(i))},void 0,r)}for(let t=0;t<e.length;++t)s(t);return i}},Zf=class extends Uf{constructor(e){super(e)}load(e,t,n,r){let i=this,a=new Cu,o=new Kf(this.manager);return o.setResponseType(`arraybuffer`),o.setRequestHeader(this.requestHeader),o.setPath(this.path),o.setWithCredentials(i.withCredentials),o.load(e,function(e){let n;try{n=i.parse(e)}catch(e){if(r!==void 0)r(e);else{console.error(e);return}}n.image===void 0?n.data!==void 0&&(a.image.width=n.width,a.image.height=n.height,a.image.data=n.data):a.image=n.image,a.wrapS=n.wrapS===void 0?z:n.wrapS,a.wrapT=n.wrapT===void 0?z:n.wrapT,a.magFilter=n.magFilter===void 0?Ur:n.magFilter,a.minFilter=n.minFilter===void 0?Ur:n.minFilter,a.anisotropy=n.anisotropy===void 0?1:n.anisotropy,n.colorSpace!==void 0&&(a.colorSpace=n.colorSpace),n.flipY!==void 0&&(a.flipY=n.flipY),n.format!==void 0&&(a.format=n.format),n.type!==void 0&&(a.type=n.type),n.mipmaps!==void 0&&(a.mipmaps=n.mipmaps,a.minFilter=Kr),n.mipmapCount===1&&(a.minFilter=Ur),n.generateMipmaps!==void 0&&(a.generateMipmaps=n.generateMipmaps),a.needsUpdate=!0,t&&t(a,n)},n,r),a}},Qf=class extends Uf{constructor(e){super(e)}load(e,t,n,r){let i=new ro,a=new Yf(this.manager);return a.setCrossOrigin(this.crossOrigin),a.setPath(this.path),a.load(e,function(e){i.image=e,i.needsUpdate=!0,t!==void 0&&t(i)},n,r),i}},$f=class extends ps{constructor(e,t=1){super(),this.isLight=!0,this.type=`Light`,this.color=new W(e),this.intensity=t}dispose(){}copy(e,t){return super.copy(e,t),this.color.copy(e.color),this.intensity=e.intensity,this}toJSON(e){let t=super.toJSON(e);return t.object.color=this.color.getHex(),t.object.intensity=this.intensity,this.groundColor!==void 0&&(t.object.groundColor=this.groundColor.getHex()),this.distance!==void 0&&(t.object.distance=this.distance),this.angle!==void 0&&(t.object.angle=this.angle),this.decay!==void 0&&(t.object.decay=this.decay),this.penumbra!==void 0&&(t.object.penumbra=this.penumbra),this.shadow!==void 0&&(t.object.shadow=this.shadow.toJSON()),this.target!==void 0&&(t.object.target=this.target.uuid),t}},ep=class extends $f{constructor(e,t,n){super(e,n),this.isHemisphereLight=!0,this.type=`HemisphereLight`,this.position.copy(ps.DEFAULT_UP),this.updateMatrix(),this.groundColor=new W(t)}copy(e,t){return super.copy(e,t),this.groundColor.copy(e.groundColor),this}},tp=new U,np=new H,rp=new H,ip=class{constructor(e){this.camera=e,this.intensity=1,this.bias=0,this.normalBias=0,this.radius=1,this.blurSamples=8,this.mapSize=new B(512,512),this.map=null,this.mapPass=null,this.matrix=new U,this.autoUpdate=!0,this.needsUpdate=!1,this._frustum=new Nc,this._frameExtents=new B(1,1),this._viewportCount=1,this._viewports=[new io(0,0,1,1)]}getViewportCount(){return this._viewportCount}getFrustum(){return this._frustum}updateMatrices(e){let t=this.camera,n=this.matrix;np.setFromMatrixPosition(e.matrixWorld),t.position.copy(np),rp.setFromMatrixPosition(e.target.matrixWorld),t.lookAt(rp),t.updateMatrixWorld(),tp.multiplyMatrices(t.projectionMatrix,t.matrixWorldInverse),this._frustum.setFromProjectionMatrix(tp),n.set(.5,0,0,.5,0,.5,0,.5,0,0,.5,.5,0,0,0,1),n.multiply(tp)}getViewport(e){return this._viewports[e]}getFrameExtents(){return this._frameExtents}dispose(){this.map&&this.map.dispose(),this.mapPass&&this.mapPass.dispose()}copy(e){return this.camera=e.camera.clone(),this.intensity=e.intensity,this.bias=e.bias,this.radius=e.radius,this.mapSize.copy(e.mapSize),this}clone(){return new this.constructor().copy(this)}toJSON(){let e={};return this.intensity!==1&&(e.intensity=this.intensity),this.bias!==0&&(e.bias=this.bias),this.normalBias!==0&&(e.normalBias=this.normalBias),this.radius!==1&&(e.radius=this.radius),(this.mapSize.x!==512||this.mapSize.y!==512)&&(e.mapSize=this.mapSize.toArray()),e.camera=this.camera.toJSON(!1).object,delete e.camera.matrix,e}},ap=class extends ip{constructor(){super(new xc(50,1,.5,500)),this.isSpotLightShadow=!0,this.focus=1}updateMatrices(e){let t=this.camera,n=Ha*2*e.angle*this.focus,r=this.mapSize.width/this.mapSize.height,i=e.distance||t.far;(n!==t.fov||r!==t.aspect||i!==t.far)&&(t.fov=n,t.aspect=r,t.far=i,t.updateProjectionMatrix()),super.updateMatrices(e)}copy(e){return super.copy(e),this.focus=e.focus,this}},op=class extends $f{constructor(e,t,n=0,r=Math.PI/3,i=0,a=2){super(e,t),this.isSpotLight=!0,this.type=`SpotLight`,this.position.copy(ps.DEFAULT_UP),this.updateMatrix(),this.target=new ps,this.distance=n,this.angle=r,this.penumbra=i,this.decay=a,this.map=null,this.shadow=new ap}get power(){return this.intensity*Math.PI}set power(e){this.intensity=e/Math.PI}dispose(){this.shadow.dispose()}copy(e,t){return super.copy(e,t),this.distance=e.distance,this.angle=e.angle,this.penumbra=e.penumbra,this.decay=e.decay,this.target=e.target.clone(),this.shadow=e.shadow.clone(),this}},sp=new U,cp=new H,lp=new H,up=class extends ip{constructor(){super(new xc(90,1,.5,500)),this.isPointLightShadow=!0,this._frameExtents=new B(4,2),this._viewportCount=6,this._viewports=[new io(2,1,1,1),new io(0,1,1,1),new io(3,1,1,1),new io(1,1,1,1),new io(3,0,1,1),new io(1,0,1,1)],this._cubeDirections=[new H(1,0,0),new H(-1,0,0),new H(0,0,1),new H(0,0,-1),new H(0,1,0),new H(0,-1,0)],this._cubeUps=[new H(0,1,0),new H(0,1,0),new H(0,1,0),new H(0,1,0),new H(0,0,1),new H(0,0,-1)]}updateMatrices(e,t=0){let n=this.camera,r=this.matrix,i=e.distance||n.far;i!==n.far&&(n.far=i,n.updateProjectionMatrix()),cp.setFromMatrixPosition(e.matrixWorld),n.position.copy(cp),lp.copy(n.position),lp.add(this._cubeDirections[t]),n.up.copy(this._cubeUps[t]),n.lookAt(lp),n.updateMatrixWorld(),r.makeTranslation(-cp.x,-cp.y,-cp.z),sp.multiplyMatrices(n.projectionMatrix,n.matrixWorldInverse),this._frustum.setFromProjectionMatrix(sp)}},dp=class extends $f{constructor(e,t,n=0,r=2){super(e,t),this.isPointLight=!0,this.type=`PointLight`,this.distance=n,this.decay=r,this.shadow=new up}get power(){return this.intensity*4*Math.PI}set power(e){this.intensity=e/(4*Math.PI)}dispose(){this.shadow.dispose()}copy(e,t){return super.copy(e,t),this.distance=e.distance,this.decay=e.decay,this.shadow=e.shadow.clone(),this}},fp=class extends ip{constructor(){super(new zc(-5,5,5,-5,.5,500)),this.isDirectionalLightShadow=!0}},pp=class extends $f{constructor(e,t){super(e,t),this.isDirectionalLight=!0,this.type=`DirectionalLight`,this.position.copy(ps.DEFAULT_UP),this.updateMatrix(),this.target=new ps,this.shadow=new fp}dispose(){this.shadow.dispose()}copy(e){return super.copy(e),this.target=e.target.clone(),this.shadow=e.shadow.clone(),this}},mp=class extends $f{constructor(e,t){super(e,t),this.isAmbientLight=!0,this.type=`AmbientLight`}},hp=class extends $f{constructor(e,t,n=10,r=10){super(e,t),this.isRectAreaLight=!0,this.type=`RectAreaLight`,this.width=n,this.height=r}get power(){return this.intensity*this.width*this.height*Math.PI}set power(e){this.intensity=e/(this.width*this.height*Math.PI)}copy(e){return super.copy(e),this.width=e.width,this.height=e.height,this}toJSON(e){let t=super.toJSON(e);return t.object.width=this.width,t.object.height=this.height,t}},gp=class{constructor(){this.isSphericalHarmonics3=!0,this.coefficients=[];for(let e=0;e<9;e++)this.coefficients.push(new H)}set(e){for(let t=0;t<9;t++)this.coefficients[t].copy(e[t]);return this}zero(){for(let e=0;e<9;e++)this.coefficients[e].set(0,0,0);return this}getAt(e,t){let n=e.x,r=e.y,i=e.z,a=this.coefficients;return t.copy(a[0]).multiplyScalar(.282095),t.addScaledVector(a[1],.488603*r),t.addScaledVector(a[2],.488603*i),t.addScaledVector(a[3],.488603*n),t.addScaledVector(a[4],n*r*1.092548),t.addScaledVector(a[5],r*i*1.092548),t.addScaledVector(a[6],.315392*(3*i*i-1)),t.addScaledVector(a[7],n*i*1.092548),t.addScaledVector(a[8],.546274*(n*n-r*r)),t}getIrradianceAt(e,t){let n=e.x,r=e.y,i=e.z,a=this.coefficients;return t.copy(a[0]).multiplyScalar(.886227),t.addScaledVector(a[1],1.023328*r),t.addScaledVector(a[2],1.023328*i),t.addScaledVector(a[3],1.023328*n),t.addScaledVector(a[4],.858086*n*r),t.addScaledVector(a[5],.858086*r*i),t.addScaledVector(a[6],.743125*i*i-.247708),t.addScaledVector(a[7],.858086*n*i),t.addScaledVector(a[8],.429043*(n*n-r*r)),t}add(e){for(let t=0;t<9;t++)this.coefficients[t].add(e.coefficients[t]);return this}addScaledSH(e,t){for(let n=0;n<9;n++)this.coefficients[n].addScaledVector(e.coefficients[n],t);return this}scale(e){for(let t=0;t<9;t++)this.coefficients[t].multiplyScalar(e);return this}lerp(e,t){for(let n=0;n<9;n++)this.coefficients[n].lerp(e.coefficients[n],t);return this}equals(e){for(let t=0;t<9;t++)if(!this.coefficients[t].equals(e.coefficients[t]))return!1;return!0}copy(e){return this.set(e.coefficients)}clone(){return new this.constructor().copy(this)}fromArray(e,t=0){let n=this.coefficients;for(let r=0;r<9;r++)n[r].fromArray(e,t+r*3);return this}toArray(e=[],t=0){let n=this.coefficients;for(let r=0;r<9;r++)n[r].toArray(e,t+r*3);return e}static getBasisAt(e,t){let n=e.x,r=e.y,i=e.z;t[0]=.282095,t[1]=.488603*r,t[2]=.488603*i,t[3]=.488603*n,t[4]=1.092548*n*r,t[5]=1.092548*r*i,t[6]=.315392*(3*i*i-1),t[7]=1.092548*n*i,t[8]=.546274*(n*n-r*r)}},_p=class extends $f{constructor(e=new gp,t=1){super(void 0,t),this.isLightProbe=!0,this.sh=e}copy(e){return super.copy(e),this.sh.copy(e.sh),this}fromJSON(e){return this.intensity=e.intensity,this.sh.fromArray(e.sh),this}toJSON(e){let t=super.toJSON(e);return t.object.sh=this.sh.toArray(),t}},vp=class e extends Uf{constructor(e){super(e),this.textures={}}load(e,t,n,r){let i=this,a=new Kf(i.manager);a.setPath(i.path),a.setRequestHeader(i.requestHeader),a.setWithCredentials(i.withCredentials),a.load(e,function(n){try{t(i.parse(JSON.parse(n)))}catch(t){r?r(t):console.error(t),i.manager.itemError(e)}},n,r)}parse(e){let t=this.textures;function n(e){return t[e]===void 0&&console.warn(`THREE.MaterialLoader: Undefined texture`,e),t[e]}let r=this.createMaterialFromType(e.type);if(e.uuid!==void 0&&(r.uuid=e.uuid),e.name!==void 0&&(r.name=e.name),e.color!==void 0&&r.color!==void 0&&r.color.setHex(e.color),e.roughness!==void 0&&(r.roughness=e.roughness),e.metalness!==void 0&&(r.metalness=e.metalness),e.sheen!==void 0&&(r.sheen=e.sheen),e.sheenColor!==void 0&&(r.sheenColor=new W().setHex(e.sheenColor)),e.sheenRoughness!==void 0&&(r.sheenRoughness=e.sheenRoughness),e.emissive!==void 0&&r.emissive!==void 0&&r.emissive.setHex(e.emissive),e.specular!==void 0&&r.specular!==void 0&&r.specular.setHex(e.specular),e.specularIntensity!==void 0&&(r.specularIntensity=e.specularIntensity),e.specularColor!==void 0&&r.specularColor!==void 0&&r.specularColor.setHex(e.specularColor),e.shininess!==void 0&&(r.shininess=e.shininess),e.clearcoat!==void 0&&(r.clearcoat=e.clearcoat),e.clearcoatRoughness!==void 0&&(r.clearcoatRoughness=e.clearcoatRoughness),e.dispersion!==void 0&&(r.dispersion=e.dispersion),e.iridescence!==void 0&&(r.iridescence=e.iridescence),e.iridescenceIOR!==void 0&&(r.iridescenceIOR=e.iridescenceIOR),e.iridescenceThicknessRange!==void 0&&(r.iridescenceThicknessRange=e.iridescenceThicknessRange),e.transmission!==void 0&&(r.transmission=e.transmission),e.thickness!==void 0&&(r.thickness=e.thickness),e.attenuationDistance!==void 0&&(r.attenuationDistance=e.attenuationDistance),e.attenuationColor!==void 0&&r.attenuationColor!==void 0&&r.attenuationColor.setHex(e.attenuationColor),e.anisotropy!==void 0&&(r.anisotropy=e.anisotropy),e.anisotropyRotation!==void 0&&(r.anisotropyRotation=e.anisotropyRotation),e.fog!==void 0&&(r.fog=e.fog),e.flatShading!==void 0&&(r.flatShading=e.flatShading),e.blending!==void 0&&(r.blending=e.blending),e.combine!==void 0&&(r.combine=e.combine),e.side!==void 0&&(r.side=e.side),e.shadowSide!==void 0&&(r.shadowSide=e.shadowSide),e.opacity!==void 0&&(r.opacity=e.opacity),e.transparent!==void 0&&(r.transparent=e.transparent),e.alphaTest!==void 0&&(r.alphaTest=e.alphaTest),e.alphaHash!==void 0&&(r.alphaHash=e.alphaHash),e.depthFunc!==void 0&&(r.depthFunc=e.depthFunc),e.depthTest!==void 0&&(r.depthTest=e.depthTest),e.depthWrite!==void 0&&(r.depthWrite=e.depthWrite),e.colorWrite!==void 0&&(r.colorWrite=e.colorWrite),e.blendSrc!==void 0&&(r.blendSrc=e.blendSrc),e.blendDst!==void 0&&(r.blendDst=e.blendDst),e.blendEquation!==void 0&&(r.blendEquation=e.blendEquation),e.blendSrcAlpha!==void 0&&(r.blendSrcAlpha=e.blendSrcAlpha),e.blendDstAlpha!==void 0&&(r.blendDstAlpha=e.blendDstAlpha),e.blendEquationAlpha!==void 0&&(r.blendEquationAlpha=e.blendEquationAlpha),e.blendColor!==void 0&&r.blendColor!==void 0&&r.blendColor.setHex(e.blendColor),e.blendAlpha!==void 0&&(r.blendAlpha=e.blendAlpha),e.stencilWriteMask!==void 0&&(r.stencilWriteMask=e.stencilWriteMask),e.stencilFunc!==void 0&&(r.stencilFunc=e.stencilFunc),e.stencilRef!==void 0&&(r.stencilRef=e.stencilRef),e.stencilFuncMask!==void 0&&(r.stencilFuncMask=e.stencilFuncMask),e.stencilFail!==void 0&&(r.stencilFail=e.stencilFail),e.stencilZFail!==void 0&&(r.stencilZFail=e.stencilZFail),e.stencilZPass!==void 0&&(r.stencilZPass=e.stencilZPass),e.stencilWrite!==void 0&&(r.stencilWrite=e.stencilWrite),e.wireframe!==void 0&&(r.wireframe=e.wireframe),e.wireframeLinewidth!==void 0&&(r.wireframeLinewidth=e.wireframeLinewidth),e.wireframeLinecap!==void 0&&(r.wireframeLinecap=e.wireframeLinecap),e.wireframeLinejoin!==void 0&&(r.wireframeLinejoin=e.wireframeLinejoin),e.rotation!==void 0&&(r.rotation=e.rotation),e.linewidth!==void 0&&(r.linewidth=e.linewidth),e.dashSize!==void 0&&(r.dashSize=e.dashSize),e.gapSize!==void 0&&(r.gapSize=e.gapSize),e.scale!==void 0&&(r.scale=e.scale),e.polygonOffset!==void 0&&(r.polygonOffset=e.polygonOffset),e.polygonOffsetFactor!==void 0&&(r.polygonOffsetFactor=e.polygonOffsetFactor),e.polygonOffsetUnits!==void 0&&(r.polygonOffsetUnits=e.polygonOffsetUnits),e.dithering!==void 0&&(r.dithering=e.dithering),e.alphaToCoverage!==void 0&&(r.alphaToCoverage=e.alphaToCoverage),e.premultipliedAlpha!==void 0&&(r.premultipliedAlpha=e.premultipliedAlpha),e.forceSinglePass!==void 0&&(r.forceSinglePass=e.forceSinglePass),e.visible!==void 0&&(r.visible=e.visible),e.toneMapped!==void 0&&(r.toneMapped=e.toneMapped),e.userData!==void 0&&(r.userData=e.userData),e.vertexColors!==void 0&&(r.vertexColors=typeof e.vertexColors==`number`?e.vertexColors>0:e.vertexColors),e.uniforms!==void 0)for(let t in e.uniforms){let i=e.uniforms[t];switch(r.uniforms[t]={},i.type){case`t`:r.uniforms[t].value=n(i.value);break;case`c`:r.uniforms[t].value=new W().setHex(i.value);break;case`v2`:r.uniforms[t].value=new B().fromArray(i.value);break;case`v3`:r.uniforms[t].value=new H().fromArray(i.value);break;case`v4`:r.uniforms[t].value=new io().fromArray(i.value);break;case`m3`:r.uniforms[t].value=new V().fromArray(i.value);break;case`m4`:r.uniforms[t].value=new U().fromArray(i.value);break;default:r.uniforms[t].value=i.value}}if(e.defines!==void 0&&(r.defines=e.defines),e.vertexShader!==void 0&&(r.vertexShader=e.vertexShader),e.fragmentShader!==void 0&&(r.fragmentShader=e.fragmentShader),e.glslVersion!==void 0&&(r.glslVersion=e.glslVersion),e.extensions!==void 0)for(let t in e.extensions)r.extensions[t]=e.extensions[t];if(e.lights!==void 0&&(r.lights=e.lights),e.clipping!==void 0&&(r.clipping=e.clipping),e.size!==void 0&&(r.size=e.size),e.sizeAttenuation!==void 0&&(r.sizeAttenuation=e.sizeAttenuation),e.map!==void 0&&(r.map=n(e.map)),e.matcap!==void 0&&(r.matcap=n(e.matcap)),e.alphaMap!==void 0&&(r.alphaMap=n(e.alphaMap)),e.bumpMap!==void 0&&(r.bumpMap=n(e.bumpMap)),e.bumpScale!==void 0&&(r.bumpScale=e.bumpScale),e.normalMap!==void 0&&(r.normalMap=n(e.normalMap)),e.normalMapType!==void 0&&(r.normalMapType=e.normalMapType),e.normalScale!==void 0){let t=e.normalScale;Array.isArray(t)===!1&&(t=[t,t]),r.normalScale=new B().fromArray(t)}return e.displacementMap!==void 0&&(r.displacementMap=n(e.displacementMap)),e.displacementScale!==void 0&&(r.displacementScale=e.displacementScale),e.displacementBias!==void 0&&(r.displacementBias=e.displacementBias),e.roughnessMap!==void 0&&(r.roughnessMap=n(e.roughnessMap)),e.metalnessMap!==void 0&&(r.metalnessMap=n(e.metalnessMap)),e.emissiveMap!==void 0&&(r.emissiveMap=n(e.emissiveMap)),e.emissiveIntensity!==void 0&&(r.emissiveIntensity=e.emissiveIntensity),e.specularMap!==void 0&&(r.specularMap=n(e.specularMap)),e.specularIntensityMap!==void 0&&(r.specularIntensityMap=n(e.specularIntensityMap)),e.specularColorMap!==void 0&&(r.specularColorMap=n(e.specularColorMap)),e.envMap!==void 0&&(r.envMap=n(e.envMap)),e.envMapRotation!==void 0&&r.envMapRotation.fromArray(e.envMapRotation),e.envMapIntensity!==void 0&&(r.envMapIntensity=e.envMapIntensity),e.reflectivity!==void 0&&(r.reflectivity=e.reflectivity),e.refractionRatio!==void 0&&(r.refractionRatio=e.refractionRatio),e.lightMap!==void 0&&(r.lightMap=n(e.lightMap)),e.lightMapIntensity!==void 0&&(r.lightMapIntensity=e.lightMapIntensity),e.aoMap!==void 0&&(r.aoMap=n(e.aoMap)),e.aoMapIntensity!==void 0&&(r.aoMapIntensity=e.aoMapIntensity),e.gradientMap!==void 0&&(r.gradientMap=n(e.gradientMap)),e.clearcoatMap!==void 0&&(r.clearcoatMap=n(e.clearcoatMap)),e.clearcoatRoughnessMap!==void 0&&(r.clearcoatRoughnessMap=n(e.clearcoatRoughnessMap)),e.clearcoatNormalMap!==void 0&&(r.clearcoatNormalMap=n(e.clearcoatNormalMap)),e.clearcoatNormalScale!==void 0&&(r.clearcoatNormalScale=new B().fromArray(e.clearcoatNormalScale)),e.iridescenceMap!==void 0&&(r.iridescenceMap=n(e.iridescenceMap)),e.iridescenceThicknessMap!==void 0&&(r.iridescenceThicknessMap=n(e.iridescenceThicknessMap)),e.transmissionMap!==void 0&&(r.transmissionMap=n(e.transmissionMap)),e.thicknessMap!==void 0&&(r.thicknessMap=n(e.thicknessMap)),e.anisotropyMap!==void 0&&(r.anisotropyMap=n(e.anisotropyMap)),e.sheenColorMap!==void 0&&(r.sheenColorMap=n(e.sheenColorMap)),e.sheenRoughnessMap!==void 0&&(r.sheenRoughnessMap=n(e.sheenRoughnessMap)),r}setTextures(e){return this.textures=e,this}createMaterialFromType(t){return e.createMaterialFromType(t)}static createMaterialFromType(e){return new{ShadowMaterial:gf,SpriteMaterial:Jl,RawShaderMaterial:_f,ShaderMaterial:gc,PointsMaterial:dd,MeshPhysicalMaterial:yf,MeshStandardMaterial:vf,MeshPhongMaterial:bf,MeshToonMaterial:xf,MeshNormalMaterial:Sf,MeshLambertMaterial:Cf,MeshDepthMaterial:Tl,MeshDistanceMaterial:El,MeshBasicMaterial:Ps,MeshMatcapMaterial:wf,LineDashedMaterial:Tf,LineBasicMaterial:Qu,Material:Ns}[e]}},yp=class{static decodeText(e){if(console.warn(`THREE.LoaderUtils: decodeText() has been deprecated with r165 and will be removed with r175. Use TextDecoder instead.`),typeof TextDecoder<`u`)return new TextDecoder().decode(e);let t=``;for(let n=0,r=e.length;n<r;n++)t+=String.fromCharCode(e[n]);try{return decodeURIComponent(escape(t))}catch{return t}}static extractUrlBase(e){let t=e.lastIndexOf(`/`);return t===-1?`./`:e.slice(0,t+1)}static resolveURL(e,t){return typeof e!=`string`||e===``?``:(/^https?:\/\//i.test(t)&&/^\//.test(e)&&(t=t.replace(/(^https?:\/\/[^\/]+).*/i,`$1`)),/^(https?:)?\/\//i.test(e)||/^data:.*,.*$/i.test(e)||/^blob:.*$/i.test(e)?e:t+e)}},bp=class extends q{constructor(){super(),this.isInstancedBufferGeometry=!0,this.type=`InstancedBufferGeometry`,this.instanceCount=1/0}copy(e){return super.copy(e),this.instanceCount=e.instanceCount,this}toJSON(){let e=super.toJSON();return e.instanceCount=this.instanceCount,e.isInstancedBufferGeometry=!0,e}},xp=class extends Uf{constructor(e){super(e)}load(e,t,n,r){let i=this,a=new Kf(i.manager);a.setPath(i.path),a.setRequestHeader(i.requestHeader),a.setWithCredentials(i.withCredentials),a.load(e,function(n){try{t(i.parse(JSON.parse(n)))}catch(t){r?r(t):console.error(t),i.manager.itemError(e)}},n,r)}parse(e){let t={},n={};function r(e,n){if(t[n]!==void 0)return t[n];let r=e.interleavedBuffers[n],a=i(e,r.buffer),o=k(r.type,a),s=new Gl(o,r.stride);return s.uuid=r.uuid,t[n]=s,s}function i(e,t){if(n[t]!==void 0)return n[t];let r=e.arrayBuffers[t],i=new Uint32Array(r).buffer;return n[t]=i,i}let a=e.isInstancedBufferGeometry?new bp:new q,o=e.data.index;if(o!==void 0){let e=k(o.type,o.array);a.setIndex(new G(e,1))}let s=e.data.attributes;for(let t in s){let n=s[t],i;if(n.isInterleavedBufferAttribute){let t=r(e.data,n.data);i=new ql(t,n.itemSize,n.offset,n.normalized)}else{let e=k(n.type,n.array);i=new(n.isInstancedBufferAttribute?Du:G)(e,n.itemSize,n.normalized)}n.name!==void 0&&(i.name=n.name),n.usage!==void 0&&i.setUsage(n.usage),a.setAttribute(t,i)}let c=e.data.morphAttributes;if(c)for(let t in c){let n=c[t],i=[];for(let t=0,a=n.length;t<a;t++){let a=n[t],o;if(a.isInterleavedBufferAttribute){let t=r(e.data,a.data);o=new ql(t,a.itemSize,a.offset,a.normalized)}else{let e=k(a.type,a.array);o=new G(e,a.itemSize,a.normalized)}a.name!==void 0&&(o.name=a.name),i.push(o)}a.morphAttributes[t]=i}e.data.morphTargetsRelative&&(a.morphTargetsRelative=!0);let l=e.data.groups||e.data.drawcalls||e.data.offsets;if(l!==void 0)for(let e=0,t=l.length;e!==t;++e){let t=l[e];a.addGroup(t.start,t.count,t.materialIndex)}let u=e.data.boundingSphere;if(u!==void 0){let e=new H;u.center!==void 0&&e.fromArray(u.center),a.boundingSphere=new Mo(e,u.radius)}return e.name&&(a.name=e.name),e.userData&&(a.userData=e.userData),a}},Sp=class extends Uf{constructor(e){super(e)}load(e,t,n,r){let i=this,a=this.path===``?yp.extractUrlBase(e):this.path;this.resourcePath=this.resourcePath||a;let o=new Kf(this.manager);o.setPath(this.path),o.setRequestHeader(this.requestHeader),o.setWithCredentials(this.withCredentials),o.load(e,function(n){let a=null;try{a=JSON.parse(n)}catch(t){r!==void 0&&r(t),console.error(`THREE:ObjectLoader: Can't parse `+e+`.`,t.message);return}let o=a.metadata;o===void 0||o.type===void 0||o.type.toLowerCase()===`geometry`?(r!==void 0&&r(Error(`THREE.ObjectLoader: Can't load `+e)),console.error(`THREE.ObjectLoader: Can't load `+e)):i.parse(a,t)},n,r)}async loadAsync(e,t){let n=this,r=this.path===``?yp.extractUrlBase(e):this.path;this.resourcePath=this.resourcePath||r;let i=new Kf(this.manager);i.setPath(this.path),i.setRequestHeader(this.requestHeader),i.setWithCredentials(this.withCredentials);let a=await i.loadAsync(e,t),o=JSON.parse(a),s=o.metadata;if(s===void 0||s.type===void 0||s.type.toLowerCase()===`geometry`)throw Error(`THREE.ObjectLoader: Can't load `+e);return await n.parseAsync(o)}parse(e,t){let n=this.parseAnimations(e.animations),r=this.parseShapes(e.shapes),i=this.parseGeometries(e.geometries,r),a=this.parseImages(e.images,function(){t!==void 0&&t(c)}),o=this.parseTextures(e.textures,a),s=this.parseMaterials(e.materials,o),c=this.parseObject(e.object,i,s,o,n),l=this.parseSkeletons(e.skeletons,c);if(this.bindSkeletons(c,l),this.bindLightTargets(c),t!==void 0){let e=!1;for(let t in a)if(a[t].data instanceof HTMLImageElement){e=!0;break}e===!1&&t(c)}return c}async parseAsync(e){let t=this.parseAnimations(e.animations),n=this.parseShapes(e.shapes),r=this.parseGeometries(e.geometries,n),i=await this.parseImagesAsync(e.images),a=this.parseTextures(e.textures,i),o=this.parseMaterials(e.materials,a),s=this.parseObject(e.object,r,o,a,t),c=this.parseSkeletons(e.skeletons,s);return this.bindSkeletons(s,c),this.bindLightTargets(s),s}parseShapes(e){let t={};if(e!==void 0)for(let n=0,r=e.length;n<r;n++){let r=new $d().fromJSON(e[n]);t[r.uuid]=r}return t}parseSkeletons(e,t){let n={},r={};if(t.traverse(function(e){e.isBone&&(r[e.uuid]=e)}),e!==void 0)for(let t=0,i=e.length;t<i;t++){let i=new Eu().fromJSON(e[t],r);n[i.uuid]=i}return n}parseGeometries(e,t){let n={};if(e!==void 0){let r=new xp;for(let i=0,a=e.length;i<a;i++){let a,o=e[i];switch(o.type){case`BufferGeometry`:case`InstancedBufferGeometry`:a=r.parse(o);break;default:o.type in hf?a=hf[o.type].fromJSON(o,t):console.warn(`THREE.ObjectLoader: Unsupported geometry type "${o.type}"`)}a.uuid=o.uuid,o.name!==void 0&&(a.name=o.name),o.userData!==void 0&&(a.userData=o.userData),n[o.uuid]=a}}return n}parseMaterials(e,t){let n={},r={};if(e!==void 0){let i=new vp;i.setTextures(t);for(let t=0,a=e.length;t<a;t++){let a=e[t];n[a.uuid]===void 0&&(n[a.uuid]=i.parse(a)),r[a.uuid]=n[a.uuid]}}return r}parseAnimations(e){let t={};if(e!==void 0)for(let n=0;n<e.length;n++){let r=e[n],i=zf.parse(r);t[i.uuid]=i}return t}parseImages(e,t){let n=this,r={},i;function a(e){return n.manager.itemStart(e),i.load(e,function(){n.manager.itemEnd(e)},void 0,function(){n.manager.itemError(e),n.manager.itemEnd(e)})}function o(e){if(typeof e==`string`){let t=e;return a(/^(\/\/)|([a-z]+:(\/\/)?)/i.test(t)?t:n.resourcePath+t)}return e.data?{data:k(e.type,e.data),width:e.width,height:e.height}:null}if(e!==void 0&&e.length>0){let n=new Vf(t);i=new Yf(n),i.setCrossOrigin(this.crossOrigin);for(let t=0,n=e.length;t<n;t++){let n=e[t],i=n.url;if(Array.isArray(i)){let e=[];for(let t=0,n=i.length;t<n;t++){let n=i[t],r=o(n);r!==null&&(r instanceof HTMLImageElement?e.push(r):e.push(new Cu(r.data,r.width,r.height)))}r[n.uuid]=new to(e)}else{let e=o(n.url);r[n.uuid]=new to(e)}}}return r}async parseImagesAsync(e){let t=this,n={},r;async function i(e){if(typeof e==`string`){let n=e,i=/^(\/\/)|([a-z]+:(\/\/)?)/i.test(n)?n:t.resourcePath+n;return await r.loadAsync(i)}return e.data?{data:k(e.type,e.data),width:e.width,height:e.height}:null}if(e!==void 0&&e.length>0){r=new Yf(this.manager),r.setCrossOrigin(this.crossOrigin);for(let t=0,r=e.length;t<r;t++){let r=e[t],a=r.url;if(Array.isArray(a)){let e=[];for(let t=0,n=a.length;t<n;t++){let n=a[t],r=await i(n);r!==null&&(r instanceof HTMLImageElement?e.push(r):e.push(new Cu(r.data,r.width,r.height)))}n[r.uuid]=new to(e)}else{let e=await i(r.url);n[r.uuid]=new to(e)}}}return n}parseTextures(e,t){function n(e,t){return typeof e==`number`?e:(console.warn(`THREE.ObjectLoader.parseTexture: Constant should be in numeric form.`,e),t[e])}let r={};if(e!==void 0)for(let i=0,a=e.length;i<a;i++){let a=e[i];a.image===void 0&&console.warn(`THREE.ObjectLoader: No "image" specified for`,a.uuid),t[a.image]===void 0&&console.warn(`THREE.ObjectLoader: Undefined image`,a.image);let o=t[a.image],s=o.data,c;Array.isArray(s)?(c=new Tc,s.length===6&&(c.needsUpdate=!0)):(c=s&&s.data?new Cu:new ro,s&&(c.needsUpdate=!0)),c.source=o,c.uuid=a.uuid,a.name!==void 0&&(c.name=a.name),a.mapping!==void 0&&(c.mapping=n(a.mapping,Cp)),a.channel!==void 0&&(c.channel=a.channel),a.offset!==void 0&&c.offset.fromArray(a.offset),a.repeat!==void 0&&c.repeat.fromArray(a.repeat),a.center!==void 0&&c.center.fromArray(a.center),a.rotation!==void 0&&(c.rotation=a.rotation),a.wrap!==void 0&&(c.wrapS=n(a.wrap[0],wp),c.wrapT=n(a.wrap[1],wp)),a.format!==void 0&&(c.format=a.format),a.internalFormat!==void 0&&(c.internalFormat=a.internalFormat),a.type!==void 0&&(c.type=a.type),a.colorSpace!==void 0&&(c.colorSpace=a.colorSpace),a.minFilter!==void 0&&(c.minFilter=n(a.minFilter,Tp)),a.magFilter!==void 0&&(c.magFilter=n(a.magFilter,Tp)),a.anisotropy!==void 0&&(c.anisotropy=a.anisotropy),a.flipY!==void 0&&(c.flipY=a.flipY),a.generateMipmaps!==void 0&&(c.generateMipmaps=a.generateMipmaps),a.premultiplyAlpha!==void 0&&(c.premultiplyAlpha=a.premultiplyAlpha),a.unpackAlignment!==void 0&&(c.unpackAlignment=a.unpackAlignment),a.compareFunction!==void 0&&(c.compareFunction=a.compareFunction),a.userData!==void 0&&(c.userData=a.userData),r[a.uuid]=c}return r}parseObject(e,t,n,r,i){let a;function o(e){return t[e]===void 0&&console.warn(`THREE.ObjectLoader: Undefined geometry`,e),t[e]}function s(e){if(e!==void 0){if(Array.isArray(e)){let t=[];for(let r=0,i=e.length;r<i;r++){let i=e[r];n[i]===void 0&&console.warn(`THREE.ObjectLoader: Undefined material`,i),t.push(n[i])}return t}return n[e]===void 0&&console.warn(`THREE.ObjectLoader: Undefined material`,e),n[e]}}function c(e){return r[e]===void 0&&console.warn(`THREE.ObjectLoader: Undefined texture`,e),r[e]}let l,u;switch(e.type){case`Scene`:a=new Wl,e.background!==void 0&&(Number.isInteger(e.background)?a.background=new W(e.background):a.background=c(e.background)),e.environment!==void 0&&(a.environment=c(e.environment)),e.fog!==void 0&&(e.fog.type===`Fog`?a.fog=new Ul(e.fog.color,e.fog.near,e.fog.far):e.fog.type===`FogExp2`&&(a.fog=new Hl(e.fog.color,e.fog.density)),e.fog.name!==``&&(a.fog.name=e.fog.name)),e.backgroundBlurriness!==void 0&&(a.backgroundBlurriness=e.backgroundBlurriness),e.backgroundIntensity!==void 0&&(a.backgroundIntensity=e.backgroundIntensity),e.backgroundRotation!==void 0&&a.backgroundRotation.fromArray(e.backgroundRotation),e.environmentIntensity!==void 0&&(a.environmentIntensity=e.environmentIntensity),e.environmentRotation!==void 0&&a.environmentRotation.fromArray(e.environmentRotation);break;case`PerspectiveCamera`:a=new xc(e.fov,e.aspect,e.near,e.far),e.focus!==void 0&&(a.focus=e.focus),e.zoom!==void 0&&(a.zoom=e.zoom),e.filmGauge!==void 0&&(a.filmGauge=e.filmGauge),e.filmOffset!==void 0&&(a.filmOffset=e.filmOffset),e.view!==void 0&&(a.view=Object.assign({},e.view));break;case`OrthographicCamera`:a=new zc(e.left,e.right,e.top,e.bottom,e.near,e.far),e.zoom!==void 0&&(a.zoom=e.zoom),e.view!==void 0&&(a.view=Object.assign({},e.view));break;case`AmbientLight`:a=new mp(e.color,e.intensity);break;case`DirectionalLight`:a=new pp(e.color,e.intensity),a.target=e.target||``;break;case`PointLight`:a=new dp(e.color,e.intensity,e.distance,e.decay);break;case`RectAreaLight`:a=new hp(e.color,e.intensity,e.width,e.height);break;case`SpotLight`:a=new op(e.color,e.intensity,e.distance,e.angle,e.penumbra,e.decay),a.target=e.target||``;break;case`HemisphereLight`:a=new ep(e.color,e.groundColor,e.intensity);break;case`LightProbe`:a=new _p().fromJSON(e);break;case`SkinnedMesh`:l=o(e.geometry),u=s(e.material),a=new xu(l,u),e.bindMode!==void 0&&(a.bindMode=e.bindMode),e.bindMatrix!==void 0&&a.bindMatrix.fromArray(e.bindMatrix),e.skeleton!==void 0&&(a.skeleton=e.skeleton);break;case`Mesh`:l=o(e.geometry),u=s(e.material),a=new dc(l,u);break;case`InstancedMesh`:l=o(e.geometry),u=s(e.material);let t=e.count,n=e.instanceMatrix,r=e.instanceColor;a=new Fu(l,u,t),a.instanceMatrix=new Du(new Float32Array(n.array),16),r!==void 0&&(a.instanceColor=new Du(new Float32Array(r.array),r.itemSize));break;case`BatchedMesh`:l=o(e.geometry),u=s(e.material),a=new Zu(e.maxInstanceCount,e.maxVertexCount,e.maxIndexCount,u),a.geometry=l,a.perObjectFrustumCulled=e.perObjectFrustumCulled,a.sortObjects=e.sortObjects,a._drawRanges=e.drawRanges,a._reservedRanges=e.reservedRanges,a._visibility=e.visibility,a._active=e.active,a._bounds=e.bounds.map(e=>{let t=new ho;t.min.fromArray(e.boxMin),t.max.fromArray(e.boxMax);let n=new Mo;return n.radius=e.sphereRadius,n.center.fromArray(e.sphereCenter),{boxInitialized:e.boxInitialized,box:t,sphereInitialized:e.sphereInitialized,sphere:n}}),a._maxInstanceCount=e.maxInstanceCount,a._maxVertexCount=e.maxVertexCount,a._maxIndexCount=e.maxIndexCount,a._geometryInitialized=e.geometryInitialized,a._geometryCount=e.geometryCount,a._matricesTexture=c(e.matricesTexture.uuid),e.colorsTexture!==void 0&&(a._colorsTexture=c(e.colorsTexture.uuid));break;case`LOD`:a=new du;break;case`Line`:a=new od(o(e.geometry),s(e.material));break;case`LineLoop`:a=new ud(o(e.geometry),s(e.material));break;case`LineSegments`:a=new ld(o(e.geometry),s(e.material));break;case`PointCloud`:case`Points`:a=new gd(o(e.geometry),s(e.material));break;case`Sprite`:a=new cu(s(e.material));break;case`Group`:a=new Ml;break;case`Bone`:a=new Su;break;default:a=new ps}if(a.uuid=e.uuid,e.name!==void 0&&(a.name=e.name),e.matrix===void 0?(e.position!==void 0&&a.position.fromArray(e.position),e.rotation!==void 0&&a.rotation.fromArray(e.rotation),e.quaternion!==void 0&&a.quaternion.fromArray(e.quaternion),e.scale!==void 0&&a.scale.fromArray(e.scale)):(a.matrix.fromArray(e.matrix),e.matrixAutoUpdate!==void 0&&(a.matrixAutoUpdate=e.matrixAutoUpdate),a.matrixAutoUpdate&&a.matrix.decompose(a.position,a.quaternion,a.scale)),e.up!==void 0&&a.up.fromArray(e.up),e.castShadow!==void 0&&(a.castShadow=e.castShadow),e.receiveShadow!==void 0&&(a.receiveShadow=e.receiveShadow),e.shadow&&(e.shadow.intensity!==void 0&&(a.shadow.intensity=e.shadow.intensity),e.shadow.bias!==void 0&&(a.shadow.bias=e.shadow.bias),e.shadow.normalBias!==void 0&&(a.shadow.normalBias=e.shadow.normalBias),e.shadow.radius!==void 0&&(a.shadow.radius=e.shadow.radius),e.shadow.mapSize!==void 0&&a.shadow.mapSize.fromArray(e.shadow.mapSize),e.shadow.camera!==void 0&&(a.shadow.camera=this.parseObject(e.shadow.camera))),e.visible!==void 0&&(a.visible=e.visible),e.frustumCulled!==void 0&&(a.frustumCulled=e.frustumCulled),e.renderOrder!==void 0&&(a.renderOrder=e.renderOrder),e.userData!==void 0&&(a.userData=e.userData),e.layers!==void 0&&(a.layers.mask=e.layers),e.children!==void 0){let o=e.children;for(let e=0;e<o.length;e++)a.add(this.parseObject(o[e],t,n,r,i))}if(e.animations!==void 0){let t=e.animations;for(let e=0;e<t.length;e++){let n=t[e];a.animations.push(i[n])}}if(e.type===`LOD`){e.autoUpdate!==void 0&&(a.autoUpdate=e.autoUpdate);let t=e.levels;for(let e=0;e<t.length;e++){let n=t[e],r=a.getObjectByProperty(`uuid`,n.object);r!==void 0&&a.addLevel(r,n.distance,n.hysteresis)}}return a}bindSkeletons(e,t){Object.keys(t).length!==0&&e.traverse(function(e){if(e.isSkinnedMesh===!0&&e.skeleton!==void 0){let n=t[e.skeleton];n===void 0?console.warn(`THREE.ObjectLoader: No skeleton found with UUID:`,e.skeleton):e.bind(n,e.bindMatrix)}})}bindLightTargets(e){e.traverse(function(t){if(t.isDirectionalLight||t.isSpotLight){let n=t.target,r=e.getObjectByProperty(`uuid`,n);t.target=r===void 0?new ps:r}})}},Cp={UVMapping:300,CubeReflectionMapping:301,CubeRefractionMapping:302,EquirectangularReflectionMapping:303,EquirectangularRefractionMapping:304,CubeUVReflectionMapping:306},wp={RepeatWrapping:Ir,ClampToEdgeWrapping:z,MirroredRepeatWrapping:Lr},Tp={NearestFilter:Rr,NearestMipmapNearestFilter:zr,NearestMipmapLinearFilter:Vr,LinearFilter:Ur,LinearMipmapNearestFilter:Wr,LinearMipmapLinearFilter:Kr},Ep=class extends Uf{constructor(e){super(e),this.isImageBitmapLoader=!0,typeof createImageBitmap>`u`&&console.warn(`THREE.ImageBitmapLoader: createImageBitmap() not supported.`),typeof fetch>`u`&&console.warn(`THREE.ImageBitmapLoader: fetch() not supported.`),this.options={premultiplyAlpha:`none`}}setOptions(e){return this.options=e,this}load(e,t,n,r){e===void 0&&(e=``),this.path!==void 0&&(e=this.path+e),e=this.manager.resolveURL(e);let i=this,a=Bf.get(e);if(a!==void 0){if(i.manager.itemStart(e),a.then){a.then(n=>{t&&t(n),i.manager.itemEnd(e)}).catch(e=>{r&&r(e)});return}return setTimeout(function(){t&&t(a),i.manager.itemEnd(e)},0),a}let o={};o.credentials=this.crossOrigin===`anonymous`?`same-origin`:`include`,o.headers=this.requestHeader;let s=fetch(e,o).then(function(e){return e.blob()}).then(function(e){return createImageBitmap(e,Object.assign(i.options,{colorSpaceConversion:`none`}))}).then(function(n){return Bf.add(e,n),t&&t(n),i.manager.itemEnd(e),n}).catch(function(t){r&&r(t),Bf.remove(e),i.manager.itemError(e),i.manager.itemEnd(e)});Bf.add(e,s),i.manager.itemStart(e)}},Op=class{static getContext(){return Dp===void 0&&(Dp=new(window.AudioContext||window.webkitAudioContext)),Dp}static setContext(e){Dp=e}},kp=class extends Uf{constructor(e){super(e)}load(e,t,n,r){let i=this,a=new Kf(this.manager);a.setResponseType(`arraybuffer`),a.setPath(this.path),a.setRequestHeader(this.requestHeader),a.setWithCredentials(this.withCredentials),a.load(e,function(e){try{let n=e.slice(0);Op.getContext().decodeAudioData(n,function(e){t(e)}).catch(o)}catch(e){o(e)}},n,r);function o(t){r?r(t):console.error(t),i.manager.itemError(e)}}},Ap=new U,jp=new U,Mp=new U,Np=class{constructor(){this.type=`StereoCamera`,this.aspect=1,this.eyeSep=.064,this.cameraL=new xc,this.cameraL.layers.enable(1),this.cameraL.matrixAutoUpdate=!1,this.cameraR=new xc,this.cameraR.layers.enable(2),this.cameraR.matrixAutoUpdate=!1,this._cache={focus:null,fov:null,aspect:null,near:null,far:null,zoom:null,eyeSep:null}}update(e){let t=this._cache;if(t.focus!==e.focus||t.fov!==e.fov||t.aspect!==e.aspect*this.aspect||t.near!==e.near||t.far!==e.far||t.zoom!==e.zoom||t.eyeSep!==this.eyeSep){t.focus=e.focus,t.fov=e.fov,t.aspect=e.aspect*this.aspect,t.near=e.near,t.far=e.far,t.zoom=e.zoom,t.eyeSep=this.eyeSep,Mp.copy(e.projectionMatrix);let n=t.eyeSep/2,r=n*t.near/t.focus,i=t.near*Math.tan(Va*t.fov*.5)/t.zoom,a,o;jp.elements[12]=-n,Ap.elements[12]=n,a=-i*t.aspect+r,o=i*t.aspect+r,Mp.elements[0]=2*t.near/(o-a),Mp.elements[8]=(o+a)/(o-a),this.cameraL.projectionMatrix.copy(Mp),a=-i*t.aspect-r,o=i*t.aspect-r,Mp.elements[0]=2*t.near/(o-a),Mp.elements[8]=(o+a)/(o-a),this.cameraR.projectionMatrix.copy(Mp)}this.cameraL.matrixWorld.copy(e.matrixWorld).multiply(jp),this.cameraR.matrixWorld.copy(e.matrixWorld).multiply(Ap)}},Pp=class{constructor(e=!0){this.autoStart=e,this.startTime=0,this.oldTime=0,this.elapsedTime=0,this.running=!1}start(){this.startTime=Dr(),this.oldTime=this.startTime,this.elapsedTime=0,this.running=!0}stop(){this.getElapsedTime(),this.running=!1,this.autoStart=!1}getElapsedTime(){return this.getDelta(),this.elapsedTime}getDelta(){let e=0;if(this.autoStart&&!this.running)return this.start(),0;if(this.running){let t=Dr();e=(t-this.oldTime)/1e3,this.oldTime=t,this.elapsedTime+=e}return e}},Fp=new H,Ip=new fo,Lp=new H,Rp=new H,zp=class extends ps{constructor(){super(),this.type=`AudioListener`,this.context=Op.getContext(),this.gain=this.context.createGain(),this.gain.connect(this.context.destination),this.filter=null,this.timeDelta=0,this._clock=new Pp}getInput(){return this.gain}removeFilter(){return this.filter!==null&&(this.gain.disconnect(this.filter),this.filter.disconnect(this.context.destination),this.gain.connect(this.context.destination),this.filter=null),this}getFilter(){return this.filter}setFilter(e){return this.filter===null?this.gain.disconnect(this.context.destination):(this.gain.disconnect(this.filter),this.filter.disconnect(this.context.destination)),this.filter=e,this.gain.connect(this.filter),this.filter.connect(this.context.destination),this}getMasterVolume(){return this.gain.gain.value}setMasterVolume(e){return this.gain.gain.setTargetAtTime(e,this.context.currentTime,.01),this}updateMatrixWorld(e){super.updateMatrixWorld(e);let t=this.context.listener,n=this.up;if(this.timeDelta=this._clock.getDelta(),this.matrixWorld.decompose(Fp,Ip,Lp),Rp.set(0,0,-1).applyQuaternion(Ip),t.positionX){let e=this.context.currentTime+this.timeDelta;t.positionX.linearRampToValueAtTime(Fp.x,e),t.positionY.linearRampToValueAtTime(Fp.y,e),t.positionZ.linearRampToValueAtTime(Fp.z,e),t.forwardX.linearRampToValueAtTime(Rp.x,e),t.forwardY.linearRampToValueAtTime(Rp.y,e),t.forwardZ.linearRampToValueAtTime(Rp.z,e),t.upX.linearRampToValueAtTime(n.x,e),t.upY.linearRampToValueAtTime(n.y,e),t.upZ.linearRampToValueAtTime(n.z,e)}else t.setPosition(Fp.x,Fp.y,Fp.z),t.setOrientation(Rp.x,Rp.y,Rp.z,n.x,n.y,n.z)}},Bp=class extends ps{constructor(e){super(),this.type=`Audio`,this.listener=e,this.context=e.context,this.gain=this.context.createGain(),this.gain.connect(e.getInput()),this.autoplay=!1,this.buffer=null,this.detune=0,this.loop=!1,this.loopStart=0,this.loopEnd=0,this.offset=0,this.duration=void 0,this.playbackRate=1,this.isPlaying=!1,this.hasPlaybackControl=!0,this.source=null,this.sourceType=`empty`,this._startedAt=0,this._progress=0,this._connected=!1,this.filters=[]}getOutput(){return this.gain}setNodeSource(e){return this.hasPlaybackControl=!1,this.sourceType=`audioNode`,this.source=e,this.connect(),this}setMediaElementSource(e){return this.hasPlaybackControl=!1,this.sourceType=`mediaNode`,this.source=this.context.createMediaElementSource(e),this.connect(),this}setMediaStreamSource(e){return this.hasPlaybackControl=!1,this.sourceType=`mediaStreamNode`,this.source=this.context.createMediaStreamSource(e),this.connect(),this}setBuffer(e){return this.buffer=e,this.sourceType=`buffer`,this.autoplay&&this.play(),this}play(e=0){if(this.isPlaying===!0){console.warn(`THREE.Audio: Audio is already playing.`);return}if(this.hasPlaybackControl===!1){console.warn(`THREE.Audio: this Audio has no playback control.`);return}this._startedAt=this.context.currentTime+e;let t=this.context.createBufferSource();return t.buffer=this.buffer,t.loop=this.loop,t.loopStart=this.loopStart,t.loopEnd=this.loopEnd,t.onended=this.onEnded.bind(this),t.start(this._startedAt,this._progress+this.offset,this.duration),this.isPlaying=!0,this.source=t,this.setDetune(this.detune),this.setPlaybackRate(this.playbackRate),this.connect()}pause(){if(this.hasPlaybackControl===!1)console.warn(`THREE.Audio: this Audio has no playback control.`);else return this.isPlaying===!0&&(this._progress+=Math.max(this.context.currentTime-this._startedAt,0)*this.playbackRate,this.loop===!0&&(this._progress%=this.duration||this.buffer.duration),this.source.stop(),this.source.onended=null,this.isPlaying=!1),this}stop(e=0){if(this.hasPlaybackControl===!1)console.warn(`THREE.Audio: this Audio has no playback control.`);else return this._progress=0,this.source!==null&&(this.source.stop(this.context.currentTime+e),this.source.onended=null),this.isPlaying=!1,this}connect(){if(this.filters.length>0){this.source.connect(this.filters[0]);for(let e=1,t=this.filters.length;e<t;e++)this.filters[e-1].connect(this.filters[e]);this.filters[this.filters.length-1].connect(this.getOutput())}else this.source.connect(this.getOutput());return this._connected=!0,this}disconnect(){if(this._connected!==!1){if(this.filters.length>0){this.source.disconnect(this.filters[0]);for(let e=1,t=this.filters.length;e<t;e++)this.filters[e-1].disconnect(this.filters[e]);this.filters[this.filters.length-1].disconnect(this.getOutput())}else this.source.disconnect(this.getOutput());return this._connected=!1,this}}getFilters(){return this.filters}setFilters(e){return e||(e=[]),this._connected===!0?(this.disconnect(),this.filters=e.slice(),this.connect()):this.filters=e.slice(),this}setDetune(e){return this.detune=e,this.isPlaying===!0&&this.source.detune!==void 0&&this.source.detune.setTargetAtTime(this.detune,this.context.currentTime,.01),this}getDetune(){return this.detune}getFilter(){return this.getFilters()[0]}setFilter(e){return this.setFilters(e?[e]:[])}setPlaybackRate(e){if(this.hasPlaybackControl===!1)console.warn(`THREE.Audio: this Audio has no playback control.`);else return this.playbackRate=e,this.isPlaying===!0&&this.source.playbackRate.setTargetAtTime(this.playbackRate,this.context.currentTime,.01),this}getPlaybackRate(){return this.playbackRate}onEnded(){this.isPlaying=!1}getLoop(){return this.hasPlaybackControl===!1?(console.warn(`THREE.Audio: this Audio has no playback control.`),!1):this.loop}setLoop(e){if(this.hasPlaybackControl===!1)console.warn(`THREE.Audio: this Audio has no playback control.`);else return this.loop=e,this.isPlaying===!0&&(this.source.loop=this.loop),this}setLoopStart(e){return this.loopStart=e,this}setLoopEnd(e){return this.loopEnd=e,this}getVolume(){return this.gain.gain.value}setVolume(e){return this.gain.gain.setTargetAtTime(e,this.context.currentTime,.01),this}},Vp=new H,Hp=new fo,Up=new H,Wp=new H,Gp=class extends Bp{constructor(e){super(e),this.panner=this.context.createPanner(),this.panner.panningModel=`HRTF`,this.panner.connect(this.gain)}connect(){super.connect(),this.panner.connect(this.gain)}disconnect(){super.disconnect(),this.panner.disconnect(this.gain)}getOutput(){return this.panner}getRefDistance(){return this.panner.refDistance}setRefDistance(e){return this.panner.refDistance=e,this}getRolloffFactor(){return this.panner.rolloffFactor}setRolloffFactor(e){return this.panner.rolloffFactor=e,this}getDistanceModel(){return this.panner.distanceModel}setDistanceModel(e){return this.panner.distanceModel=e,this}getMaxDistance(){return this.panner.maxDistance}setMaxDistance(e){return this.panner.maxDistance=e,this}setDirectionalCone(e,t,n){return this.panner.coneInnerAngle=e,this.panner.coneOuterAngle=t,this.panner.coneOuterGain=n,this}updateMatrixWorld(e){if(super.updateMatrixWorld(e),this.hasPlaybackControl===!0&&this.isPlaying===!1)return;this.matrixWorld.decompose(Vp,Hp,Up),Wp.set(0,0,1).applyQuaternion(Hp);let t=this.panner;if(t.positionX){let e=this.context.currentTime+this.listener.timeDelta;t.positionX.linearRampToValueAtTime(Vp.x,e),t.positionY.linearRampToValueAtTime(Vp.y,e),t.positionZ.linearRampToValueAtTime(Vp.z,e),t.orientationX.linearRampToValueAtTime(Wp.x,e),t.orientationY.linearRampToValueAtTime(Wp.y,e),t.orientationZ.linearRampToValueAtTime(Wp.z,e)}else t.setPosition(Vp.x,Vp.y,Vp.z),t.setOrientation(Wp.x,Wp.y,Wp.z)}},Kp=class{constructor(e,t=2048){this.analyser=e.context.createAnalyser(),this.analyser.fftSize=t,this.data=new Uint8Array(this.analyser.frequencyBinCount),e.getOutput().connect(this.analyser)}getFrequencyData(){return this.analyser.getByteFrequencyData(this.data),this.data}getAverageFrequency(){let e=0,t=this.getFrequencyData();for(let n=0;n<t.length;n++)e+=t[n];return e/t.length}},qp=class{constructor(e,t,n){this.binding=e,this.valueSize=n;let r,i,a;switch(t){case`quaternion`:r=this._slerp,i=this._slerpAdditive,a=this._setAdditiveIdentityQuaternion,this.buffer=new Float64Array(n*6),this._workIndex=5;break;case`string`:case`bool`:r=this._select,i=this._select,a=this._setAdditiveIdentityOther,this.buffer=Array(n*5);break;default:r=this._lerp,i=this._lerpAdditive,a=this._setAdditiveIdentityNumeric,this.buffer=new Float64Array(n*5)}this._mixBufferRegion=r,this._mixBufferRegionAdditive=i,this._setIdentity=a,this._origIndex=3,this._addIndex=4,this.cumulativeWeight=0,this.cumulativeWeightAdditive=0,this.useCount=0,this.referenceCount=0}accumulate(e,t){let n=this.buffer,r=this.valueSize,i=e*r+r,a=this.cumulativeWeight;if(a===0){for(let e=0;e!==r;++e)n[i+e]=n[e];a=t}else{a+=t;let e=t/a;this._mixBufferRegion(n,i,0,e,r)}this.cumulativeWeight=a}accumulateAdditive(e){let t=this.buffer,n=this.valueSize,r=n*this._addIndex;this.cumulativeWeightAdditive===0&&this._setIdentity(),this._mixBufferRegionAdditive(t,r,0,e,n),this.cumulativeWeightAdditive+=e}apply(e){let t=this.valueSize,n=this.buffer,r=e*t+t,i=this.cumulativeWeight,a=this.cumulativeWeightAdditive,o=this.binding;if(this.cumulativeWeight=0,this.cumulativeWeightAdditive=0,i<1){let e=t*this._origIndex;this._mixBufferRegion(n,r,e,1-i,t)}a>0&&this._mixBufferRegionAdditive(n,r,this._addIndex*t,1,t);for(let e=t,i=t+t;e!==i;++e)if(n[e]!==n[e+t]){o.setValue(n,r);break}}saveOriginalState(){let e=this.binding,t=this.buffer,n=this.valueSize,r=n*this._origIndex;e.getValue(t,r);for(let e=n,i=r;e!==i;++e)t[e]=t[r+e%n];this._setIdentity(),this.cumulativeWeight=0,this.cumulativeWeightAdditive=0}restoreOriginalState(){let e=this.valueSize*3;this.binding.setValue(this.buffer,e)}_setAdditiveIdentityNumeric(){let e=this._addIndex*this.valueSize,t=e+this.valueSize;for(let n=e;n<t;n++)this.buffer[n]=0}_setAdditiveIdentityQuaternion(){this._setAdditiveIdentityNumeric(),this.buffer[this._addIndex*this.valueSize+3]=1}_setAdditiveIdentityOther(){let e=this._origIndex*this.valueSize,t=this._addIndex*this.valueSize;for(let n=0;n<this.valueSize;n++)this.buffer[t+n]=this.buffer[e+n]}_select(e,t,n,r,i){if(r>=.5)for(let r=0;r!==i;++r)e[t+r]=e[n+r]}_slerp(e,t,n,r){fo.slerpFlat(e,t,e,t,e,n,r)}_slerpAdditive(e,t,n,r,i){let a=this._workIndex*i;fo.multiplyQuaternionsFlat(e,a,e,t,e,n),fo.slerpFlat(e,t,e,t,e,a,r)}_lerp(e,t,n,r,i){let a=1-r;for(let o=0;o!==i;++o){let i=t+o;e[i]=e[i]*a+e[n+o]*r}}_lerpAdditive(e,t,n,r,i){for(let a=0;a!==i;++a){let i=t+a;e[i]=e[i]+e[n+a]*r}}},Jp=`\\[\\]\\.:\\/`,Yp=RegExp(`[\\[\\]\\.:\\/]`,`g`),Xp=`[^\\[\\]\\.:\\/]`,Zp=`[^`+Jp.replace(`\\.`,``)+`]`,Qp=`((?:WC+[\\/:])*)`.replace(`WC`,Xp),$p=`(WCOD+)?`.replace(`WCOD`,Zp),em=`(?:\\.(WC+)(?:\\[(.+)\\])?)?`.replace(`WC`,Xp),tm=`\\.(WC+)(?:\\[(.+)\\])?`.replace(`WC`,Xp),nm=RegExp(`^`+Qp+$p+em+tm+`$`),rm=[`material`,`materials`,`bones`,`map`],im=class{constructor(e,t,n){let r=n||am.parseTrackName(t);this._targetGroup=e,this._bindings=e.subscribe_(t,r)}getValue(e,t){this.bind();let n=this._targetGroup.nCachedObjects_,r=this._bindings[n];r!==void 0&&r.getValue(e,t)}setValue(e,t){let n=this._bindings;for(let r=this._targetGroup.nCachedObjects_,i=n.length;r!==i;++r)n[r].setValue(e,t)}bind(){let e=this._bindings;for(let t=this._targetGroup.nCachedObjects_,n=e.length;t!==n;++t)e[t].bind()}unbind(){let e=this._bindings;for(let t=this._targetGroup.nCachedObjects_,n=e.length;t!==n;++t)e[t].unbind()}},am=class e{constructor(t,n,r){this.path=n,this.parsedPath=r||e.parseTrackName(n),this.node=e.findNode(t,this.parsedPath.nodeName),this.rootNode=t,this.getValue=this._getValue_unbound,this.setValue=this._setValue_unbound}static create(t,n,r){return t&&t.isAnimationObjectGroup?new e.Composite(t,n,r):new e(t,n,r)}static sanitizeNodeName(e){return e.replace(/\s/g,`_`).replace(Yp,``)}static parseTrackName(e){let t=nm.exec(e);if(t===null)throw Error(`PropertyBinding: Cannot parse trackName: `+e);let n={nodeName:t[2],objectName:t[3],objectIndex:t[4],propertyName:t[5],propertyIndex:t[6]},r=n.nodeName&&n.nodeName.lastIndexOf(`.`);if(r!==void 0&&r!==-1){let e=n.nodeName.substring(r+1);rm.indexOf(e)!==-1&&(n.nodeName=n.nodeName.substring(0,r),n.objectName=e)}if(n.propertyName===null||n.propertyName.length===0)throw Error(`PropertyBinding: can not parse propertyName from trackName: `+e);return n}static findNode(e,t){if(t===void 0||t===``||t===`.`||t===-1||t===e.name||t===e.uuid)return e;if(e.skeleton){let n=e.skeleton.getBoneByName(t);if(n!==void 0)return n}if(e.children){let n=function(e){for(let r=0;r<e.length;r++){let i=e[r];if(i.name===t||i.uuid===t)return i;let a=n(i.children);if(a)return a}return null},r=n(e.children);if(r)return r}return null}_getValue_unavailable(){}_setValue_unavailable(){}_getValue_direct(e,t){e[t]=this.targetObject[this.propertyName]}_getValue_array(e,t){let n=this.resolvedProperty;for(let r=0,i=n.length;r!==i;++r)e[t++]=n[r]}_getValue_arrayElement(e,t){e[t]=this.resolvedProperty[this.propertyIndex]}_getValue_toArray(e,t){this.resolvedProperty.toArray(e,t)}_setValue_direct(e,t){this.targetObject[this.propertyName]=e[t]}_setValue_direct_setNeedsUpdate(e,t){this.targetObject[this.propertyName]=e[t],this.targetObject.needsUpdate=!0}_setValue_direct_setMatrixWorldNeedsUpdate(e,t){this.targetObject[this.propertyName]=e[t],this.targetObject.matrixWorldNeedsUpdate=!0}_setValue_array(e,t){let n=this.resolvedProperty;for(let r=0,i=n.length;r!==i;++r)n[r]=e[t++]}_setValue_array_setNeedsUpdate(e,t){let n=this.resolvedProperty;for(let r=0,i=n.length;r!==i;++r)n[r]=e[t++];this.targetObject.needsUpdate=!0}_setValue_array_setMatrixWorldNeedsUpdate(e,t){let n=this.resolvedProperty;for(let r=0,i=n.length;r!==i;++r)n[r]=e[t++];this.targetObject.matrixWorldNeedsUpdate=!0}_setValue_arrayElement(e,t){this.resolvedProperty[this.propertyIndex]=e[t]}_setValue_arrayElement_setNeedsUpdate(e,t){this.resolvedProperty[this.propertyIndex]=e[t],this.targetObject.needsUpdate=!0}_setValue_arrayElement_setMatrixWorldNeedsUpdate(e,t){this.resolvedProperty[this.propertyIndex]=e[t],this.targetObject.matrixWorldNeedsUpdate=!0}_setValue_fromArray(e,t){this.resolvedProperty.fromArray(e,t)}_setValue_fromArray_setNeedsUpdate(e,t){this.resolvedProperty.fromArray(e,t),this.targetObject.needsUpdate=!0}_setValue_fromArray_setMatrixWorldNeedsUpdate(e,t){this.resolvedProperty.fromArray(e,t),this.targetObject.matrixWorldNeedsUpdate=!0}_getValue_unbound(e,t){this.bind(),this.getValue(e,t)}_setValue_unbound(e,t){this.bind(),this.setValue(e,t)}bind(){let t=this.node,n=this.parsedPath,r=n.objectName,i=n.propertyName,a=n.propertyIndex;if(t||(t=e.findNode(this.rootNode,n.nodeName),this.node=t),this.getValue=this._getValue_unavailable,this.setValue=this._setValue_unavailable,!t){console.warn(`THREE.PropertyBinding: No target node found for track: `+this.path+`.`);return}if(r){let e=n.objectIndex;switch(r){case`materials`:if(!t.material){console.error(`THREE.PropertyBinding: Can not bind to material as node does not have a material.`,this);return}if(!t.material.materials){console.error(`THREE.PropertyBinding: Can not bind to material.materials as node.material does not have a materials array.`,this);return}t=t.material.materials;break;case`bones`:if(!t.skeleton){console.error(`THREE.PropertyBinding: Can not bind to bones as node does not have a skeleton.`,this);return}t=t.skeleton.bones;for(let n=0;n<t.length;n++)if(t[n].name===e){e=n;break}break;case`map`:if(`map`in t){t=t.map;break}if(!t.material){console.error(`THREE.PropertyBinding: Can not bind to material as node does not have a material.`,this);return}if(!t.material.map){console.error(`THREE.PropertyBinding: Can not bind to material.map as node.material does not have a map.`,this);return}t=t.material.map;break;default:if(t[r]===void 0){console.error(`THREE.PropertyBinding: Can not bind to objectName of node undefined.`,this);return}t=t[r]}if(e!==void 0){if(t[e]===void 0){console.error(`THREE.PropertyBinding: Trying to bind to objectIndex of objectName, but is undefined.`,this,t);return}t=t[e]}}let o=t[i];if(o===void 0){let e=n.nodeName;console.error(`THREE.PropertyBinding: Trying to update property for track: `+e+`.`+i+` but it wasn't found.`,t);return}let s=this.Versioning.None;this.targetObject=t,t.needsUpdate===void 0?t.matrixWorldNeedsUpdate!==void 0&&(s=this.Versioning.MatrixWorldNeedsUpdate):s=this.Versioning.NeedsUpdate;let c=this.BindingType.Direct;if(a!==void 0){if(i===`morphTargetInfluences`){if(!t.geometry){console.error(`THREE.PropertyBinding: Can not bind to morphTargetInfluences because node does not have a geometry.`,this);return}if(!t.geometry.morphAttributes){console.error(`THREE.PropertyBinding: Can not bind to morphTargetInfluences because node does not have a geometry.morphAttributes.`,this);return}t.morphTargetDictionary[a]!==void 0&&(a=t.morphTargetDictionary[a])}c=this.BindingType.ArrayElement,this.resolvedProperty=o,this.propertyIndex=a}else o.fromArray!==void 0&&o.toArray!==void 0?(c=this.BindingType.HasFromToArray,this.resolvedProperty=o):Array.isArray(o)?(c=this.BindingType.EntireArray,this.resolvedProperty=o):this.propertyName=i;this.getValue=this.GetterByBindingType[c],this.setValue=this.SetterByBindingTypeAndVersioning[c][s]}unbind(){this.node=null,this.getValue=this._getValue_unbound,this.setValue=this._setValue_unbound}},am.Composite=im,am.prototype.BindingType={Direct:0,EntireArray:1,ArrayElement:2,HasFromToArray:3},am.prototype.Versioning={None:0,NeedsUpdate:1,MatrixWorldNeedsUpdate:2},am.prototype.GetterByBindingType=[am.prototype._getValue_direct,am.prototype._getValue_array,am.prototype._getValue_arrayElement,am.prototype._getValue_toArray],am.prototype.SetterByBindingTypeAndVersioning=[[am.prototype._setValue_direct,am.prototype._setValue_direct_setNeedsUpdate,am.prototype._setValue_direct_setMatrixWorldNeedsUpdate],[am.prototype._setValue_array,am.prototype._setValue_array_setNeedsUpdate,am.prototype._setValue_array_setMatrixWorldNeedsUpdate],[am.prototype._setValue_arrayElement,am.prototype._setValue_arrayElement_setNeedsUpdate,am.prototype._setValue_arrayElement_setMatrixWorldNeedsUpdate],[am.prototype._setValue_fromArray,am.prototype._setValue_fromArray_setNeedsUpdate,am.prototype._setValue_fromArray_setMatrixWorldNeedsUpdate]],om=class{constructor(){this.isAnimationObjectGroup=!0,this.uuid=o(),this._objects=Array.prototype.slice.call(arguments),this.nCachedObjects_=0;let e={};this._indicesByUUID=e;for(let t=0,n=arguments.length;t!==n;++t)e[arguments[t].uuid]=t;this._paths=[],this._parsedPaths=[],this._bindings=[],this._bindingsIndicesByPath={};let t=this;this.stats={objects:{get total(){return t._objects.length},get inUse(){return this.total-t.nCachedObjects_}},get bindingsPerObject(){return t._bindings.length}}}add(){let e=this._objects,t=this._indicesByUUID,n=this._paths,r=this._parsedPaths,i=this._bindings,a=i.length,o,s=e.length,c=this.nCachedObjects_;for(let l=0,u=arguments.length;l!==u;++l){let u=arguments[l],d=u.uuid,f=t[d];if(f===void 0){f=s++,t[d]=f,e.push(u);for(let e=0,t=a;e!==t;++e)i[e].push(new am(u,n[e],r[e]))}else if(f<c){o=e[f];let s=--c,l=e[s];t[l.uuid]=f,e[f]=l,t[d]=s,e[s]=u;for(let e=0,t=a;e!==t;++e){let t=i[e],a=t[s],o=t[f];t[f]=a,o===void 0&&(o=new am(u,n[e],r[e])),t[s]=o}}else e[f]!==o&&console.error(`THREE.AnimationObjectGroup: Different objects with the same UUID detected. Clean the caches or recreate your infrastructure when reloading scenes.`)}this.nCachedObjects_=c}remove(){let e=this._objects,t=this._indicesByUUID,n=this._bindings,r=n.length,i=this.nCachedObjects_;for(let a=0,o=arguments.length;a!==o;++a){let o=arguments[a],s=o.uuid,c=t[s];if(c!==void 0&&c>=i){let a=i++,l=e[a];t[l.uuid]=c,e[c]=l,t[s]=a,e[a]=o;for(let e=0,t=r;e!==t;++e){let t=n[e],r=t[a],i=t[c];t[c]=r,t[a]=i}}}this.nCachedObjects_=i}uncache(){let e=this._objects,t=this._indicesByUUID,n=this._bindings,r=n.length,i=this.nCachedObjects_,a=e.length;for(let o=0,s=arguments.length;o!==s;++o){let s=arguments[o].uuid,c=t[s];if(c!==void 0){if(delete t[s],c<i){let o=--i,s=e[o],l=--a,u=e[l];t[s.uuid]=c,e[c]=s,t[u.uuid]=o,e[o]=u,e.pop();for(let e=0,t=r;e!==t;++e){let t=n[e],r=t[o],i=t[l];t[c]=r,t[o]=i,t.pop()}}else{let i=--a,o=e[i];i>0&&(t[o.uuid]=c),e[c]=o,e.pop();for(let e=0,t=r;e!==t;++e){let t=n[e];t[c]=t[i],t.pop()}}}}this.nCachedObjects_=i}subscribe_(e,t){let n=this._bindingsIndicesByPath,r=n[e],i=this._bindings;if(r!==void 0)return i[r];let a=this._paths,o=this._parsedPaths,s=this._objects,c=s.length,l=this.nCachedObjects_,u=Array(c);r=i.length,n[e]=r,a.push(e),o.push(t),i.push(u);for(let n=l,r=s.length;n!==r;++n){let r=s[n];u[n]=new am(r,e,t)}return u}unsubscribe_(e){let t=this._bindingsIndicesByPath,n=t[e];if(n!==void 0){let r=this._paths,i=this._parsedPaths,a=this._bindings,o=a.length-1,s=a[o],c=e[o];t[c]=n,a[n]=s,a.pop(),i[n]=i[o],i.pop(),r[n]=r[o],r.pop()}}},sm=class{constructor(e,t,n=null,r=t.blendMode){this._mixer=e,this._clip=t,this._localRoot=n,this.blendMode=r;let i=t.tracks,a=i.length,o=Array(a),s={endingStart:ra,endingEnd:ra};for(let e=0;e!==a;++e){let t=i[e].createInterpolant(null);o[e]=t,t.settings=s}this._interpolantSettings=s,this._interpolants=o,this._propertyBindings=Array(a),this._cacheIndex=null,this._byClipCacheIndex=null,this._timeScaleInterpolant=null,this._weightInterpolant=null,this.loop=Qi,this._loopCount=-1,this._startTime=null,this.time=0,this.timeScale=1,this._effectiveTimeScale=1,this.weight=1,this._effectiveWeight=1,this.repetitions=1/0,this.paused=!1,this.enabled=!0,this.clampWhenFinished=!1,this.zeroSlopeAtStart=!0,this.zeroSlopeAtEnd=!0}play(){return this._mixer._activateAction(this),this}stop(){return this._mixer._deactivateAction(this),this.reset()}reset(){return this.paused=!1,this.enabled=!0,this.time=0,this._loopCount=-1,this._startTime=null,this.stopFading().stopWarping()}isRunning(){return this.enabled&&!this.paused&&this.timeScale!==0&&this._startTime===null&&this._mixer._isActiveAction(this)}isScheduled(){return this._mixer._isActiveAction(this)}startAt(e){return this._startTime=e,this}setLoop(e,t){return this.loop=e,this.repetitions=t,this}setEffectiveWeight(e){return this.weight=e,this._effectiveWeight=this.enabled?e:0,this.stopFading()}getEffectiveWeight(){return this._effectiveWeight}fadeIn(e){return this._scheduleFading(e,0,1)}fadeOut(e){return this._scheduleFading(e,1,0)}crossFadeFrom(e,t,n){if(e.fadeOut(t),this.fadeIn(t),n){let n=this._clip.duration,r=e._clip.duration,i=r/n,a=n/r;e.warp(1,i,t),this.warp(a,1,t)}return this}crossFadeTo(e,t,n){return e.crossFadeFrom(this,t,n)}stopFading(){let e=this._weightInterpolant;return e!==null&&(this._weightInterpolant=null,this._mixer._takeBackControlInterpolant(e)),this}setEffectiveTimeScale(e){return this.timeScale=e,this._effectiveTimeScale=this.paused?0:e,this.stopWarping()}getEffectiveTimeScale(){return this._effectiveTimeScale}setDuration(e){return this.timeScale=this._clip.duration/e,this.stopWarping()}syncWith(e){return this.time=e.time,this.timeScale=e.timeScale,this.stopWarping()}halt(e){return this.warp(this._effectiveTimeScale,0,e)}warp(e,t,n){let r=this._mixer,i=r.time,a=this.timeScale,o=this._timeScaleInterpolant;o===null&&(o=r._lendControlInterpolant(),this._timeScaleInterpolant=o);let s=o.parameterPositions,c=o.sampleValues;return s[0]=i,s[1]=i+n,c[0]=e/a,c[1]=t/a,this}stopWarping(){let e=this._timeScaleInterpolant;return e!==null&&(this._timeScaleInterpolant=null,this._mixer._takeBackControlInterpolant(e)),this}getMixer(){return this._mixer}getClip(){return this._clip}getRoot(){return this._localRoot||this._mixer._root}_update(e,t,n,r){if(!this.enabled){this._updateWeight(e);return}let i=this._startTime;if(i!==null){let r=(e-i)*n;r<0||n===0?t=0:(this._startTime=null,t=n*r)}t*=this._updateTimeScale(e);let a=this._updateTime(t),o=this._updateWeight(e);if(o>0){let e=this._interpolants,t=this._propertyBindings;switch(this.blendMode){case sa:for(let n=0,r=e.length;n!==r;++n)e[n].evaluate(a),t[n].accumulateAdditive(o);break;case oa:default:for(let n=0,i=e.length;n!==i;++n)e[n].evaluate(a),t[n].accumulate(r,o)}}}_updateWeight(e){let t=0;if(this.enabled){t=this.weight;let n=this._weightInterpolant;if(n!==null){let r=n.evaluate(e)[0];t*=r,e>n.parameterPositions[1]&&(this.stopFading(),r===0&&(this.enabled=!1))}}return this._effectiveWeight=t,t}_updateTimeScale(e){let t=0;if(!this.paused){t=this.timeScale;let n=this._timeScaleInterpolant;if(n!==null){let r=n.evaluate(e)[0];t*=r,e>n.parameterPositions[1]&&(this.stopWarping(),t===0?this.paused=!0:this.timeScale=t)}}return this._effectiveTimeScale=t,t}_updateTime(e){let t=this._clip.duration,n=this.loop,r=this.time+e,i=this._loopCount,a=n===$i;if(e===0)return i===-1?r:a&&(i&1)==1?t-r:r;if(n===2200){i===-1&&(this._loopCount=0,this._setEndings(!0,!0,!1));handle_stop:{if(r>=t)r=t;else if(r<0)r=0;else{this.time=r;break handle_stop}this.clampWhenFinished?this.paused=!0:this.enabled=!1,this.time=r,this._mixer.dispatchEvent({type:`finished`,action:this,direction:e<0?-1:1})}}else{if(i===-1&&(e>=0?(i=0,this._setEndings(!0,this.repetitions===0,a)):this._setEndings(this.repetitions===0,!0,a)),r>=t||r<0){let n=Math.floor(r/t);r-=t*n,i+=Math.abs(n);let o=this.repetitions-i;if(o<=0)this.clampWhenFinished?this.paused=!0:this.enabled=!1,r=e>0?t:0,this.time=r,this._mixer.dispatchEvent({type:`finished`,action:this,direction:e>0?1:-1});else{if(o===1){let t=e<0;this._setEndings(t,!t,a)}else this._setEndings(!1,!1,a);this._loopCount=i,this.time=r,this._mixer.dispatchEvent({type:`loop`,action:this,loopDelta:n})}}else this.time=r;if(a&&(i&1)==1)return t-r}return r}_setEndings(e,t,n){let r=this._interpolantSettings;n?(r.endingStart=ia,r.endingEnd=ia):(r.endingStart=e?this.zeroSlopeAtStart?ia:ra:aa,r.endingEnd=t?this.zeroSlopeAtEnd?ia:ra:aa)}_scheduleFading(e,t,n){let r=this._mixer,i=r.time,a=this._weightInterpolant;a===null&&(a=r._lendControlInterpolant(),this._weightInterpolant=a);let o=a.parameterPositions,s=a.sampleValues;return o[0]=i,s[0]=t,o[1]=i+e,s[1]=n,this}},cm=new Float32Array(1),lm=class extends Ra{constructor(e){super(),this._root=e,this._initMemoryManager(),this._accuIndex=0,this.time=0,this.timeScale=1}_bindAction(e,t){let n=e._localRoot||this._root,r=e._clip.tracks,i=r.length,a=e._propertyBindings,o=e._interpolants,s=n.uuid,c=this._bindingsByRootAndName,l=c[s];l===void 0&&(l={},c[s]=l);for(let e=0;e!==i;++e){let i=r[e],c=i.name,u=l[c];if(u!==void 0)++u.referenceCount,a[e]=u;else{if(u=a[e],u!==void 0){u._cacheIndex===null&&(++u.referenceCount,this._addInactiveBinding(u,s,c));continue}let r=t&&t._propertyBindings[e].binding.parsedPath;u=new qp(am.create(n,c,r),i.ValueTypeName,i.getValueSize()),++u.referenceCount,this._addInactiveBinding(u,s,c),a[e]=u}o[e].resultBuffer=u.buffer}}_activateAction(e){if(!this._isActiveAction(e)){if(e._cacheIndex===null){let t=(e._localRoot||this._root).uuid,n=e._clip.uuid,r=this._actionsByClip[n];this._bindAction(e,r&&r.knownActions[0]),this._addInactiveAction(e,n,t)}let t=e._propertyBindings;for(let e=0,n=t.length;e!==n;++e){let n=t[e];n.useCount++===0&&(this._lendBinding(n),n.saveOriginalState())}this._lendAction(e)}}_deactivateAction(e){if(this._isActiveAction(e)){let t=e._propertyBindings;for(let e=0,n=t.length;e!==n;++e){let n=t[e];--n.useCount===0&&(n.restoreOriginalState(),this._takeBackBinding(n))}this._takeBackAction(e)}}_initMemoryManager(){this._actions=[],this._nActiveActions=0,this._actionsByClip={},this._bindings=[],this._nActiveBindings=0,this._bindingsByRootAndName={},this._controlInterpolants=[],this._nActiveControlInterpolants=0;let e=this;this.stats={actions:{get total(){return e._actions.length},get inUse(){return e._nActiveActions}},bindings:{get total(){return e._bindings.length},get inUse(){return e._nActiveBindings}},controlInterpolants:{get total(){return e._controlInterpolants.length},get inUse(){return e._nActiveControlInterpolants}}}}_isActiveAction(e){let t=e._cacheIndex;return t!==null&&t<this._nActiveActions}_addInactiveAction(e,t,n){let r=this._actions,i=this._actionsByClip,a=i[t];if(a===void 0)a={knownActions:[e],actionByRoot:{}},e._byClipCacheIndex=0,i[t]=a;else{let t=a.knownActions;e._byClipCacheIndex=t.length,t.push(e)}e._cacheIndex=r.length,r.push(e),a.actionByRoot[n]=e}_removeInactiveAction(e){let t=this._actions,n=t[t.length-1],r=e._cacheIndex;n._cacheIndex=r,t[r]=n,t.pop(),e._cacheIndex=null;let i=e._clip.uuid,a=this._actionsByClip,o=a[i],s=o.knownActions,c=s[s.length-1],l=e._byClipCacheIndex;c._byClipCacheIndex=l,s[l]=c,s.pop(),e._byClipCacheIndex=null;let u=o.actionByRoot,d=(e._localRoot||this._root).uuid;delete u[d],s.length===0&&delete a[i],this._removeInactiveBindingsForAction(e)}_removeInactiveBindingsForAction(e){let t=e._propertyBindings;for(let e=0,n=t.length;e!==n;++e){let n=t[e];--n.referenceCount===0&&this._removeInactiveBinding(n)}}_lendAction(e){let t=this._actions,n=e._cacheIndex,r=this._nActiveActions++,i=t[r];e._cacheIndex=r,t[r]=e,i._cacheIndex=n,t[n]=i}_takeBackAction(e){let t=this._actions,n=e._cacheIndex,r=--this._nActiveActions,i=t[r];e._cacheIndex=r,t[r]=e,i._cacheIndex=n,t[n]=i}_addInactiveBinding(e,t,n){let r=this._bindingsByRootAndName,i=this._bindings,a=r[t];a===void 0&&(a={},r[t]=a),a[n]=e,e._cacheIndex=i.length,i.push(e)}_removeInactiveBinding(e){let t=this._bindings,n=e.binding,r=n.rootNode.uuid,i=n.path,a=this._bindingsByRootAndName,o=a[r],s=t[t.length-1],c=e._cacheIndex;s._cacheIndex=c,t[c]=s,t.pop(),delete o[i],Object.keys(o).length===0&&delete a[r]}_lendBinding(e){let t=this._bindings,n=e._cacheIndex,r=this._nActiveBindings++,i=t[r];e._cacheIndex=r,t[r]=e,i._cacheIndex=n,t[n]=i}_takeBackBinding(e){let t=this._bindings,n=e._cacheIndex,r=--this._nActiveBindings,i=t[r];e._cacheIndex=r,t[r]=e,i._cacheIndex=n,t[n]=i}_lendControlInterpolant(){let e=this._controlInterpolants,t=this._nActiveControlInterpolants++,n=e[t];return n===void 0&&(n=new kf(new Float32Array(2),new Float32Array(2),1,cm),n.__cacheIndex=t,e[t]=n),n}_takeBackControlInterpolant(e){let t=this._controlInterpolants,n=e.__cacheIndex,r=--this._nActiveControlInterpolants,i=t[r];e.__cacheIndex=r,t[r]=e,i.__cacheIndex=n,t[n]=i}clipAction(e,t,n){let r=t||this._root,i=r.uuid,a=typeof e==`string`?zf.findByName(r,e):e,o=a===null?e:a.uuid,s=this._actionsByClip[o],c=null;if(n===void 0&&(n=a===null?oa:a.blendMode),s!==void 0){let e=s.actionByRoot[i];if(e!==void 0&&e.blendMode===n)return e;c=s.knownActions[0],a===null&&(a=c._clip)}if(a===null)return null;let l=new sm(this,a,t,n);return this._bindAction(l,c),this._addInactiveAction(l,o,i),l}existingAction(e,t){let n=t||this._root,r=n.uuid,i=typeof e==`string`?zf.findByName(n,e):e,a=i?i.uuid:e,o=this._actionsByClip[a];return o===void 0?null:o.actionByRoot[r]||null}stopAllAction(){let e=this._actions,t=this._nActiveActions;for(let n=t-1;n>=0;--n)e[n].stop();return this}update(e){e*=this.timeScale;let t=this._actions,n=this._nActiveActions,r=this.time+=e,i=Math.sign(e),a=this._accuIndex^=1;for(let o=0;o!==n;++o)t[o]._update(r,e,i,a);let o=this._bindings,s=this._nActiveBindings;for(let e=0;e!==s;++e)o[e].apply(a);return this}setTime(e){this.time=0;for(let e=0;e<this._actions.length;e++)this._actions[e].time=0;return this.update(e)}getRoot(){return this._root}uncacheClip(e){let t=this._actions,n=e.uuid,r=this._actionsByClip,i=r[n];if(i!==void 0){let e=i.knownActions;for(let n=0,r=e.length;n!==r;++n){let r=e[n];this._deactivateAction(r);let i=r._cacheIndex,a=t[t.length-1];r._cacheIndex=null,r._byClipCacheIndex=null,a._cacheIndex=i,t[i]=a,t.pop(),this._removeInactiveBindingsForAction(r)}delete r[n]}}uncacheRoot(e){let t=e.uuid,n=this._actionsByClip;for(let e in n){let r=n[e].actionByRoot[t];r!==void 0&&(this._deactivateAction(r),this._removeInactiveAction(r))}let r=this._bindingsByRootAndName[t];if(r!==void 0)for(let e in r){let t=r[e];t.restoreOriginalState(),this._removeInactiveBinding(t)}}uncacheAction(e,t){let n=this.existingAction(e,t);n!==null&&(this._deactivateAction(n),this._removeInactiveAction(n))}},um=class e{constructor(e){this.value=e}clone(){return new e(this.value.clone===void 0?this.value:this.value.clone())}},dm=0,fm=class extends Ra{constructor(){super(),this.isUniformsGroup=!0,Object.defineProperty(this,"id",{value:dm++}),this.name=``,this.usage=Ea,this.uniforms=[]}add(e){return this.uniforms.push(e),this}remove(e){let t=this.uniforms.indexOf(e);return t!==-1&&this.uniforms.splice(t,1),this}setName(e){return this.name=e,this}setUsage(e){return this.usage=e,this}dispose(){return this.dispatchEvent({type:`dispose`}),this}copy(e){this.name=e.name,this.usage=e.usage;let t=e.uniforms;this.uniforms.length=0;for(let e=0,n=t.length;e<n;e++){let n=Array.isArray(t[e])?t[e]:[t[e]];for(let e=0;e<n.length;e++)this.uniforms.push(n[e].clone())}return this}clone(){return new this.constructor().copy(this)}},pm=class extends Gl{constructor(e,t,n=1){super(e,t),this.isInstancedInterleavedBuffer=!0,this.meshPerAttribute=n}copy(e){return super.copy(e),this.meshPerAttribute=e.meshPerAttribute,this}clone(e){let t=super.clone(e);return t.meshPerAttribute=this.meshPerAttribute,t}toJSON(e){let t=super.toJSON(e);return t.isInstancedInterleavedBuffer=!0,t.meshPerAttribute=this.meshPerAttribute,t}},mm=class{constructor(e,t,n,r,i){this.isGLBufferAttribute=!0,this.name=``,this.buffer=e,this.type=t,this.itemSize=n,this.elementSize=r,this.count=i,this.version=0}set needsUpdate(e){e===!0&&this.version++}setBuffer(e){return this.buffer=e,this}setType(e,t){return this.type=e,this.elementSize=t,this}setItemSize(e){return this.itemSize=e,this}setCount(e){return this.count=e,this}},hm=new U,gm=class{constructor(e,t,n=0,r=1/0){this.ray=new Bo(e,t),this.near=n,this.far=r,this.camera=null,this.layers=new Zo,this.params={Mesh:{},Line:{threshold:1},LOD:{},Points:{threshold:1},Sprite:{}}}set(e,t){this.ray.set(e,t)}setFromCamera(e,t){t.isPerspectiveCamera?(this.ray.origin.setFromMatrixPosition(t.matrixWorld),this.ray.direction.set(e.x,e.y,.5).unproject(t).sub(this.ray.origin).normalize(),this.camera=t):t.isOrthographicCamera?(this.ray.origin.set(e.x,e.y,(t.near+t.far)/(t.near-t.far)).unproject(t),this.ray.direction.set(0,0,-1).transformDirection(t.matrixWorld),this.camera=t):console.error(`THREE.Raycaster: Unsupported camera type: `+t.type)}setFromXRController(e){return hm.identity().extractRotation(e.matrixWorld),this.ray.origin.setFromMatrixPosition(e.matrixWorld),this.ray.direction.set(0,0,-1).applyMatrix4(hm),this}intersectObject(e,t=!0,n=[]){return kr(e,this,n,t),n.sort(Or),n}intersectObjects(e,t=!0,n=[]){for(let r=0,i=e.length;r<i;r++)kr(e[r],this,n,t);return n.sort(Or),n}},_m=class{constructor(e=1,t=0,n=0){return this.radius=e,this.phi=t,this.theta=n,this}set(e,t,n){return this.radius=e,this.phi=t,this.theta=n,this}copy(e){return this.radius=e.radius,this.phi=e.phi,this.theta=e.theta,this}makeSafe(){let e=1e-6;return this.phi=Math.max(e,Math.min(Math.PI-e,this.phi)),this}setFromVector3(e){return this.setFromCartesianCoords(e.x,e.y,e.z)}setFromCartesianCoords(e,t,n){return this.radius=Math.sqrt(e*e+t*t+n*n),this.radius===0?(this.theta=0,this.phi=0):(this.theta=Math.atan2(e,n),this.phi=Math.acos(s(t/this.radius,-1,1))),this}clone(){return new this.constructor().copy(this)}},vm=class{constructor(e=1,t=0,n=0){return this.radius=e,this.theta=t,this.y=n,this}set(e,t,n){return this.radius=e,this.theta=t,this.y=n,this}copy(e){return this.radius=e.radius,this.theta=e.theta,this.y=e.y,this}setFromVector3(e){return this.setFromCartesianCoords(e.x,e.y,e.z)}setFromCartesianCoords(e,t,n){return this.radius=Math.sqrt(e*e+n*n),this.theta=Math.atan2(e,n),this.y=t,this}clone(){return new this.constructor().copy(this)}},ym=class e{constructor(t,n,r,i){e.prototype.isMatrix2=!0,this.elements=[1,0,0,1],t!==void 0&&this.set(t,n,r,i)}identity(){return this.set(1,0,0,1),this}fromArray(e,t=0){for(let n=0;n<4;n++)this.elements[n]=e[n+t];return this}set(e,t,n,r){let i=this.elements;return i[0]=e,i[2]=t,i[1]=n,i[3]=r,this}},bm=new B,xm=class{constructor(e=new B(1/0,1/0),t=new B(-1/0,-1/0)){this.isBox2=!0,this.min=e,this.max=t}set(e,t){return this.min.copy(e),this.max.copy(t),this}setFromPoints(e){this.makeEmpty();for(let t=0,n=e.length;t<n;t++)this.expandByPoint(e[t]);return this}setFromCenterAndSize(e,t){let n=bm.copy(t).multiplyScalar(.5);return this.min.copy(e).sub(n),this.max.copy(e).add(n),this}clone(){return new this.constructor().copy(this)}copy(e){return this.min.copy(e.min),this.max.copy(e.max),this}makeEmpty(){return this.min.x=this.min.y=1/0,this.max.x=this.max.y=-1/0,this}isEmpty(){return this.max.x<this.min.x||this.max.y<this.min.y}getCenter(e){return this.isEmpty()?e.set(0,0):e.addVectors(this.min,this.max).multiplyScalar(.5)}getSize(e){return this.isEmpty()?e.set(0,0):e.subVectors(this.max,this.min)}expandByPoint(e){return this.min.min(e),this.max.max(e),this}expandByVector(e){return this.min.sub(e),this.max.add(e),this}expandByScalar(e){return this.min.addScalar(-e),this.max.addScalar(e),this}containsPoint(e){return e.x>=this.min.x&&e.x<=this.max.x&&e.y>=this.min.y&&e.y<=this.max.y}containsBox(e){return this.min.x<=e.min.x&&e.max.x<=this.max.x&&this.min.y<=e.min.y&&e.max.y<=this.max.y}getParameter(e,t){return t.set((e.x-this.min.x)/(this.max.x-this.min.x),(e.y-this.min.y)/(this.max.y-this.min.y))}intersectsBox(e){return e.max.x>=this.min.x&&e.min.x<=this.max.x&&e.max.y>=this.min.y&&e.min.y<=this.max.y}clampPoint(e,t){return t.copy(e).clamp(this.min,this.max)}distanceToPoint(e){return this.clampPoint(e,bm).distanceTo(e)}intersect(e){return this.min.max(e.min),this.max.min(e.max),this.isEmpty()&&this.makeEmpty(),this}union(e){return this.min.min(e.min),this.max.max(e.max),this}translate(e){return this.min.add(e),this.max.add(e),this}equals(e){return e.min.equals(this.min)&&e.max.equals(this.max)}},Sm=new H,Cm=new H,wm=class{constructor(e=new H,t=new H){this.start=e,this.end=t}set(e,t){return this.start.copy(e),this.end.copy(t),this}copy(e){return this.start.copy(e.start),this.end.copy(e.end),this}getCenter(e){return e.addVectors(this.start,this.end).multiplyScalar(.5)}delta(e){return e.subVectors(this.end,this.start)}distanceSq(){return this.start.distanceToSquared(this.end)}distance(){return this.start.distanceTo(this.end)}at(e,t){return this.delta(t).multiplyScalar(e).add(this.start)}closestPointToPointParameter(e,t){Sm.subVectors(e,this.start),Cm.subVectors(this.end,this.start);let n=Cm.dot(Cm),r=Cm.dot(Sm)/n;return t&&(r=s(r,0,1)),r}closestPointToPoint(e,t,n){let r=this.closestPointToPointParameter(e,t);return this.delta(n).multiplyScalar(r).add(this.start)}applyMatrix4(e){return this.start.applyMatrix4(e),this.end.applyMatrix4(e),this}equals(e){return e.start.equals(this.start)&&e.end.equals(this.end)}clone(){return new this.constructor().copy(this)}},Tm=new H,Em=class extends ps{constructor(e,t){super(),this.light=e,this.matrixAutoUpdate=!1,this.color=t,this.type=`SpotLightHelper`;let n=new q,r=[0,0,0,0,0,1,0,0,0,1,0,1,0,0,0,-1,0,1,0,0,0,0,1,1,0,0,0,0,-1,1];for(let e=0,t=1;e<32;e++,t++){let n=e/32*Math.PI*2,i=t/32*Math.PI*2;r.push(Math.cos(n),Math.sin(n),1,Math.cos(i),Math.sin(i),1)}n.setAttribute(`position`,new K(r,3));let i=new Qu({fog:!1,toneMapped:!1});this.cone=new ld(n,i),this.add(this.cone),this.update()}dispose(){this.cone.geometry.dispose(),this.cone.material.dispose()}update(){this.light.updateWorldMatrix(!0,!1),this.light.target.updateWorldMatrix(!0,!1),this.parent?(this.parent.updateWorldMatrix(!0),this.matrix.copy(this.parent.matrixWorld).invert().multiply(this.light.matrixWorld)):this.matrix.copy(this.light.matrixWorld),this.matrixWorld.copy(this.light.matrixWorld);let e=this.light.distance?this.light.distance:1e3,t=e*Math.tan(this.light.angle);this.cone.scale.set(t,t,e),Tm.setFromMatrixPosition(this.light.target.matrixWorld),this.cone.lookAt(Tm),this.color===void 0?this.cone.material.color.copy(this.light.color):this.cone.material.color.set(this.color)}},Dm=new H,Om=new U,km=new U,Am=class extends ld{constructor(e){let t=Ar(e),n=new q,r=[],i=[],a=new W(0,0,1),o=new W(0,1,0);for(let e=0;e<t.length;e++){let n=t[e];n.parent&&n.parent.isBone&&(r.push(0,0,0),r.push(0,0,0),i.push(a.r,a.g,a.b),i.push(o.r,o.g,o.b))}n.setAttribute(`position`,new K(r,3)),n.setAttribute(`color`,new K(i,3));let s=new Qu({vertexColors:!0,depthTest:!1,depthWrite:!1,toneMapped:!1,transparent:!0});super(n,s),this.isSkeletonHelper=!0,this.type=`SkeletonHelper`,this.root=e,this.bones=t,this.matrix=e.matrixWorld,this.matrixAutoUpdate=!1}updateMatrixWorld(e){let t=this.bones,n=this.geometry,r=n.getAttribute(`position`);km.copy(this.root.matrixWorld).invert();for(let e=0,n=0;e<t.length;e++){let i=t[e];i.parent&&i.parent.isBone&&(Om.multiplyMatrices(km,i.matrixWorld),Dm.setFromMatrixPosition(Om),r.setXYZ(n,Dm.x,Dm.y,Dm.z),Om.multiplyMatrices(km,i.parent.matrixWorld),Dm.setFromMatrixPosition(Om),r.setXYZ(n+1,Dm.x,Dm.y,Dm.z),n+=2)}n.getAttribute(`position`).needsUpdate=!0,super.updateMatrixWorld(e)}dispose(){this.geometry.dispose(),this.material.dispose()}},jm=class extends dc{constructor(e,t,n){let r=new lf(t,4,2),i=new Ps({wireframe:!0,fog:!1,toneMapped:!1});super(r,i),this.light=e,this.color=n,this.type=`PointLightHelper`,this.matrix=this.light.matrixWorld,this.matrixAutoUpdate=!1,this.update()}dispose(){this.geometry.dispose(),this.material.dispose()}update(){this.light.updateWorldMatrix(!0,!1),this.color===void 0?this.material.color.copy(this.light.color):this.material.color.set(this.color)}},Mm=new H,Nm=new W,Pm=new W,Fm=class extends ps{constructor(e,t,n){super(),this.light=e,this.matrix=e.matrixWorld,this.matrixAutoUpdate=!1,this.color=n,this.type=`HemisphereLightHelper`;let r=new of(t);r.rotateY(Math.PI*.5),this.material=new Ps({wireframe:!0,fog:!1,toneMapped:!1}),this.color===void 0&&(this.material.vertexColors=!0);let i=r.getAttribute(`position`),a=new Float32Array(i.count*3);r.setAttribute(`color`,new G(a,3)),this.add(new dc(r,this.material)),this.update()}dispose(){this.children[0].geometry.dispose(),this.children[0].material.dispose()}update(){let e=this.children[0];if(this.color!==void 0)this.material.color.set(this.color);else{let t=e.geometry.getAttribute(`color`);Nm.copy(this.light.color),Pm.copy(this.light.groundColor);for(let e=0,n=t.count;e<n;e++){let r=e<n/2?Nm:Pm;t.setXYZ(e,r.r,r.g,r.b)}t.needsUpdate=!0}this.light.updateWorldMatrix(!0,!1),e.lookAt(Mm.setFromMatrixPosition(this.light.matrixWorld).negate())}},Im=class extends ld{constructor(e=10,t=10,n=4473924,r=8947848){n=new W(n),r=new W(r);let i=t/2,a=e/t,o=e/2,s=[],c=[];for(let e=0,l=0,u=-o;e<=t;e++,u+=a){s.push(-o,0,u,o,0,u),s.push(u,0,-o,u,0,o);let t=e===i?n:r;t.toArray(c,l),l+=3,t.toArray(c,l),l+=3,t.toArray(c,l),l+=3,t.toArray(c,l),l+=3}let l=new q;l.setAttribute(`position`,new K(s,3)),l.setAttribute(`color`,new K(c,3));let u=new Qu({vertexColors:!0,toneMapped:!1});super(l,u),this.type=`GridHelper`}dispose(){this.geometry.dispose(),this.material.dispose()}},Lm=class extends ld{constructor(e=10,t=16,n=8,r=64,i=4473924,a=8947848){i=new W(i),a=new W(a);let o=[],s=[];if(t>1)for(let n=0;n<t;n++){let r=n/t*(Math.PI*2),c=Math.sin(r)*e,l=Math.cos(r)*e;o.push(0,0,0),o.push(c,0,l);let u=n&1?i:a;s.push(u.r,u.g,u.b),s.push(u.r,u.g,u.b)}for(let t=0;t<n;t++){let c=t&1?i:a,l=e-e/n*t;for(let e=0;e<r;e++){let t=e/r*(Math.PI*2),n=Math.sin(t)*l,i=Math.cos(t)*l;o.push(n,0,i),s.push(c.r,c.g,c.b),t=(e+1)/r*(Math.PI*2),n=Math.sin(t)*l,i=Math.cos(t)*l,o.push(n,0,i),s.push(c.r,c.g,c.b)}}let c=new q;c.setAttribute(`position`,new K(o,3)),c.setAttribute(`color`,new K(s,3));let l=new Qu({vertexColors:!0,toneMapped:!1});super(c,l),this.type=`PolarGridHelper`}dispose(){this.geometry.dispose(),this.material.dispose()}},Rm=new H,zm=new H,Bm=new H,Vm=class extends ps{constructor(e,t,n){super(),this.light=e,this.matrix=e.matrixWorld,this.matrixAutoUpdate=!1,this.color=n,this.type=`DirectionalLightHelper`,t===void 0&&(t=1);let r=new q;r.setAttribute(`position`,new K([-t,t,0,t,t,0,t,-t,0,-t,-t,0,-t,t,0],3));let i=new Qu({fog:!1,toneMapped:!1});this.lightPlane=new od(r,i),this.add(this.lightPlane),r=new q,r.setAttribute(`position`,new K([0,0,0,0,0,1],3)),this.targetLine=new od(r,i),this.add(this.targetLine),this.update()}dispose(){this.lightPlane.geometry.dispose(),this.lightPlane.material.dispose(),this.targetLine.geometry.dispose(),this.targetLine.material.dispose()}update(){this.light.updateWorldMatrix(!0,!1),this.light.target.updateWorldMatrix(!0,!1),Rm.setFromMatrixPosition(this.light.matrixWorld),zm.setFromMatrixPosition(this.light.target.matrixWorld),Bm.subVectors(zm,Rm),this.lightPlane.lookAt(zm),this.color===void 0?(this.lightPlane.material.color.copy(this.light.color),this.targetLine.material.color.copy(this.light.color)):(this.lightPlane.material.color.set(this.color),this.targetLine.material.color.set(this.color)),this.targetLine.lookAt(zm),this.targetLine.scale.z=Bm.length()}},Hm=new H,Um=new _c,Wm=class extends ld{constructor(e){let t=new q,n=new Qu({color:16777215,vertexColors:!0,toneMapped:!1}),r=[],i=[],a={};o(`n1`,`n2`),o(`n2`,`n4`),o(`n4`,`n3`),o(`n3`,`n1`),o(`f1`,`f2`),o(`f2`,`f4`),o(`f4`,`f3`),o(`f3`,`f1`),o(`n1`,`f1`),o(`n2`,`f2`),o(`n3`,`f3`),o(`n4`,`f4`),o(`p`,`n1`),o(`p`,`n2`),o(`p`,`n3`),o(`p`,`n4`),o(`u1`,`u2`),o(`u2`,`u3`),o(`u3`,`u1`),o(`c`,`t`),o(`p`,`c`),o(`cn1`,`cn2`),o(`cn3`,`cn4`),o(`cf1`,`cf2`),o(`cf3`,`cf4`);function o(e,t){s(e),s(t)}function s(e){r.push(0,0,0),i.push(0,0,0),a[e]===void 0&&(a[e]=[]),a[e].push(r.length/3-1)}t.setAttribute(`position`,new K(r,3)),t.setAttribute(`color`,new K(i,3)),super(t,n),this.type=`CameraHelper`,this.camera=e,this.camera.updateProjectionMatrix&&this.camera.updateProjectionMatrix(),this.matrix=e.matrixWorld,this.matrixAutoUpdate=!1,this.pointMap=a,this.update();let c=new W(16755200),l=new W(16711680),u=new W(43775),d=new W(16777215),f=new W(3355443);this.setColors(c,l,u,d,f)}setColors(e,t,n,r,i){let a=this.geometry.getAttribute(`color`);a.setXYZ(0,e.r,e.g,e.b),a.setXYZ(1,e.r,e.g,e.b),a.setXYZ(2,e.r,e.g,e.b),a.setXYZ(3,e.r,e.g,e.b),a.setXYZ(4,e.r,e.g,e.b),a.setXYZ(5,e.r,e.g,e.b),a.setXYZ(6,e.r,e.g,e.b),a.setXYZ(7,e.r,e.g,e.b),a.setXYZ(8,e.r,e.g,e.b),a.setXYZ(9,e.r,e.g,e.b),a.setXYZ(10,e.r,e.g,e.b),a.setXYZ(11,e.r,e.g,e.b),a.setXYZ(12,e.r,e.g,e.b),a.setXYZ(13,e.r,e.g,e.b),a.setXYZ(14,e.r,e.g,e.b),a.setXYZ(15,e.r,e.g,e.b),a.setXYZ(16,e.r,e.g,e.b),a.setXYZ(17,e.r,e.g,e.b),a.setXYZ(18,e.r,e.g,e.b),a.setXYZ(19,e.r,e.g,e.b),a.setXYZ(20,e.r,e.g,e.b),a.setXYZ(21,e.r,e.g,e.b),a.setXYZ(22,e.r,e.g,e.b),a.setXYZ(23,e.r,e.g,e.b),a.setXYZ(24,t.r,t.g,t.b),a.setXYZ(25,t.r,t.g,t.b),a.setXYZ(26,t.r,t.g,t.b),a.setXYZ(27,t.r,t.g,t.b),a.setXYZ(28,t.r,t.g,t.b),a.setXYZ(29,t.r,t.g,t.b),a.setXYZ(30,t.r,t.g,t.b),a.setXYZ(31,t.r,t.g,t.b),a.setXYZ(32,n.r,n.g,n.b),a.setXYZ(33,n.r,n.g,n.b),a.setXYZ(34,n.r,n.g,n.b),a.setXYZ(35,n.r,n.g,n.b),a.setXYZ(36,n.r,n.g,n.b),a.setXYZ(37,n.r,n.g,n.b),a.setXYZ(38,r.r,r.g,r.b),a.setXYZ(39,r.r,r.g,r.b),a.setXYZ(40,i.r,i.g,i.b),a.setXYZ(41,i.r,i.g,i.b),a.setXYZ(42,i.r,i.g,i.b),a.setXYZ(43,i.r,i.g,i.b),a.setXYZ(44,i.r,i.g,i.b),a.setXYZ(45,i.r,i.g,i.b),a.setXYZ(46,i.r,i.g,i.b),a.setXYZ(47,i.r,i.g,i.b),a.setXYZ(48,i.r,i.g,i.b),a.setXYZ(49,i.r,i.g,i.b),a.needsUpdate=!0}update(){let e=this.geometry,t=this.pointMap;Um.projectionMatrixInverse.copy(this.camera.projectionMatrixInverse),jr(`c`,t,e,Um,0,0,-1),jr(`t`,t,e,Um,0,0,1),jr(`n1`,t,e,Um,-1,-1,-1),jr(`n2`,t,e,Um,1,-1,-1),jr(`n3`,t,e,Um,-1,1,-1),jr(`n4`,t,e,Um,1,1,-1),jr(`f1`,t,e,Um,-1,-1,1),jr(`f2`,t,e,Um,1,-1,1),jr(`f3`,t,e,Um,-1,1,1),jr(`f4`,t,e,Um,1,1,1),jr(`u1`,t,e,Um,.7,1.1,-1),jr(`u2`,t,e,Um,-.7,1.1,-1),jr(`u3`,t,e,Um,0,2,-1),jr(`cf1`,t,e,Um,-1,0,1),jr(`cf2`,t,e,Um,1,0,1),jr(`cf3`,t,e,Um,0,-1,1),jr(`cf4`,t,e,Um,0,1,1),jr(`cn1`,t,e,Um,-1,0,-1),jr(`cn2`,t,e,Um,1,0,-1),jr(`cn3`,t,e,Um,0,-1,-1),jr(`cn4`,t,e,Um,0,1,-1),e.getAttribute(`position`).needsUpdate=!0}dispose(){this.geometry.dispose(),this.material.dispose()}},Gm=new ho,Km=class extends ld{constructor(e,t=16776960){let n=new Uint16Array([0,1,1,2,2,3,3,0,4,5,5,6,6,7,7,4,0,4,1,5,2,6,3,7]),r=new Float32Array(24),i=new q;i.setIndex(new G(n,1)),i.setAttribute(`position`,new G(r,3)),super(i,new Qu({color:t,toneMapped:!1})),this.object=e,this.type=`BoxHelper`,this.matrixAutoUpdate=!1,this.update()}update(e){if(e!==void 0&&console.warn(`THREE.BoxHelper: .update() has no longer arguments.`),this.object!==void 0&&Gm.setFromObject(this.object),Gm.isEmpty())return;let t=Gm.min,n=Gm.max,r=this.geometry.attributes.position,i=r.array;i[0]=n.x,i[1]=n.y,i[2]=n.z,i[3]=t.x,i[4]=n.y,i[5]=n.z,i[6]=t.x,i[7]=t.y,i[8]=n.z,i[9]=n.x,i[10]=t.y,i[11]=n.z,i[12]=n.x,i[13]=n.y,i[14]=t.z,i[15]=t.x,i[16]=n.y,i[17]=t.z,i[18]=t.x,i[19]=t.y,i[20]=t.z,i[21]=n.x,i[22]=t.y,i[23]=t.z,r.needsUpdate=!0,this.geometry.computeBoundingSphere()}setFromObject(e){return this.object=e,this.update(),this}copy(e,t){return super.copy(e,t),this.object=e.object,this}dispose(){this.geometry.dispose(),this.material.dispose()}},qm=class extends ld{constructor(e,t=16776960){let n=new Uint16Array([0,1,1,2,2,3,3,0,4,5,5,6,6,7,7,4,0,4,1,5,2,6,3,7]),r=[1,1,1,-1,1,1,-1,-1,1,1,-1,1,1,1,-1,-1,1,-1,-1,-1,-1,1,-1,-1],i=new q;i.setIndex(new G(n,1)),i.setAttribute(`position`,new K(r,3)),super(i,new Qu({color:t,toneMapped:!1})),this.box=e,this.type=`Box3Helper`,this.geometry.computeBoundingSphere()}updateMatrixWorld(e){let t=this.box;t.isEmpty()||(t.getCenter(this.position),t.getSize(this.scale),this.scale.multiplyScalar(.5),super.updateMatrixWorld(e))}dispose(){this.geometry.dispose(),this.material.dispose()}},Jm=class extends od{constructor(e,t=1,n=16776960){let r=n,i=[1,-1,0,-1,1,0,-1,-1,0,1,1,0,-1,1,0,-1,-1,0,1,-1,0,1,1,0],a=new q;a.setAttribute(`position`,new K(i,3)),a.computeBoundingSphere(),super(a,new Qu({color:r,toneMapped:!1})),this.type=`PlaneHelper`,this.plane=e,this.size=t;let o=[1,1,0,-1,1,0,-1,-1,0,1,1,0,-1,-1,0,1,-1,0],s=new q;s.setAttribute(`position`,new K(o,3)),s.computeBoundingSphere(),this.add(new dc(s,new Ps({color:r,opacity:.2,transparent:!0,depthWrite:!1,toneMapped:!1})))}updateMatrixWorld(e){this.position.set(0,0,0),this.scale.set(.5*this.size,.5*this.size,1),this.lookAt(this.plane.normal),this.translateZ(-this.plane.constant),super.updateMatrixWorld(e)}dispose(){this.geometry.dispose(),this.material.dispose(),this.children[0].geometry.dispose(),this.children[0].material.dispose()}},Ym=new H,Qm=class extends ps{constructor(e=new H(0,0,1),t=new H(0,0,0),n=1,r=16776960,i=n*.2,a=i*.2){super(),this.type=`ArrowHelper`,Xm===void 0&&(Xm=new q,Xm.setAttribute(`position`,new K([0,0,0,0,1,0],3)),Zm=new Wd(0,.5,1,5,1),Zm.translate(0,-.5,0)),this.position.copy(t),this.line=new od(Xm,new Qu({color:r,toneMapped:!1})),this.line.matrixAutoUpdate=!1,this.add(this.line),this.cone=new dc(Zm,new Ps({color:r,toneMapped:!1})),this.cone.matrixAutoUpdate=!1,this.add(this.cone),this.setDirection(e),this.setLength(n,i,a)}setDirection(e){if(e.y>.99999)this.quaternion.set(0,0,0,1);else if(e.y<-.99999)this.quaternion.set(1,0,0,0);else{Ym.set(e.z,0,-e.x).normalize();let t=Math.acos(e.y);this.quaternion.setFromAxisAngle(Ym,t)}}setLength(e,t=e*.2,n=t*.2){this.line.scale.set(1,Math.max(1e-4,e-t),1),this.line.updateMatrix(),this.cone.scale.set(n,t,n),this.cone.position.y=e,this.cone.updateMatrix()}setColor(e){this.line.material.color.set(e),this.cone.material.color.set(e)}copy(e){return super.copy(e,!1),this.line.copy(e.line),this.cone.copy(e.cone),this}dispose(){this.line.geometry.dispose(),this.line.material.dispose(),this.cone.geometry.dispose(),this.cone.material.dispose()}},$m=class extends ld{constructor(e=1){let t=[0,0,0,e,0,0,0,0,0,0,e,0,0,0,0,0,0,e],n=[1,0,0,1,.6,0,0,1,0,.6,1,0,0,0,1,0,.6,1],r=new q;r.setAttribute(`position`,new K(t,3)),r.setAttribute(`color`,new K(n,3));let i=new Qu({vertexColors:!0,toneMapped:!1});super(r,i),this.type=`AxesHelper`}setColors(e,t,n){let r=new W,i=this.geometry.attributes.color.array;return r.set(e),r.toArray(i,0),r.toArray(i,3),r.set(t),r.toArray(i,6),r.toArray(i,9),r.set(n),r.toArray(i,12),r.toArray(i,15),this.geometry.attributes.color.needsUpdate=!0,this}dispose(){this.geometry.dispose(),this.material.dispose()}},eh=class{constructor(){this.type=`ShapePath`,this.color=new W,this.subPaths=[],this.currentPath=null}moveTo(e,t){return this.currentPath=new Bd,this.subPaths.push(this.currentPath),this.currentPath.moveTo(e,t),this}lineTo(e,t){return this.currentPath.lineTo(e,t),this}quadraticCurveTo(e,t,n,r){return this.currentPath.quadraticCurveTo(e,t,n,r),this}bezierCurveTo(e,t,n,r,i,a){return this.currentPath.bezierCurveTo(e,t,n,r,i,a),this}splineThru(e){return this.currentPath.splineThru(e),this}toShapes(e){function t(e){let t=[];for(let n=0,r=e.length;n<r;n++){let r=e[n],i=new $d;i.curves=r.curves,t.push(i)}return t}function n(e,t){let n=t.length,r=!1;for(let i=n-1,a=0;a<n;i=a++){let n=t[i],o=t[a],s=o.x-n.x,c=o.y-n.y;if(Math.abs(c)>2**-52){if(c<0&&(n=t[a],s=-s,o=t[i],c=-c),e.y<n.y||e.y>o.y)continue;if(e.y===n.y){if(e.x===n.x)return!0}else{let t=c*(e.x-n.x)-s*(e.y-n.y);if(t===0)return!0;if(t<0)continue;r=!r}}else{if(e.y!==n.y)continue;if(o.x<=e.x&&e.x<=n.x||n.x<=e.x&&e.x<=o.x)return!0}}return r}let r=tf.isClockWise,i=this.subPaths;if(i.length===0)return[];let a,o,s,c=[];if(i.length===1)return o=i[0],s=new $d,s.curves=o.curves,c.push(s),c;let l=!r(i[0].getPoints());l=e?!l:l;let u=[],d=[],f=[],p=0,m;d[p]=void 0,f[p]=[];for(let t=0,n=i.length;t<n;t++)o=i[t],m=o.getPoints(),a=r(m),a=e?!a:a,a?(!l&&d[p]&&p++,d[p]={s:new $d,p:m},d[p].s.curves=o.curves,l&&p++,f[p]=[]):f[p].push({h:o,p:m[0]});if(!d[0])return t(i);if(d.length>1){let e=!1,t=0;for(let e=0,t=d.length;e<t;e++)u[e]=[];for(let r=0,i=d.length;r<i;r++){let i=f[r];for(let a=0;a<i.length;a++){let o=i[a],s=!0;for(let i=0;i<d.length;i++)n(o.p,d[i].p)&&(r!==i&&t++,s?(s=!1,u[i].push(o)):e=!0);s&&u[r].push(o)}}t>0&&e===!1&&(f=u)}let h;for(let e=0,t=d.length;e<t;e++){s=d[e].s,c.push(s),h=f[e];for(let e=0,t=h.length;e<t;e++)s.holes.push(h[e].h)}return c}},th=class extends Ra{constructor(e,t=null){super(),this.object=e,this.domElement=t,this.enabled=!0,this.state=-1,this.keys={},this.mouseButtons={LEFT:null,MIDDLE:null,RIGHT:null},this.touches={ONE:null,TWO:null}}connect(){}disconnect(){}dispose(){}update(){}},nh=class extends oo{constructor(e=1,t=1,n=1,r={}){console.warn(`THREE.WebGLMultipleRenderTargets has been deprecated and will be removed in r172. Use THREE.WebGLRenderTarget and set the "count" parameter to enable MRT.`),super(e,t,{...r,count:n}),this.isWebGLMultipleRenderTargets=!0}get texture(){return this.textures}},typeof __THREE_DEVTOOLS__<`u`&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent(`register`,{detail:{revision:`169`}})),typeof window<`u`&&(window.__THREE__?console.warn(`WARNING: Multiple instances of Three.js being imported.`):window.__THREE__=`169`)}));function ih(e){"@babel/helpers - typeof";return ih=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},ih(e)}var ah=n((()=>{}));function oh(e,t){if(ih(e)!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(ih(r)!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}var sh=n((()=>{ah()}));function ch(e){var t=oh(e,`string`);return ih(t)==`symbol`?t:t+``}var lh=n((()=>{ah(),sh()}));function X(e,t,n){return(t=ch(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var uh=n((()=>{lh()}));rh(),uh();var dh=class{constructor(e,t=0,n){X(this,`buffer`,void 0),X(this,`base`,void 0),X(this,`view`,void 0),X(this,`offset`,void 0),X(this,`_decoder`,new TextDecoder(`utf-8`)),this.buffer=e,this.base=t,this.view=new DataView(e,t,n===void 0?e.byteLength-t:n),this.offset=0}get remaining(){return this.view.byteLength-this.offset}u8(){let e=this.view.getUint8(this.offset);return this.offset+=1,e}u16(){let e=this.view.getUint16(this.offset,!0);return this.offset+=2,e}u32(){let e=this.view.getUint32(this.offset,!0);return this.offset+=4,e}i32(){let e=this.view.getInt32(this.offset,!0);return this.offset+=4,e}f32(){let e=this.view.getFloat32(this.offset,!0);return this.offset+=4,e}f64(){let e=this.view.getFloat64(this.offset,!0);return this.offset+=8,e}bytes(e){let t=new Uint8Array(this.buffer,this.base+this.offset,e);return this.offset+=e,t}bytesCopy(e){let t=new Uint8Array(this.buffer,this.base+this.offset,e);return this.offset+=e,t.slice()}string(){let e=this.u32(),t=new Uint8Array(this.buffer,this.base+this.offset,e);return this.offset+=e,this._decoder.decode(t)}skip(e){this.offset+=e}align4(e=0){let t=(this.offset-e)%4;t!==0&&this.skip(4-t)}vec3f64(){return{x:this.f64(),y:this.f64(),z:this.f64()}}boundingBox(){return{center:this.vec3f64(),xExtent:this.vec3f64(),yExtent:this.vec3f64(),zExtent:this.vec3f64()}}},fh=r(((e,t)=>{t.exports={}})),ph=i({default:()=>hh});function mh(e){let t=atob(e),n=new Uint8Array(t.length);for(let e=0;e<t.length;e++)n[e]=t.charCodeAt(e);return n}function hh(){return vh||(vh=gh({wasmBinary:mh(_h)})),vh}var Z,gh,_h,vh,yh=n((()=>{Z=Z||{},Z.scope={},Z.ASSUME_ES2020=!1,Z.ASSUME_ES6=Z.ASSUME_ES2020,Z.ASSUME_ES5=Z.ASSUME_ES6,Z.ASSUME_NO_NATIVE_MAP=!1,Z.ASSUME_NO_NATIVE_SET=!1,Z.ISOLATE_POLYFILLS=!1,Z.FORCE_POLYFILL_PROMISE=!1,Z.FORCE_POLYFILL_PROMISE_WHEN_NO_UNHANDLED_REJECTION=!1,Z.INSTRUMENT_ASYNC_CONTEXT=!0,Z.objectCreate=Z.ASSUME_ES5||typeof Object.create==`function`?Object.create:function(e){var t=function(){};return t.prototype=e,new t},Z.defineProperty=Z.ASSUME_ES5||typeof Object.defineProperties==`function`?Object.defineProperty:function(e,t,n){return e==Array.prototype||e==Object.prototype||(e[t]=n.value),e},Z.getGlobal=function(e){e=[typeof globalThis==`object`&&globalThis,e,typeof window==`object`&&window,typeof self==`object`&&self,typeof global==`object`&&global];for(var t=0;t<e.length;++t){var n=e[t];if(n&&n.Math==Math)return n}throw Error(`Cannot find global object`)},Z.global=Z.ASSUME_ES2020?globalThis:Z.getGlobal(void 0),Z.IS_SYMBOL_NATIVE=typeof Symbol==`function`&&typeof Symbol(`x`)==`symbol`,Z.TRUST_ES6_POLYFILLS=!Z.ISOLATE_POLYFILLS||Z.IS_SYMBOL_NATIVE,Z.polyfills={},Z.propertyToPolyfillSymbol={},Z.POLYFILL_PREFIX=`$jscp$`,Z.TYPED_ARRAY_CLASSES=function(){var e=`Int8 Uint8 Uint8Clamped Int16 Uint16 Int32 Uint32 Float32 Float64`.split(` `);return Z.global.BigInt64Array&&(e.push(`BigInt64`),e.push(`BigUint64`)),e}(),Z.polyfillTypedArrayMethod=function(e,t,n,r){if(t)for(var i=0;i<Z.TYPED_ARRAY_CLASSES.length;i++){var a=Z.TYPED_ARRAY_CLASSES[i]+`Array.prototype.`+e;Z.ISOLATE_POLYFILLS?Z.polyfillIsolated(a,t,n,r):Z.polyfillUnisolated(a,t,n,r)}},Z.polyfill=function(e,t,n,r){t&&(Z.ISOLATE_POLYFILLS?Z.polyfillIsolated(e,t,n,r):Z.polyfillUnisolated(e,t,n,r))},Z.polyfillUnisolated=function(e,t,n,r){for(n=Z.global,e=e.split(`.`),r=0;r<e.length-1;r++){var i=e[r];if(!(i in n))return;n=n[i]}e=e[e.length-1],r=n[e],t=t(r),t!=r&&t!=null&&Z.defineProperty(n,e,{configurable:!0,writable:!0,value:t})},Z.polyfillIsolated=function(e,t,n,r){var i=e.split(`.`);e=i.length===1,r=i[0],r=!e&&r in Z.polyfills?Z.polyfills:Z.global;for(var a=0;a<i.length-1;a++){var o=i[a];if(!(o in r))return;r=r[o]}i=i[i.length-1],n=Z.IS_SYMBOL_NATIVE&&n===`es6`?r[i]:null,t=t(n),t!=null&&(e?Z.defineProperty(Z.polyfills,i,{configurable:!0,writable:!0,value:t}):t!==n&&(Z.propertyToPolyfillSymbol[i]===void 0&&(n=Math.random()*1e9>>>0,Z.propertyToPolyfillSymbol[i]=Z.IS_SYMBOL_NATIVE?Z.global.Symbol(i):Z.POLYFILL_PREFIX+n+`$`+i),Z.defineProperty(r,Z.propertyToPolyfillSymbol[i],{configurable:!0,writable:!0,value:t})))},Z.getConstructImplementation=function(){function e(){function e(){}return new e,Reflect.construct(e,[],function(){}),new e instanceof e}if(Z.TRUST_ES6_POLYFILLS&&typeof Reflect<`u`&&Reflect.construct){if(e())return Reflect.construct;var t=Reflect.construct;return function(e,n,r){return e=t(e,n),r&&Reflect.setPrototypeOf(e,r.prototype),e}}return function(e,t,n){return n===void 0&&(n=e),n=Z.objectCreate(n.prototype||Object.prototype),Function.prototype.apply.call(e,n,t)||n}},Z.construct={valueOf:Z.getConstructImplementation}.valueOf(),Z.underscoreProtoCanBeSet=function(){var e={a:!0},t={};try{return t.__proto__=e,t.a}catch{}return!1},Z.setPrototypeOf=Z.ASSUME_ES6||Z.TRUST_ES6_POLYFILLS&&typeof Object.setPrototypeOf==`function`?Object.setPrototypeOf:Z.underscoreProtoCanBeSet()?function(e,t){if(e.__proto__=t,e.__proto__!==t)throw TypeError(e+` is not extensible`);return e}:null,Z.inherits=function(e,t){if(e.prototype=Z.objectCreate(t.prototype),e.prototype.constructor=e,Z.ASSUME_ES6||Z.setPrototypeOf){var n=Z.setPrototypeOf;n(e,t)}else for(n in t)if(n!=`prototype`){if(Object.defineProperties){var r=Object.getOwnPropertyDescriptor(t,n);r&&Object.defineProperty(e,n,r)}else e[n]=t[n]}e.superClass_=t.prototype},Z.arrayIteratorImpl=function(e){var t=0;return function(){return t<e.length?{done:!1,value:e[t++]}:{done:!0}}},Z.arrayIterator=function(e){return{next:Z.arrayIteratorImpl(e)}},Z.makeIterator=function(e){var t=typeof Symbol<`u`&&Symbol.iterator&&e[Symbol.iterator];if(t)return t.call(e);if(typeof e.length==`number`)return Z.arrayIterator(e);throw Error(String(e)+` is not an iterable or ArrayLike`)},Z.arrayFromIterator=function(e){for(var t,n=[];!(t=e.next()).done;)n.push(t.value);return n},Z.arrayFromIterable=function(e){return e instanceof Array?e:Z.arrayFromIterator(Z.makeIterator(e))},Z.createTemplateTagFirstArg=function(e){return Z.createTemplateTagFirstArgWithRaw(e,e)},Z.createTemplateTagFirstArgWithRaw=function(e,t){return e.raw=t,Object.freeze&&(Object.freeze(e),Object.freeze(t)),e},Z.generator={},Z.generator.ensureIteratorResultIsObject_=function(e){if(!(e instanceof Object))throw TypeError(`Iterator result `+e+` is not an object`)},Z.generator.Context=function(){this.isRunning_=!1,this.yieldAllIterator_=null,this.yieldResult=void 0,this.nextAddress=1,this.finallyAddress_=this.catchAddress_=0,this.finallyContexts_=this.abruptCompletion_=null},Z.generator.Context.prototype.start_=function(){if(this.isRunning_)throw TypeError(`Generator is already running`);this.isRunning_=!0},Z.generator.Context.prototype.stop_=function(){this.isRunning_=!1},Z.generator.Context.prototype.jumpToErrorHandler_=function(){this.nextAddress=this.catchAddress_||this.finallyAddress_},Z.generator.Context.prototype.next_=function(e){this.yieldResult=e},Z.generator.Context.prototype.throw_=function(e){this.abruptCompletion_={exception:e,isException:!0},this.jumpToErrorHandler_()},Z.generator.Context.prototype.getNextAddressJsc=function(){return this.nextAddress},Z.generator.Context.prototype.getNextAddressJsc=function(){return this.nextAddress},Z.generator.Context.prototype.getYieldResultJsc=function(){return this.yieldResult},Z.generator.Context.prototype.getYieldResultJsc=function(){return this.yieldResult},Z.generator.Context.prototype.return=function(e){this.abruptCompletion_={return:e},this.nextAddress=this.finallyAddress_},Z.generator.Context.prototype.return=Z.generator.Context.prototype.return,Z.generator.Context.prototype.jumpThroughFinallyBlocks=function(e){this.abruptCompletion_={jumpTo:e},this.nextAddress=this.finallyAddress_},Z.generator.Context.prototype.jumpThroughFinallyBlocks=Z.generator.Context.prototype.jumpThroughFinallyBlocks,Z.generator.Context.prototype.yield=function(e,t){return this.nextAddress=t,{value:e}},Z.generator.Context.prototype.yield=Z.generator.Context.prototype.yield,Z.generator.Context.prototype.yieldAll=function(e,t){e=Z.makeIterator(e);var n=e.next();if(Z.generator.ensureIteratorResultIsObject_(n),n.done)this.yieldResult=n.value,this.nextAddress=t;else return this.yieldAllIterator_=e,this.yield(n.value,t)},Z.generator.Context.prototype.yieldAll=Z.generator.Context.prototype.yieldAll,Z.generator.Context.prototype.jumpTo=function(e){this.nextAddress=e},Z.generator.Context.prototype.jumpTo=Z.generator.Context.prototype.jumpTo,Z.generator.Context.prototype.jumpToEnd=function(){this.nextAddress=0},Z.generator.Context.prototype.jumpToEnd=Z.generator.Context.prototype.jumpToEnd,Z.generator.Context.prototype.setCatchFinallyBlocks=function(e,t){this.catchAddress_=e,t!=null&&(this.finallyAddress_=t)},Z.generator.Context.prototype.setCatchFinallyBlocks=Z.generator.Context.prototype.setCatchFinallyBlocks,Z.generator.Context.prototype.setFinallyBlock=function(e){this.catchAddress_=0,this.finallyAddress_=e||0},Z.generator.Context.prototype.setFinallyBlock=Z.generator.Context.prototype.setFinallyBlock,Z.generator.Context.prototype.leaveTryBlock=function(e,t){this.nextAddress=e,this.catchAddress_=t||0},Z.generator.Context.prototype.leaveTryBlock=Z.generator.Context.prototype.leaveTryBlock,Z.generator.Context.prototype.enterCatchBlock=function(e){return this.catchAddress_=e||0,e=this.abruptCompletion_.exception,this.abruptCompletion_=null,e},Z.generator.Context.prototype.enterCatchBlock=Z.generator.Context.prototype.enterCatchBlock,Z.generator.Context.prototype.enterFinallyBlock=function(e,t,n){n?this.finallyContexts_[n]=this.abruptCompletion_:this.finallyContexts_=[this.abruptCompletion_],this.catchAddress_=e||0,this.finallyAddress_=t||0},Z.generator.Context.prototype.enterFinallyBlock=Z.generator.Context.prototype.enterFinallyBlock,Z.generator.Context.prototype.leaveFinallyBlock=function(e,t){if(t=this.finallyContexts_.splice(t||0)[0],t=this.abruptCompletion_=this.abruptCompletion_||t){if(t.isException)return this.jumpToErrorHandler_();t.jumpTo!=null&&this.finallyAddress_<t.jumpTo?(this.nextAddress=t.jumpTo,this.abruptCompletion_=null):this.nextAddress=this.finallyAddress_}else this.nextAddress=e},Z.generator.Context.prototype.leaveFinallyBlock=Z.generator.Context.prototype.leaveFinallyBlock,Z.generator.Context.prototype.forIn=function(e){return new Z.generator.Context.PropertyIterator(e)},Z.generator.Context.prototype.forIn=Z.generator.Context.prototype.forIn,Z.generator.Context.PropertyIterator=function(e){for(var t in this.object_=e,this.properties_=[],e)this.properties_.push(t);this.properties_.reverse()},Z.generator.Context.PropertyIterator.prototype.getNext=function(){for(;this.properties_.length>0;){var e=this.properties_.pop();if(e in this.object_)return e}return null},Z.generator.Context.PropertyIterator.prototype.getNext=Z.generator.Context.PropertyIterator.prototype.getNext,Z.generator.Engine_=function(e){this.context_=new Z.generator.Context,this.program_=e},Z.generator.Engine_.prototype.next_=function(e){return this.context_.start_(),this.context_.yieldAllIterator_?this.yieldAllStep_(this.context_.yieldAllIterator_.next,e,this.context_.next_):(this.context_.next_(e),this.nextStep_())},Z.generator.Engine_.prototype.return_=function(e){this.context_.start_();var t=this.context_.yieldAllIterator_;return t?this.yieldAllStep_(`return`in t?t.return:function(e){return{value:e,done:!0}},e,this.context_.return):(this.context_.return(e),this.nextStep_())},Z.generator.Engine_.prototype.throw_=function(e){return this.context_.start_(),this.context_.yieldAllIterator_?this.yieldAllStep_(this.context_.yieldAllIterator_.throw,e,this.context_.next_):(this.context_.throw_(e),this.nextStep_())},Z.generator.Engine_.prototype.yieldAllStep_=function(e,t,n){try{var r=e.call(this.context_.yieldAllIterator_,t);if(Z.generator.ensureIteratorResultIsObject_(r),!r.done)return this.context_.stop_(),r;var i=r.value}catch(e){return this.context_.yieldAllIterator_=null,this.context_.throw_(e),this.nextStep_()}return this.context_.yieldAllIterator_=null,n.call(this.context_,i),this.nextStep_()},Z.generator.Engine_.prototype.nextStep_=function(){for(;this.context_.nextAddress;)try{var e=this.program_(this.context_);if(e)return this.context_.stop_(),{value:e.value,done:!1}}catch(e){this.context_.yieldResult=void 0,this.context_.throw_(e)}if(this.context_.stop_(),this.context_.abruptCompletion_){if(e=this.context_.abruptCompletion_,this.context_.abruptCompletion_=null,e.isException)throw e.exception;return{value:e.return,done:!0}}return{value:void 0,done:!0}},Z.generator.Generator_=function(e){this.next=function(t){return e.next_(t)},this.throw=function(t){return e.throw_(t)},this.return=function(t){return e.return_(t)},this[Symbol.iterator]=function(){return this}},Z.generator.createGenerator=function(e,t){return t=new Z.generator.Generator_(new Z.generator.Engine_(t)),Z.setPrototypeOf&&e.prototype&&Z.setPrototypeOf(t,e.prototype),t},Z.asyncExecutePromiseGenerator=function(e){function t(t){return e.next(t)}function n(t){return e.throw(t)}return new Promise(function(r,i){function a(e){e.done?r(e.value):Promise.resolve(e.value).then(t,n).then(a,i)}a(e.next())})},Z.asyncExecutePromiseGeneratorFunction=function(e){return Z.asyncExecutePromiseGenerator(e())},Z.asyncExecutePromiseGeneratorProgram=function(e){return Z.asyncExecutePromiseGenerator(new Z.generator.Generator_(new Z.generator.Engine_(e)))},Z.polyfill(`globalThis`,function(e){return e||Z.global},`es_2020`,`es3`),Z.polyfill(`Reflect`,function(e){return e||{}},`es6`,`es3`),Z.polyfill(`Reflect.construct`,function(e){return Z.construct},`es6`,`es3`),Z.polyfill(`Reflect.setPrototypeOf`,function(e){if(e)return e;if(Z.setPrototypeOf){var t=Z.setPrototypeOf;return function(e,n){try{return t(e,n),!0}catch{return!1}}}return null},`es6`,`es5`),Z.initSymbol=function(){},Z.polyfill(`Symbol`,function(e){if(e)return e;var t=function(e,t){this.$jscomp$symbol$id_=e,Z.defineProperty(this,`description`,{configurable:!0,writable:!0,value:t})};t.prototype.toString=function(){return this.$jscomp$symbol$id_};var n=`jscomp_symbol_`+(Math.random()*1e9>>>0)+`_`,r=0,i=function(e){if(this instanceof i)throw TypeError(`Symbol is not a constructor`);return new t(n+(e||``)+`_`+r++,e)};return i},`es6`,`es3`),Z.polyfill(`Symbol.iterator`,function(e){return e||(e=Symbol(`Symbol.iterator`),Z.defineProperty(Array.prototype,e,{configurable:!0,writable:!0,value:function(){return Z.iteratorPrototype(Z.arrayIteratorImpl(this))}}),e)},`es6`,`es3`),Z.iteratorPrototype=function(e){return e={next:e},e[Symbol.iterator]=function(){return this},e},Z.polyfill(`Promise`,function(e){function t(){this.batch_=null}function n(e){return e instanceof i?e:new i(function(t,n){t(e)})}if(e&&(!(Z.FORCE_POLYFILL_PROMISE||Z.FORCE_POLYFILL_PROMISE_WHEN_NO_UNHANDLED_REJECTION&&Z.global.PromiseRejectionEvent===void 0)||!Z.global.Promise||Z.global.Promise.toString().indexOf(`[native code]`)===-1))return e;t.prototype.asyncExecute=function(e){if(this.batch_==null){this.batch_=[];var t=this;this.asyncExecuteFunction(function(){t.executeBatch_()})}this.batch_.push(e)};var r=Z.global.setTimeout;t.prototype.asyncExecuteFunction=function(e){r(e,0)},t.prototype.executeBatch_=function(){for(;this.batch_&&this.batch_.length;){var e=this.batch_;this.batch_=[];for(var t=0;t<e.length;++t){var n=e[t];e[t]=null;try{n()}catch(e){this.asyncThrow_(e)}}}this.batch_=null},t.prototype.asyncThrow_=function(e){this.asyncExecuteFunction(function(){throw e})};var i=function(e){this.state_=0,this.result_=void 0,this.onSettledCallbacks_=[],this.isRejectionHandled_=!1;var t=this.createResolveAndReject_();try{e(t.resolve,t.reject)}catch(e){t.reject(e)}};i.prototype.createResolveAndReject_=function(){function e(e){return function(r){n||(n=!0,e.call(t,r))}}var t=this,n=!1;return{resolve:e(this.resolveTo_),reject:e(this.reject_)}},i.prototype.resolveTo_=function(e){if(e===this)this.reject_(TypeError(`A Promise cannot resolve to itself`));else if(e instanceof i)this.settleSameAsPromise_(e);else{a:switch(typeof e){case`object`:var t=e!=null;break a;case`function`:t=!0;break a;default:t=!1}t?this.resolveToNonPromiseObj_(e):this.fulfill_(e)}},i.prototype.resolveToNonPromiseObj_=function(e){var t=void 0;try{t=e.then}catch(e){this.reject_(e);return}typeof t==`function`?this.settleSameAsThenable_(t,e):this.fulfill_(e)},i.prototype.reject_=function(e){this.settle_(2,e)},i.prototype.fulfill_=function(e){this.settle_(1,e)},i.prototype.settle_=function(e,t){if(this.state_!=0)throw Error(`Cannot settle(`+e+`, `+t+`): Promise already settled in state`+this.state_);this.state_=e,this.result_=t,this.state_===2&&this.scheduleUnhandledRejectionCheck_(),this.executeOnSettledCallbacks_()},i.prototype.scheduleUnhandledRejectionCheck_=function(){var e=this;r(function(){if(e.notifyUnhandledRejection_()){var t=Z.global.console;t!==void 0&&t.error(e.result_)}},1)},i.prototype.notifyUnhandledRejection_=function(){if(this.isRejectionHandled_)return!1;var e=Z.global.CustomEvent,t=Z.global.Event,n=Z.global.dispatchEvent;return n===void 0||(typeof e==`function`?e=new e(`unhandledrejection`,{cancelable:!0}):typeof t==`function`?e=new t(`unhandledrejection`,{cancelable:!0}):(e=Z.global.document.createEvent(`CustomEvent`),e.initCustomEvent(`unhandledrejection`,!1,!0,e)),e.promise=this,e.reason=this.result_,n(e))},i.prototype.executeOnSettledCallbacks_=function(){if(this.onSettledCallbacks_!=null){for(var e=0;e<this.onSettledCallbacks_.length;++e)a.asyncExecute(this.onSettledCallbacks_[e]);this.onSettledCallbacks_=null}};var a=new t;return i.prototype.settleSameAsPromise_=function(e){var t=this.createResolveAndReject_();e.callWhenSettled_(t.resolve,t.reject)},i.prototype.settleSameAsThenable_=function(e,t){var n=this.createResolveAndReject_();try{e.call(t,n.resolve,n.reject)}catch(e){n.reject(e)}},i.prototype.then=function(e,t){function n(e,t){return typeof e==`function`?function(t){try{r(e(t))}catch(e){a(e)}}:t}var r,a,o=new i(function(e,t){r=e,a=t});return this.callWhenSettled_(n(e,r),n(t,a)),o},i.prototype.catch=function(e){return this.then(void 0,e)},i.prototype.callWhenSettled_=function(e,t){function n(){switch(r.state_){case 1:e(r.result_);break;case 2:t(r.result_);break;default:throw Error(`Unexpected state: `+r.state_)}}var r=this;this.onSettledCallbacks_==null?a.asyncExecute(n):this.onSettledCallbacks_.push(n),this.isRejectionHandled_=!0},i.resolve=n,i.reject=function(e){return new i(function(t,n){n(e)})},i.race=function(e){return new i(function(t,r){for(var i=Z.makeIterator(e),a=i.next();!a.done;a=i.next())n(a.value).callWhenSettled_(t,r)})},i.all=function(e){var t=Z.makeIterator(e),r=t.next();return r.done?n([]):new i(function(e,i){function a(t){return function(n){o[t]=n,s--,s==0&&e(o)}}var o=[],s=0;do o.push(void 0),s++,n(r.value).callWhenSettled_(a(o.length-1),i),r=t.next();while(!r.done)})},i},`es6`,`es3`),Z.checkStringArgs=function(e,t,n){if(e==null)throw TypeError(`The 'this' value for String.prototype.`+n+` must not be null or undefined`);if(t instanceof RegExp)throw TypeError(`First argument to String.prototype.`+n+` must not be a regular expression`);return e+``},Z.polyfill(`String.prototype.startsWith`,function(e){return e||function(e,t){var n=Z.checkStringArgs(this,e,`startsWith`);e+=``;var r=n.length,i=e.length;t=Math.max(0,Math.min(t|0,n.length));for(var a=0;a<i&&t<r;)if(n[t++]!=e[a++])return!1;return a>=i}},`es6`,`es3`),Z.polyfill(`String.prototype.codePointAt`,function(e){return e||function(e){var t=Z.checkStringArgs(this,null,`codePointAt`),n=t.length;if(e=Number(e)||0,e>=0&&e<n){e|=0;var r=t.charCodeAt(e);return r<55296||r>56319||e+1===n?r:(e=t.charCodeAt(e+1),e<56320||e>57343?r:(r-55296)*1024+e+9216)}}},`es6`,`es3`),gh=function(){var e=globalThis.document?.currentScript?.src;return function(t){function n(){this.ptr=Dn(),A(n)[this.ptr]=this}function r(){this.ptr=vn(),A(r)[this.ptr]=this}function i(){this.ptr=mn(),A(i)[this.ptr]=this}function a(){this.ptr=un(),A(a)[this.ptr]=this}function o(){this.ptr=on(),A(o)[this.ptr]=this}function s(){this.ptr=tn(),A(s)[this.ptr]=this}function c(){this.ptr=Zt(),A(c)[this.ptr]=this}function l(){this.ptr=qt(),A(l)[this.ptr]=this}function u(){this.ptr=Ut(),A(u)[this.ptr]=this}function d(){throw`cannot construct a Status, no constructor in IDL`}function f(){this.ptr=Lt(),A(f)[this.ptr]=this}function p(){this.ptr=Mt(),A(p)[this.ptr]=this}function m(){this.ptr=Ot(),A(m)[this.ptr]=this}function h(){this.ptr=wt(),A(h)[this.ptr]=this}function g(){this.ptr=vt(),A(g)[this.ptr]=this}function _(){this.ptr=st(),A(_)[this.ptr]=this}function v(){this.ptr=at(),A(v)[this.ptr]=this}function y(){this.ptr=nt(),A(y)[this.ptr]=this}function b(){this.ptr=$e(),A(b)[this.ptr]=this}function x(){throw`cannot construct a VoidPtr, no constructor in IDL`}function S(e){if(typeof e==`object`){for(var t=z.alloc(e,De),n=0;n<e.length;n++)De[t+n]=e[n];return t}return e}function C(e){if(typeof e==`string`){e=Je(e);for(var t=z.alloc(e,De),n=0;n<e.length;n++)De[t+n]=e[n];return t}return e}function w(e){return e.__class__}function T(e){return e.ptr}function E(e,t){return e.ptr===t.ptr}function D(e){if(!e.__destroy__)throw`Error: Cannot destroy object. (Did you create it yourself?)`;e.__destroy__(),delete A(e.__class__)[e.ptr]}function O(e,t){return k(e.ptr,t)}function k(e,t){var n=A(t),r=n[e];return r||(r=Object.create((t||j).prototype),r.ptr=e,n[e]=r)}function A(e){return(e||j).__cache__}function j(){}function ee(){var e,t,n;return(0,Z.asyncExecutePromiseGeneratorProgram)(function(r){if(r.getNextAddressJsc()==1)return se(),e=N.setStatus,e?(e(`Running...`),r.yield(new Promise(function(e){return setTimeout(e,1)}),3)):r.jumpTo(2);if(r.getNextAddressJsc()!=2&&setTimeout(e,1,``),Se)return r.return();Ee=!0,Oe(Ye),Ir.g(),(n=(t=N).onRuntimeInitialized)==null||n.call(t),oe(),r.jumpToEnd()})}function te(){function e(e){return e=Ir=e.exports,N._webidl_free=e.h,N._free=e.i,N._webidl_malloc=e.j,N._malloc=e.k,Qe=N._emscripten_bind_VoidPtr___destroy___0=e.l,$e=N._emscripten_bind_DecoderBuffer_DecoderBuffer_0=e.m,et=N._emscripten_bind_DecoderBuffer_Init_2=e.n,tt=N._emscripten_bind_DecoderBuffer___destroy___0=e.o,nt=N._emscripten_bind_AttributeTransformData_AttributeTransformData_0=e.p,rt=N._emscripten_bind_AttributeTransformData_transform_type_0=e.q,it=N._emscripten_bind_AttributeTransformData___destroy___0=e.r,at=N._emscripten_bind_GeometryAttribute_GeometryAttribute_0=e.s,ot=N._emscripten_bind_GeometryAttribute___destroy___0=e.t,st=N._emscripten_bind_PointAttribute_PointAttribute_0=e.u,ct=N._emscripten_bind_PointAttribute_size_0=e.v,lt=N._emscripten_bind_PointAttribute_GetAttributeTransformData_0=e.w,ut=N._emscripten_bind_PointAttribute_attribute_type_0=e.x,dt=N._emscripten_bind_PointAttribute_data_type_0=e.y,ft=N._emscripten_bind_PointAttribute_num_components_0=e.z,pt=N._emscripten_bind_PointAttribute_normalized_0=e.A,mt=N._emscripten_bind_PointAttribute_byte_stride_0=e.B,ht=N._emscripten_bind_PointAttribute_byte_offset_0=e.C,gt=N._emscripten_bind_PointAttribute_unique_id_0=e.D,_t=N._emscripten_bind_PointAttribute___destroy___0=e.E,vt=N._emscripten_bind_AttributeQuantizationTransform_AttributeQuantizationTransform_0=e.F,yt=N._emscripten_bind_AttributeQuantizationTransform_InitFromAttribute_1=e.G,bt=N._emscripten_bind_AttributeQuantizationTransform_quantization_bits_0=e.H,xt=N._emscripten_bind_AttributeQuantizationTransform_min_value_1=e.I,St=N._emscripten_bind_AttributeQuantizationTransform_range_0=e.J,Ct=N._emscripten_bind_AttributeQuantizationTransform___destroy___0=e.K,wt=N._emscripten_bind_AttributeOctahedronTransform_AttributeOctahedronTransform_0=e.L,Tt=N._emscripten_bind_AttributeOctahedronTransform_InitFromAttribute_1=e.M,Et=N._emscripten_bind_AttributeOctahedronTransform_quantization_bits_0=e.N,Dt=N._emscripten_bind_AttributeOctahedronTransform___destroy___0=e.O,Ot=N._emscripten_bind_PointCloud_PointCloud_0=e.P,kt=N._emscripten_bind_PointCloud_num_attributes_0=e.Q,At=N._emscripten_bind_PointCloud_num_points_0=e.R,jt=N._emscripten_bind_PointCloud___destroy___0=e.S,Mt=N._emscripten_bind_Mesh_Mesh_0=e.T,Nt=N._emscripten_bind_Mesh_num_faces_0=e.U,Pt=N._emscripten_bind_Mesh_num_attributes_0=e.V,Ft=N._emscripten_bind_Mesh_num_points_0=e.W,It=N._emscripten_bind_Mesh___destroy___0=e.X,Lt=N._emscripten_bind_Metadata_Metadata_0=e.Y,Rt=N._emscripten_bind_Metadata___destroy___0=e.Z,zt=N._emscripten_bind_Status_code_0=e._,Bt=N._emscripten_bind_Status_ok_0=e.$,Vt=N._emscripten_bind_Status_error_msg_0=e.aa,Ht=N._emscripten_bind_Status___destroy___0=e.ba,Ut=N._emscripten_bind_DracoFloat32Array_DracoFloat32Array_0=e.ca,Wt=N._emscripten_bind_DracoFloat32Array_GetValue_1=e.da,Gt=N._emscripten_bind_DracoFloat32Array_size_0=e.ea,Kt=N._emscripten_bind_DracoFloat32Array___destroy___0=e.fa,qt=N._emscripten_bind_DracoInt8Array_DracoInt8Array_0=e.ga,Jt=N._emscripten_bind_DracoInt8Array_GetValue_1=e.ha,Yt=N._emscripten_bind_DracoInt8Array_size_0=e.ia,Xt=N._emscripten_bind_DracoInt8Array___destroy___0=e.ja,Zt=N._emscripten_bind_DracoUInt8Array_DracoUInt8Array_0=e.ka,Qt=N._emscripten_bind_DracoUInt8Array_GetValue_1=e.la,$t=N._emscripten_bind_DracoUInt8Array_size_0=e.ma,en=N._emscripten_bind_DracoUInt8Array___destroy___0=e.na,tn=N._emscripten_bind_DracoInt16Array_DracoInt16Array_0=e.oa,nn=N._emscripten_bind_DracoInt16Array_GetValue_1=e.pa,rn=N._emscripten_bind_DracoInt16Array_size_0=e.qa,an=N._emscripten_bind_DracoInt16Array___destroy___0=e.ra,on=N._emscripten_bind_DracoUInt16Array_DracoUInt16Array_0=e.sa,sn=N._emscripten_bind_DracoUInt16Array_GetValue_1=e.ta,cn=N._emscripten_bind_DracoUInt16Array_size_0=e.ua,ln=N._emscripten_bind_DracoUInt16Array___destroy___0=e.va,un=N._emscripten_bind_DracoInt32Array_DracoInt32Array_0=e.wa,dn=N._emscripten_bind_DracoInt32Array_GetValue_1=e.xa,fn=N._emscripten_bind_DracoInt32Array_size_0=e.ya,pn=N._emscripten_bind_DracoInt32Array___destroy___0=e.za,mn=N._emscripten_bind_DracoUInt32Array_DracoUInt32Array_0=e.Aa,hn=N._emscripten_bind_DracoUInt32Array_GetValue_1=e.Ba,gn=N._emscripten_bind_DracoUInt32Array_size_0=e.Ca,_n=N._emscripten_bind_DracoUInt32Array___destroy___0=e.Da,vn=N._emscripten_bind_MetadataQuerier_MetadataQuerier_0=e.Ea,yn=N._emscripten_bind_MetadataQuerier_HasEntry_2=e.Fa,bn=N._emscripten_bind_MetadataQuerier_GetIntEntry_2=e.Ga,xn=N._emscripten_bind_MetadataQuerier_GetIntEntryArray_3=e.Ha,Sn=N._emscripten_bind_MetadataQuerier_GetDoubleEntry_2=e.Ia,Cn=N._emscripten_bind_MetadataQuerier_GetStringEntry_2=e.Ja,wn=N._emscripten_bind_MetadataQuerier_NumEntries_1=e.Ka,Tn=N._emscripten_bind_MetadataQuerier_GetEntryName_2=e.La,En=N._emscripten_bind_MetadataQuerier___destroy___0=e.Ma,Dn=N._emscripten_bind_Decoder_Decoder_0=e.Na,On=N._emscripten_bind_Decoder_DecodeArrayToPointCloud_3=e.Oa,kn=N._emscripten_bind_Decoder_DecodeArrayToMesh_3=e.Pa,An=N._emscripten_bind_Decoder_GetAttributeId_2=e.Qa,jn=N._emscripten_bind_Decoder_GetAttributeIdByName_2=e.Ra,Mn=N._emscripten_bind_Decoder_GetAttributeIdByMetadataEntry_3=e.Sa,Nn=N._emscripten_bind_Decoder_GetAttribute_2=e.Ta,Pn=N._emscripten_bind_Decoder_GetAttributeByUniqueId_2=e.Ua,Fn=N._emscripten_bind_Decoder_GetMetadata_1=e.Va,In=N._emscripten_bind_Decoder_GetAttributeMetadata_2=e.Wa,Ln=N._emscripten_bind_Decoder_GetFaceFromMesh_3=e.Xa,Rn=N._emscripten_bind_Decoder_GetTriangleStripsFromMesh_2=e.Ya,zn=N._emscripten_bind_Decoder_GetTrianglesUInt16Array_3=e.Za,Bn=N._emscripten_bind_Decoder_GetTrianglesUInt32Array_3=e._a,Vn=N._emscripten_bind_Decoder_GetAttributeFloat_3=e.$a,Hn=N._emscripten_bind_Decoder_GetAttributeFloatForAllPoints_3=e.ab,Un=N._emscripten_bind_Decoder_GetAttributeIntForAllPoints_3=e.bb,Wn=N._emscripten_bind_Decoder_GetAttributeInt8ForAllPoints_3=e.cb,Gn=N._emscripten_bind_Decoder_GetAttributeUInt8ForAllPoints_3=e.db,Kn=N._emscripten_bind_Decoder_GetAttributeInt16ForAllPoints_3=e.eb,qn=N._emscripten_bind_Decoder_GetAttributeUInt16ForAllPoints_3=e.fb,Jn=N._emscripten_bind_Decoder_GetAttributeInt32ForAllPoints_3=e.gb,Yn=N._emscripten_bind_Decoder_GetAttributeUInt32ForAllPoints_3=e.hb,Xn=N._emscripten_bind_Decoder_GetAttributeDataArrayForAllPoints_5=e.ib,Zn=N._emscripten_bind_Decoder_SkipAttributeTransform_1=e.jb,Qn=N._emscripten_bind_Decoder_GetEncodedGeometryType_Deprecated_1=e.kb,$n=N._emscripten_bind_Decoder_DecodeBufferToPointCloud_2=e.lb,er=N._emscripten_bind_Decoder_DecodeBufferToMesh_2=e.mb,tr=N._emscripten_bind_Decoder___destroy___0=e.nb,nr=N._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_INVALID_TRANSFORM=e.ob,rr=N._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_NO_TRANSFORM=e.pb,ir=N._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_QUANTIZATION_TRANSFORM=e.qb,ar=N._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_OCTAHEDRON_TRANSFORM=e.rb,or=N._emscripten_enum_draco_GeometryAttribute_Type_INVALID=e.sb,sr=N._emscripten_enum_draco_GeometryAttribute_Type_POSITION=e.tb,cr=N._emscripten_enum_draco_GeometryAttribute_Type_NORMAL=e.ub,lr=N._emscripten_enum_draco_GeometryAttribute_Type_COLOR=e.vb,ur=N._emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD=e.wb,dr=N._emscripten_enum_draco_GeometryAttribute_Type_GENERIC=e.xb,fr=N._emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE=e.yb,pr=N._emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD=e.zb,mr=N._emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH=e.Ab,hr=N._emscripten_enum_draco_DataType_DT_INVALID=e.Bb,gr=N._emscripten_enum_draco_DataType_DT_INT8=e.Cb,_r=N._emscripten_enum_draco_DataType_DT_UINT8=e.Db,vr=N._emscripten_enum_draco_DataType_DT_INT16=e.Eb,yr=N._emscripten_enum_draco_DataType_DT_UINT16=e.Fb,br=N._emscripten_enum_draco_DataType_DT_INT32=e.Gb,xr=N._emscripten_enum_draco_DataType_DT_UINT32=e.Hb,Sr=N._emscripten_enum_draco_DataType_DT_INT64=e.Ib,Cr=N._emscripten_enum_draco_DataType_DT_UINT64=e.Jb,wr=N._emscripten_enum_draco_DataType_DT_FLOAT32=e.Kb,Tr=N._emscripten_enum_draco_DataType_DT_FLOAT64=e.Lb,Er=N._emscripten_enum_draco_DataType_DT_BOOL=e.Mb,Dr=N._emscripten_enum_draco_DataType_DT_TYPES_COUNT=e.Nb,Or=N._emscripten_enum_draco_StatusCode_OK=e.Ob,kr=N._emscripten_enum_draco_StatusCode_DRACO_ERROR=e.Pb,Ar=N._emscripten_enum_draco_StatusCode_IO_ERROR=e.Qb,jr=N._emscripten_enum_draco_StatusCode_INVALID_PARAMETER=e.Rb,Mr=N._emscripten_enum_draco_StatusCode_UNSUPPORTED_VERSION=e.Sb,Nr=N._emscripten_enum_draco_StatusCode_UNKNOWN_VERSION=e.Tb,Pr=e.f,ce(),Ir}var t,n,r,i;return(0,Z.asyncExecutePromiseGeneratorProgram)(function(a){return a.getNextAddressJsc()==1?(t={a:Fr},(n=N.instantiateWasm)?a.return(new Promise(function(r){n(t,function(t){return r(e(t))})})):(P??(P=le(`draco_decoder.wasm`)),a.yield(ne(xe,P,t),2))):(r=a.getYieldResultJsc(),i=e(r.instance),a.return(i))})}function ne(e,t,n){var r,i,a;return(0,Z.asyncExecutePromiseGeneratorProgram)(function(o){switch(o.getNextAddressJsc()){case 1:if(e||Ce(t)||fe){o.jumpTo(2);break}return o.setCatchFinallyBlocks(3),r=fetch(t,{credentials:`same-origin`}),o.yield(WebAssembly.instantiateStreaming(r,n),5);case 5:return i=o.getYieldResultJsc(),o.return(i);case 3:a=o.enterCatchBlock(),be(`wasm streaming compile failed: `+a),be(`falling back to ArrayBuffer instantiation`);case 2:return o.return(re(t,n))}})}function re(e,t){var n,r,i;return(0,Z.asyncExecutePromiseGeneratorProgram)(function(a){switch(a.getNextAddressJsc()){case 1:return a.setCatchFinallyBlocks(2),a.yield(ie(e),4);case 4:return n=a.getYieldResultJsc(),a.yield(WebAssembly.instantiate(n,t),5);case 5:return r=a.getYieldResultJsc(),a.return(r);case 2:i=a.enterCatchBlock(),be(`failed to asynchronously prepare wasm: `+i),ae(i),a.jumpToEnd()}})}function ie(e){var t;return(0,Z.asyncExecutePromiseGeneratorProgram)(function(n){switch(n.getNextAddressJsc()){case 1:if(xe){n.jumpTo(2);break}return n.setCatchFinallyBlocks(3),n.yield(ge(e),5);case 5:return t=n.getYieldResultJsc(),n.return(new Uint8Array(t));case 3:n.enterCatchBlock();case 2:var r=n.return;if(e==P&&xe)var i=new Uint8Array(xe);else if(_e)i=_e(e);else throw`both async and sync fetching of the wasm failed`;return r.call(n,i)}})}function ae(e){var t,n;throw(n=(t=N).onAbort)==null||n.call(t,e),e=`Aborted(`+e+`)`,be(e),Se=!0,new WebAssembly.RuntimeError(e+`. Build with -sASSERTIONS for more info.`)}function oe(){var e=N.postRun;e&&(typeof e==`function`&&(e=[e]),ke.push.apply(ke,(0,Z.arrayFromIterable)(e))),Oe(ke)}function se(){var e=N.preRun;e&&(typeof e==`function`&&(e=[e]),Ae.push.apply(Ae,(0,Z.arrayFromIterable)(e))),Oe(Ae)}function ce(){var e,t;(e=De)!=null&&(t=e.buffer)!=null&&t.resizable||(e=Pr.buffer,N.HEAP8=De=new Int8Array(e),N.HEAP16=new Int16Array(e),N.HEAPU8=R=new Uint8Array(e),N.HEAPU16=new Uint16Array(e),N.HEAP32=new Int32Array(e),N.HEAPU32=je=new Uint32Array(e),N.HEAPF32=new Float32Array(e),N.HEAPF64=new Float64Array(e))}function le(e){return N.locateFile?N.locateFile(e,he):he+e}function M(e){return typeof e==`string`&&(e=e.split(`.`),e.length<2||e.length>3?!1:e[0]==1&&e[1]>=0&&e[1]<=5||!(e[0]!=0||e[1]>10))}t=t===void 0?{}:t;var N,ue,de,fe,pe,me,he,ge,_e,ve,ye,be,xe,Se,Ce,we,Te,Ee,P,De,Oe,ke,Ae,je,Me,Ne,Pe,Fe,Ie,F,I,L,R,Le,Re,ze,Be,Ve,He,Ue,We,Ge,Ke,qe,Je,Ye,Xe,Ze,Qe,$e,et,tt,nt,rt,it,at,ot,st,ct,lt,ut,dt,ft,pt,mt,ht,gt,_t,vt,yt,bt,xt,St,Ct,wt,Tt,Et,Dt,Ot,kt,At,jt,Mt,Nt,Pt,Ft,It,Lt,Rt,zt,Bt,Vt,Ht,Ut,Wt,Gt,Kt,qt,Jt,Yt,Xt,Zt,Qt,$t,en,tn,nn,rn,an,on,sn,cn,ln,un,dn,fn,pn,mn,hn,gn,_n,vn,yn,bn,xn,Sn,Cn,wn,Tn,En,Dn,On,kn,An,jn,Mn,Nn,Pn,Fn,In,Ln,Rn,zn,Bn,Vn,Hn,Un,Wn,Gn,Kn,qn,Jn,Yn,Xn,Zn,Qn,$n,er,tr,nr,rr,ir,ar,or,sr,cr,lr,ur,dr,fr,pr,mr,hr,gr,_r,vr,yr,br,xr,Sr,Cr,wr,Tr,Er,Dr,Or,kr,Ar,jr,Mr,Nr,Pr,Fr,Ir,z;return(0,Z.asyncExecutePromiseGeneratorProgram)(function(ne){if(ne.getNextAddressJsc()==1){if(N=t,ue=!!globalThis.window,de=!!globalThis.WorkerGlobalScope,fe=globalThis.process?.versions?.node&&globalThis.process?.type!=`renderer`,me=pe=!1,N.onRuntimeInitialized=function(){pe=!0,me&&typeof N.onModuleLoaded==`function`&&N.onModuleLoaded(N)},N.onModuleParsed=function(){me=!0,pe&&typeof N.onModuleLoaded==`function`&&N.onModuleLoaded(N)},N.isVersionSupported=M,typeof __filename<`u`?e=__filename:de&&(e=self.location.href),he=``,fe)ve=fh(),he=__dirname+`/`,_e=function(e){return e=Ce(e)?new URL(e):e,ve.readFileSync(e)},ge=function(e,t){t=t===void 0||t;var n;return(0,Z.asyncExecutePromiseGeneratorProgram)(function(r){return e=Ce(e)?new URL(e):e,n=ve.readFileSync(e,t?void 0:`utf8`),r.return(n)})},process.argv.length>1&&process.argv[1].replace(/\\/g,`/`),process.argv.slice(2);else if(ue||de){try{he=new URL(`.`,e).href}catch{}de&&(_e=function(e){var t=new XMLHttpRequest;return t.open(`GET`,e,!1),t.responseType=`arraybuffer`,t.send(null),new Uint8Array(t.response)}),ge=function(e){var t;return(0,Z.asyncExecutePromiseGeneratorProgram)(function(n){if(n.getNextAddressJsc()==1)return Ce(e)?n.return(new Promise(function(t,n){var r=new XMLHttpRequest;r.open(`GET`,e,!0),r.responseType=`arraybuffer`,r.onload=function(){r.status==200||r.status==0&&r.response?t(r.response):n(r.status)},r.onerror=n,r.send(null)})):n.yield(fetch(e,{credentials:`same-origin`}),2);if(t=n.getYieldResultJsc(),t.ok)return n.return(t.arrayBuffer());throw Error(t.status+` : `+t.url)})}}if(ye=console.log.bind(console),be=console.error.bind(console),Se=!1,Ce=function(e){return e.startsWith(`file://`)},we=function(){},Te=function(){return we.apply(this,arguments)||this},Z.inherits(Te,we),Ee=!1,Oe=function(e){for(;e.length>0;)e.shift()(N)},ke=[],Ae=[],Me=function(e){this.excPtr=e,this.ptr=e-24},Me.prototype.set_type=function(e){je[this.ptr+4>>2]=e},Me.prototype.get_type=function(){return je[this.ptr+4>>2]},Me.prototype.set_destructor=function(e){je[this.ptr+8>>2]=e},Me.prototype.get_destructor=function(){return je[this.ptr+8>>2]},Me.prototype.set_caught=function(e){De[this.ptr+12]=+!!e},Me.prototype.get_caught=function(){return De[this.ptr+12]!=0},Me.prototype.set_rethrown=function(e){De[this.ptr+13]=+!!e},Me.prototype.get_rethrown=function(){return De[this.ptr+13]!=0},Me.prototype.init=function(e,t){this.set_adjusted_ptr(0),this.set_type(e),this.set_destructor(t)},Me.prototype.set_adjusted_ptr=function(e){je[this.ptr+16>>2]=e},Me.prototype.get_adjusted_ptr=function(){return je[this.ptr+16>>2]},Ne=0,Pe=function(e){ae()},Fe=function(e,t,n){new Me(e).init(t,n),Ne++,Pe(e)},Ie=function(){return ae(``)},F=function(){return 2147483648},I=function(e,t){return Math.ceil(e/t)*t},L=function(e){var t=Pr.buffer.byteLength;try{return Pr.grow((e-t+65535)/65536|0),ce(),1}catch{}},Le=function(e){var t=R.length;e>>>=0;var n=F();if(e>n)return!1;for(var r=1;r<=4;r*=2){var i=t*(1+.2/r);if(i=Math.min(i,e+100663296),i=Math.min(n,I(Math.max(e,i),65536)),L(i))return!0}return!1},Re=function(e){return 52},ze=[null,[],[]],Be=globalThis.TextDecoder&&new TextDecoder,Ve=function(e,t,n,r){if(n=t+n,r)return n;for(;e[t]&&!(t>=n);)++t;return t},He=function(e,t,n,r){if(t=t===void 0?0:t,n=Ve(e,t,n,r),n-t>16&&e.buffer&&Be)return Be.decode(e.subarray(t,n));for(r=``;t<n;){var i=e[t++];if(i&128){var a=e[t++]&63;if((i&224)==192)r+=String.fromCharCode((i&31)<<6|a);else{var o=e[t++]&63;i=(i&240)==224?(i&15)<<12|a<<6|o:(i&7)<<18|a<<12|o<<6|e[t++]&63,i<65536?r+=String.fromCharCode(i):(i-=65536,r+=String.fromCharCode(55296|i>>10,56320|i&1023))}}else r+=String.fromCharCode(i)}return r},Ue=function(e,t){var n=ze[e];t&&t!==10?n.push(t):((e===1?ye:be)(He(n)),n.length=0)},We=function(e,t,n){return e?He(R,e,t,n):``},Ge=function(e,t,n,r){for(var i=0,a=0;a<n;a++){var o=je[t>>2],s=je[t+4>>2];t+=8;for(var c=0;c<s;c++)Ue(e,R[o+c]);i+=s}return je[r>>2]=i,0},Ke=function(e){for(var t=0,n=0;n<e.length;++n){var r=e.charCodeAt(n);r<=127?t++:r<=2047?t+=2:r>=55296&&r<=57343?(t+=4,++n):t+=3}return t},qe=function(e,t,n,r){if(!(r>0))return 0;var i=n;r=n+r-1;for(var a=0;a<e.length;++a){var o=e.codePointAt(a);if(o<=127){if(n>=r)break;t[n++]=o}else if(o<=2047){if(n+1>=r)break;t[n++]=192|o>>6,t[n++]=128|o&63}else if(o<=65535){if(n+2>=r)break;t[n++]=224|o>>12,t[n++]=128|o>>6&63,t[n++]=128|o&63}else{if(n+3>=r)break;t[n++]=240|o>>18,t[n++]=128|o>>12&63,t[n++]=128|o>>6&63,t[n++]=128|o&63,a++}}return t[n]=0,n-i},Je=function(e,t,n){return n=n>0?n:Ke(e)+1,n=Array(n),e=qe(e,n,0,n.length),t&&(n.length=e),n},Ye=[],Xe=function(e){return Ye.push(e)},N.print&&(ye=N.print),N.printErr&&(be=N.printErr),N.wasmBinary&&(xe=N.wasmBinary),Ze=N.preInit)for(typeof Ze==`function`&&(N.preInit=Ze=[Ze]);Ze.length>0;)Ze.shift()();return Fr={a:Fe,e:Ie,c:Le,d:Re,b:Ge},ne.yield(te(),2)}return ne.getNextAddressJsc()==3?(j.prototype=Object.create(j.prototype),j.prototype.constructor=j,j.prototype.__class__=j,j.__cache__={},N.WrapperObject=j,N.getCache=A,N.wrapPointer=k,N.castObject=O,N.NULL=k(0),N.destroy=D,N.compare=E,N.getPointer=T,N.getClass=w,z={buffer:0,size:0,pos:0,temps:[],needed:0,prepare:function(){if(z.needed){for(var e=0;e<z.temps.length;e++)N._webidl_free(z.temps[e]);z.temps.length=0,N._webidl_free(z.buffer),z.buffer=0,z.size+=z.needed,z.needed=0}z.buffer||(z.size+=128,z.buffer=N._webidl_malloc(z.size),z.buffer||ae(void 0)),z.pos=0},alloc:function(e,t){return z.buffer||ae(void 0),e=e.length*t.BYTES_PER_ELEMENT,e=I(e,8),z.pos+e>=z.size?(e>0||ae(void 0),z.needed+=e,t=N._webidl_malloc(e),z.temps.push(t)):(t=z.buffer+z.pos,z.pos+=e),t}},x.prototype=Object.create(j.prototype),x.prototype.constructor=x,x.prototype.__class__=x,x.__cache__={},N.VoidPtr=x,x.prototype.__destroy__=x.prototype.__destroy__=function(){Qe(this.ptr)},b.prototype=Object.create(j.prototype),b.prototype.constructor=b,b.prototype.__class__=b,b.__cache__={},N.DecoderBuffer=b,b.prototype.Init=b.prototype.Init=function(e,t){var n=this.ptr;z.prepare(),typeof e==`object`&&(e=S(e)),t&&typeof t==`object`&&(t=t.ptr),et(n,e,t)},b.prototype.__destroy__=b.prototype.__destroy__=function(){tt(this.ptr)},y.prototype=Object.create(j.prototype),y.prototype.constructor=y,y.prototype.__class__=y,y.__cache__={},N.AttributeTransformData=y,y.prototype.transform_type=y.prototype.transform_type=function(){return rt(this.ptr)},y.prototype.__destroy__=y.prototype.__destroy__=function(){it(this.ptr)},v.prototype=Object.create(j.prototype),v.prototype.constructor=v,v.prototype.__class__=v,v.__cache__={},N.GeometryAttribute=v,v.prototype.__destroy__=v.prototype.__destroy__=function(){ot(this.ptr)},_.prototype=Object.create(j.prototype),_.prototype.constructor=_,_.prototype.__class__=_,_.__cache__={},N.PointAttribute=_,_.prototype.size=_.prototype.size=function(){return ct(this.ptr)},_.prototype.GetAttributeTransformData=_.prototype.GetAttributeTransformData=function(){return k(lt(this.ptr),y)},_.prototype.attribute_type=_.prototype.attribute_type=function(){return ut(this.ptr)},_.prototype.data_type=_.prototype.data_type=function(){return dt(this.ptr)},_.prototype.num_components=_.prototype.num_components=function(){return ft(this.ptr)},_.prototype.normalized=_.prototype.normalized=function(){return!!pt(this.ptr)},_.prototype.byte_stride=_.prototype.byte_stride=function(){return mt(this.ptr)},_.prototype.byte_offset=_.prototype.byte_offset=function(){return ht(this.ptr)},_.prototype.unique_id=_.prototype.unique_id=function(){return gt(this.ptr)},_.prototype.__destroy__=_.prototype.__destroy__=function(){_t(this.ptr)},g.prototype=Object.create(j.prototype),g.prototype.constructor=g,g.prototype.__class__=g,g.__cache__={},N.AttributeQuantizationTransform=g,g.prototype.InitFromAttribute=g.prototype.InitFromAttribute=function(e){var t=this.ptr;return e&&typeof e==`object`&&(e=e.ptr),!!yt(t,e)},g.prototype.quantization_bits=g.prototype.quantization_bits=function(){return bt(this.ptr)},g.prototype.min_value=g.prototype.min_value=function(e){var t=this.ptr;return e&&typeof e==`object`&&(e=e.ptr),xt(t,e)},g.prototype.range=g.prototype.range=function(){return St(this.ptr)},g.prototype.__destroy__=g.prototype.__destroy__=function(){Ct(this.ptr)},h.prototype=Object.create(j.prototype),h.prototype.constructor=h,h.prototype.__class__=h,h.__cache__={},N.AttributeOctahedronTransform=h,h.prototype.InitFromAttribute=h.prototype.InitFromAttribute=function(e){var t=this.ptr;return e&&typeof e==`object`&&(e=e.ptr),!!Tt(t,e)},h.prototype.quantization_bits=h.prototype.quantization_bits=function(){return Et(this.ptr)},h.prototype.__destroy__=h.prototype.__destroy__=function(){Dt(this.ptr)},m.prototype=Object.create(j.prototype),m.prototype.constructor=m,m.prototype.__class__=m,m.__cache__={},N.PointCloud=m,m.prototype.num_attributes=m.prototype.num_attributes=function(){return kt(this.ptr)},m.prototype.num_points=m.prototype.num_points=function(){return At(this.ptr)},m.prototype.__destroy__=m.prototype.__destroy__=function(){jt(this.ptr)},p.prototype=Object.create(j.prototype),p.prototype.constructor=p,p.prototype.__class__=p,p.__cache__={},N.Mesh=p,p.prototype.num_faces=p.prototype.num_faces=function(){return Nt(this.ptr)},p.prototype.num_attributes=p.prototype.num_attributes=function(){return Pt(this.ptr)},p.prototype.num_points=p.prototype.num_points=function(){return Ft(this.ptr)},p.prototype.__destroy__=p.prototype.__destroy__=function(){It(this.ptr)},f.prototype=Object.create(j.prototype),f.prototype.constructor=f,f.prototype.__class__=f,f.__cache__={},N.Metadata=f,f.prototype.__destroy__=f.prototype.__destroy__=function(){Rt(this.ptr)},d.prototype=Object.create(j.prototype),d.prototype.constructor=d,d.prototype.__class__=d,d.__cache__={},N.Status=d,d.prototype.code=d.prototype.code=function(){return zt(this.ptr)},d.prototype.ok=d.prototype.ok=function(){return!!Bt(this.ptr)},d.prototype.error_msg=d.prototype.error_msg=function(){return We(Vt(this.ptr))},d.prototype.__destroy__=d.prototype.__destroy__=function(){Ht(this.ptr)},u.prototype=Object.create(j.prototype),u.prototype.constructor=u,u.prototype.__class__=u,u.__cache__={},N.DracoFloat32Array=u,u.prototype.GetValue=u.prototype.GetValue=function(e){var t=this.ptr;return e&&typeof e==`object`&&(e=e.ptr),Wt(t,e)},u.prototype.size=u.prototype.size=function(){return Gt(this.ptr)},u.prototype.__destroy__=u.prototype.__destroy__=function(){Kt(this.ptr)},l.prototype=Object.create(j.prototype),l.prototype.constructor=l,l.prototype.__class__=l,l.__cache__={},N.DracoInt8Array=l,l.prototype.GetValue=l.prototype.GetValue=function(e){var t=this.ptr;return e&&typeof e==`object`&&(e=e.ptr),Jt(t,e)},l.prototype.size=l.prototype.size=function(){return Yt(this.ptr)},l.prototype.__destroy__=l.prototype.__destroy__=function(){Xt(this.ptr)},c.prototype=Object.create(j.prototype),c.prototype.constructor=c,c.prototype.__class__=c,c.__cache__={},N.DracoUInt8Array=c,c.prototype.GetValue=c.prototype.GetValue=function(e){var t=this.ptr;return e&&typeof e==`object`&&(e=e.ptr),Qt(t,e)},c.prototype.size=c.prototype.size=function(){return $t(this.ptr)},c.prototype.__destroy__=c.prototype.__destroy__=function(){en(this.ptr)},s.prototype=Object.create(j.prototype),s.prototype.constructor=s,s.prototype.__class__=s,s.__cache__={},N.DracoInt16Array=s,s.prototype.GetValue=s.prototype.GetValue=function(e){var t=this.ptr;return e&&typeof e==`object`&&(e=e.ptr),nn(t,e)},s.prototype.size=s.prototype.size=function(){return rn(this.ptr)},s.prototype.__destroy__=s.prototype.__destroy__=function(){an(this.ptr)},o.prototype=Object.create(j.prototype),o.prototype.constructor=o,o.prototype.__class__=o,o.__cache__={},N.DracoUInt16Array=o,o.prototype.GetValue=o.prototype.GetValue=function(e){var t=this.ptr;return e&&typeof e==`object`&&(e=e.ptr),sn(t,e)},o.prototype.size=o.prototype.size=function(){return cn(this.ptr)},o.prototype.__destroy__=o.prototype.__destroy__=function(){ln(this.ptr)},a.prototype=Object.create(j.prototype),a.prototype.constructor=a,a.prototype.__class__=a,a.__cache__={},N.DracoInt32Array=a,a.prototype.GetValue=a.prototype.GetValue=function(e){var t=this.ptr;return e&&typeof e==`object`&&(e=e.ptr),dn(t,e)},a.prototype.size=a.prototype.size=function(){return fn(this.ptr)},a.prototype.__destroy__=a.prototype.__destroy__=function(){pn(this.ptr)},i.prototype=Object.create(j.prototype),i.prototype.constructor=i,i.prototype.__class__=i,i.__cache__={},N.DracoUInt32Array=i,i.prototype.GetValue=i.prototype.GetValue=function(e){var t=this.ptr;return e&&typeof e==`object`&&(e=e.ptr),hn(t,e)},i.prototype.size=i.prototype.size=function(){return gn(this.ptr)},i.prototype.__destroy__=i.prototype.__destroy__=function(){_n(this.ptr)},r.prototype=Object.create(j.prototype),r.prototype.constructor=r,r.prototype.__class__=r,r.__cache__={},N.MetadataQuerier=r,r.prototype.HasEntry=r.prototype.HasEntry=function(e,t){var n=this.ptr;return z.prepare(),e&&typeof e==`object`&&(e=e.ptr),t=t&&typeof t==`object`?t.ptr:C(t),!!yn(n,e,t)},r.prototype.GetIntEntry=r.prototype.GetIntEntry=function(e,t){var n=this.ptr;return z.prepare(),e&&typeof e==`object`&&(e=e.ptr),t=t&&typeof t==`object`?t.ptr:C(t),bn(n,e,t)},r.prototype.GetIntEntryArray=r.prototype.GetIntEntryArray=function(e,t,n){var r=this.ptr;z.prepare(),e&&typeof e==`object`&&(e=e.ptr),t=t&&typeof t==`object`?t.ptr:C(t),n&&typeof n==`object`&&(n=n.ptr),xn(r,e,t,n)},r.prototype.GetDoubleEntry=r.prototype.GetDoubleEntry=function(e,t){var n=this.ptr;return z.prepare(),e&&typeof e==`object`&&(e=e.ptr),t=t&&typeof t==`object`?t.ptr:C(t),Sn(n,e,t)},r.prototype.GetStringEntry=r.prototype.GetStringEntry=function(e,t){var n=this.ptr;return z.prepare(),e&&typeof e==`object`&&(e=e.ptr),t=t&&typeof t==`object`?t.ptr:C(t),We(Cn(n,e,t))},r.prototype.NumEntries=r.prototype.NumEntries=function(e){var t=this.ptr;return e&&typeof e==`object`&&(e=e.ptr),wn(t,e)},r.prototype.GetEntryName=r.prototype.GetEntryName=function(e,t){var n=this.ptr;return e&&typeof e==`object`&&(e=e.ptr),t&&typeof t==`object`&&(t=t.ptr),We(Tn(n,e,t))},r.prototype.__destroy__=r.prototype.__destroy__=function(){En(this.ptr)},n.prototype=Object.create(j.prototype),n.prototype.constructor=n,n.prototype.__class__=n,n.__cache__={},N.Decoder=n,n.prototype.DecodeArrayToPointCloud=n.prototype.DecodeArrayToPointCloud=function(e,t,n){var r=this.ptr;return z.prepare(),typeof e==`object`&&(e=S(e)),t&&typeof t==`object`&&(t=t.ptr),n&&typeof n==`object`&&(n=n.ptr),k(On(r,e,t,n),d)},n.prototype.DecodeArrayToMesh=n.prototype.DecodeArrayToMesh=function(e,t,n){var r=this.ptr;return z.prepare(),typeof e==`object`&&(e=S(e)),t&&typeof t==`object`&&(t=t.ptr),n&&typeof n==`object`&&(n=n.ptr),k(kn(r,e,t,n),d)},n.prototype.GetAttributeId=n.prototype.GetAttributeId=function(e,t){var n=this.ptr;return e&&typeof e==`object`&&(e=e.ptr),t&&typeof t==`object`&&(t=t.ptr),An(n,e,t)},n.prototype.GetAttributeIdByName=n.prototype.GetAttributeIdByName=function(e,t){var n=this.ptr;return z.prepare(),e&&typeof e==`object`&&(e=e.ptr),t=t&&typeof t==`object`?t.ptr:C(t),jn(n,e,t)},n.prototype.GetAttributeIdByMetadataEntry=n.prototype.GetAttributeIdByMetadataEntry=function(e,t,n){var r=this.ptr;return z.prepare(),e&&typeof e==`object`&&(e=e.ptr),t=t&&typeof t==`object`?t.ptr:C(t),n=n&&typeof n==`object`?n.ptr:C(n),Mn(r,e,t,n)},n.prototype.GetAttribute=n.prototype.GetAttribute=function(e,t){var n=this.ptr;return e&&typeof e==`object`&&(e=e.ptr),t&&typeof t==`object`&&(t=t.ptr),k(Nn(n,e,t),_)},n.prototype.GetAttributeByUniqueId=n.prototype.GetAttributeByUniqueId=function(e,t){var n=this.ptr;return e&&typeof e==`object`&&(e=e.ptr),t&&typeof t==`object`&&(t=t.ptr),k(Pn(n,e,t),_)},n.prototype.GetMetadata=n.prototype.GetMetadata=function(e){var t=this.ptr;return e&&typeof e==`object`&&(e=e.ptr),k(Fn(t,e),f)},n.prototype.GetAttributeMetadata=n.prototype.GetAttributeMetadata=function(e,t){var n=this.ptr;return e&&typeof e==`object`&&(e=e.ptr),t&&typeof t==`object`&&(t=t.ptr),k(In(n,e,t),f)},n.prototype.GetFaceFromMesh=n.prototype.GetFaceFromMesh=function(e,t,n){var r=this.ptr;return e&&typeof e==`object`&&(e=e.ptr),t&&typeof t==`object`&&(t=t.ptr),n&&typeof n==`object`&&(n=n.ptr),!!Ln(r,e,t,n)},n.prototype.GetTriangleStripsFromMesh=n.prototype.GetTriangleStripsFromMesh=function(e,t){var n=this.ptr;return e&&typeof e==`object`&&(e=e.ptr),t&&typeof t==`object`&&(t=t.ptr),Rn(n,e,t)},n.prototype.GetTrianglesUInt16Array=n.prototype.GetTrianglesUInt16Array=function(e,t,n){var r=this.ptr;return e&&typeof e==`object`&&(e=e.ptr),t&&typeof t==`object`&&(t=t.ptr),n&&typeof n==`object`&&(n=n.ptr),!!zn(r,e,t,n)},n.prototype.GetTrianglesUInt32Array=n.prototype.GetTrianglesUInt32Array=function(e,t,n){var r=this.ptr;return e&&typeof e==`object`&&(e=e.ptr),t&&typeof t==`object`&&(t=t.ptr),n&&typeof n==`object`&&(n=n.ptr),!!Bn(r,e,t,n)},n.prototype.GetAttributeFloat=n.prototype.GetAttributeFloat=function(e,t,n){var r=this.ptr;return e&&typeof e==`object`&&(e=e.ptr),t&&typeof t==`object`&&(t=t.ptr),n&&typeof n==`object`&&(n=n.ptr),!!Vn(r,e,t,n)},n.prototype.GetAttributeFloatForAllPoints=n.prototype.GetAttributeFloatForAllPoints=function(e,t,n){var r=this.ptr;return e&&typeof e==`object`&&(e=e.ptr),t&&typeof t==`object`&&(t=t.ptr),n&&typeof n==`object`&&(n=n.ptr),!!Hn(r,e,t,n)},n.prototype.GetAttributeIntForAllPoints=n.prototype.GetAttributeIntForAllPoints=function(e,t,n){var r=this.ptr;return e&&typeof e==`object`&&(e=e.ptr),t&&typeof t==`object`&&(t=t.ptr),n&&typeof n==`object`&&(n=n.ptr),!!Un(r,e,t,n)},n.prototype.GetAttributeInt8ForAllPoints=n.prototype.GetAttributeInt8ForAllPoints=function(e,t,n){var r=this.ptr;return e&&typeof e==`object`&&(e=e.ptr),t&&typeof t==`object`&&(t=t.ptr),n&&typeof n==`object`&&(n=n.ptr),!!Wn(r,e,t,n)},n.prototype.GetAttributeUInt8ForAllPoints=n.prototype.GetAttributeUInt8ForAllPoints=function(e,t,n){var r=this.ptr;return e&&typeof e==`object`&&(e=e.ptr),t&&typeof t==`object`&&(t=t.ptr),n&&typeof n==`object`&&(n=n.ptr),!!Gn(r,e,t,n)},n.prototype.GetAttributeInt16ForAllPoints=n.prototype.GetAttributeInt16ForAllPoints=function(e,t,n){var r=this.ptr;return e&&typeof e==`object`&&(e=e.ptr),t&&typeof t==`object`&&(t=t.ptr),n&&typeof n==`object`&&(n=n.ptr),!!Kn(r,e,t,n)},n.prototype.GetAttributeUInt16ForAllPoints=n.prototype.GetAttributeUInt16ForAllPoints=function(e,t,n){var r=this.ptr;return e&&typeof e==`object`&&(e=e.ptr),t&&typeof t==`object`&&(t=t.ptr),n&&typeof n==`object`&&(n=n.ptr),!!qn(r,e,t,n)},n.prototype.GetAttributeInt32ForAllPoints=n.prototype.GetAttributeInt32ForAllPoints=function(e,t,n){var r=this.ptr;return e&&typeof e==`object`&&(e=e.ptr),t&&typeof t==`object`&&(t=t.ptr),n&&typeof n==`object`&&(n=n.ptr),!!Jn(r,e,t,n)},n.prototype.GetAttributeUInt32ForAllPoints=n.prototype.GetAttributeUInt32ForAllPoints=function(e,t,n){var r=this.ptr;return e&&typeof e==`object`&&(e=e.ptr),t&&typeof t==`object`&&(t=t.ptr),n&&typeof n==`object`&&(n=n.ptr),!!Yn(r,e,t,n)},n.prototype.GetAttributeDataArrayForAllPoints=n.prototype.GetAttributeDataArrayForAllPoints=function(e,t,n,r,i){var a=this.ptr;return e&&typeof e==`object`&&(e=e.ptr),t&&typeof t==`object`&&(t=t.ptr),n&&typeof n==`object`&&(n=n.ptr),r&&typeof r==`object`&&(r=r.ptr),i&&typeof i==`object`&&(i=i.ptr),!!Xn(a,e,t,n,r,i)},n.prototype.SkipAttributeTransform=n.prototype.SkipAttributeTransform=function(e){var t=this.ptr;e&&typeof e==`object`&&(e=e.ptr),Zn(t,e)},n.prototype.GetEncodedGeometryType_Deprecated=n.prototype.GetEncodedGeometryType_Deprecated=function(e){var t=this.ptr;return e&&typeof e==`object`&&(e=e.ptr),Qn(t,e)},n.prototype.DecodeBufferToPointCloud=n.prototype.DecodeBufferToPointCloud=function(e,t){var n=this.ptr;return e&&typeof e==`object`&&(e=e.ptr),t&&typeof t==`object`&&(t=t.ptr),k($n(n,e,t),d)},n.prototype.DecodeBufferToMesh=n.prototype.DecodeBufferToMesh=function(e,t){var n=this.ptr;return e&&typeof e==`object`&&(e=e.ptr),t&&typeof t==`object`&&(t=t.ptr),k(er(n,e,t),d)},n.prototype.__destroy__=n.prototype.__destroy__=function(){tr(this.ptr)},(function(){function e(){N.ATTRIBUTE_INVALID_TRANSFORM=nr(),N.ATTRIBUTE_NO_TRANSFORM=rr(),N.ATTRIBUTE_QUANTIZATION_TRANSFORM=ir(),N.ATTRIBUTE_OCTAHEDRON_TRANSFORM=ar(),N.INVALID=or(),N.POSITION=sr(),N.NORMAL=cr(),N.COLOR=lr(),N.TEX_COORD=ur(),N.GENERIC=dr(),N.INVALID_GEOMETRY_TYPE=fr(),N.POINT_CLOUD=pr(),N.TRIANGULAR_MESH=mr(),N.DT_INVALID=hr(),N.DT_INT8=gr(),N.DT_UINT8=_r(),N.DT_INT16=vr(),N.DT_UINT16=yr(),N.DT_INT32=br(),N.DT_UINT32=xr(),N.DT_INT64=Sr(),N.DT_UINT64=Cr(),N.DT_FLOAT32=wr(),N.DT_FLOAT64=Tr(),N.DT_BOOL=Er(),N.DT_TYPES_COUNT=Dr(),N.OK=Or(),N.DRACO_ERROR=kr(),N.IO_ERROR=Ar(),N.INVALID_PARAMETER=jr(),N.UNSUPPORTED_VERSION=Mr(),N.UNKNOWN_VERSION=Nr()}Ee?e():Xe(e)})(),N.Decoder.prototype.GetEncodedGeometryType=function(e){if(e.__class__&&e.__class__===N.DecoderBuffer)return N.Decoder.prototype.GetEncodedGeometryType_Deprecated(e);if(e.byteLength<8)return N.INVALID_GEOMETRY_TYPE;switch(e[7]){case 0:return N.POINT_CLOUD;case 1:return N.TRIANGULAR_MESH;default:return N.INVALID_GEOMETRY_TYPE}},typeof N.onModuleParsed==`function`&&N.onModuleParsed(),ne.return(N)):(Ir=ne.getYieldResultJsc(),ne.yield(ee(),3))})}}(),_h=`AGFzbQEAAAABmQEXYAF/AX9gAn9/AX9gAX8AYAN/f38Bf2ACf38AYAR/f39/AX9gAAF/YAN/f38AYAZ/f39/f38Bf2AEf39/fwBgAABgBX9/f39/AGAGf39/.f39/AGADf35/AX5gAn9/AX1gAn9+AGAGf39/f39+AGAHf39/f39/fwBgBX9/f39/AX9gA39/fgF/YAF+AX5gA39/fwF8YAF/AX0CHwUBYQFhAAcBYQFiAAUB.YQFjAAABYQFkAAABYQFlAAoD/AP6AwIACgECAQIEBwoHAAADAwIKAQICAAcCAgcECQAEBQQDAgABAgoCAAADAwsCBgEEBwABAQIBAgMKAAcDCQMDAAQEAQQH.AQcAAAYCBAACBAsHBwAABgYCAgUFBQUEBQUPAQEHEAQEBwkJAQACAQADAgIAAAQEBwQABAMABgQDAAACAAACAQIABAkBAgEBBAIBAQEBBQMAAQMBAwQEAAMD.AQUFBQUFBQUAAgMJBwIRAQEBBAMAAQcBABIKBAcDAAMDBAcBAQMDAQYGBQEAAAEAAQAEAQMTAAsEAQEBAQAAAAQEBAIAAgEABwMAAwEBCQkDAwEBAgEBABQE.AQAJAAECAAECAAEAAQEBAQIAAwEDAwECAAEBAAwMCwsJCQMKAQ0NAwACBAAHAgAGBgYGAQYGBgYGBgYGAQIDAwEECAUFBQUFBQUFAAUDBQMBAwMFAwMFBQYC.AwEDFQkDAwYBAQEBDgIAAAIGAAYDBgYWDgYAAAAAAAAABgYCBgcGAAEAAAABAAABBQIAAgABAgAAAgMAAgABAgAABwIAAgICAgEAAAIAAAEBAAIAAAAAAQAA.AQIAAQABAwUEAwMICAIAAQgEAgAICAIAAQgCAAMBAwMDCAAIAgAIAgAIAQECAAgBAgAICAgCAAgCAAgBAQIACAECAAgIBAEAAQMDAQEKBAcBcAGKA4oDBQcB.AYICgIACBggBfwFB0IcFCwelBpUBAWYCAAFnAP4DAWgAGwFpAAUBagD+AgFrAFYBbACEAQFtAP0CAW4A/AIBbwCEAQFwAPsCAXEA1AEBcgD6AgFzAPkCAXQA.hAEBdQD4AgF2AIMBAXcA9wIBeAD2AgF5ACwBegD1AgFBAPQCAUIA8wIBQwDyAgFEAPECAUUAFwFGAPACAUcA0wEBSAArAUkA7wIBSgDuAgFLAFsBTADtAgFN.ANMBAU4AKwFPAFsBUADsAgFRANIBAVIAgwEBUwBbAVQA6gIBVQDpAgFWANIBAVcAgwEBWABbAVkA6AIBWgDnAgFfANQBASQA5gICYWEA5QICYmEA5AICY2EA.MQJkYQDjAgJlYQCCAQJmYQAwAmdhADECaGEA4gICaWEA0AECamEAMAJrYQAxAmxhAOECAm1hANABAm5hADACb2EAMQJwYQDgAgJxYQDPAQJyYQAwAnNhADEC.dGEA3wICdWEAzwECdmEAMAJ3YQAxAnhhAM4BAnlhAIIBAnphADACQWEAMQJCYQDOAQJDYQCCAQJEYQAwAkVhAN4CAkZhAN0CAkdhANwCAkhhANsCAklhANoC.AkphANkCAkthANgCAkxhANcCAk1hANYCAk5hANUCAk9hANQCAlBhANMCAlFhANICAlJhANECAlNhANACAlRhAM8CAlVhAM4CAlZhAM0CAldhAMwCAlhhAMsC.AllhAMoCAlphAMkCAl9hAMcCAiRhAMYCAmFiAMUCAmJiAM0BAmNiAMQCAmRiAMMCAmViAMICAmZiAMECAmdiAM0BAmhiAMACAmliAL8CAmpiAL4CAmtiAL0C.AmxiALwCAm1iALsCAm5iALoCAm9iAFkCcGIATQJxYgBYAnJiAH8Cc2IAWQJ0YgBNAnViAFgCdmIAfwJ3YgDMAQJ4YgDLAQJ5YgBZAnpiAE0CQWIAWAJCYgBN.AkNiAFgCRGIAfwJFYgDMAQJGYgDLAQJHYgC4AgJIYgC3AgJJYgC2AgJKYgC1AgJLYgC0AgJMYgCzAgJNYgCyAgJOYgCxAgJPYgBNAlBiAFkCUWIArwICUmIA.rgICU2IArQICVGIArAIJgwUBAEEBC4kDqwEgG1D9A7kDhwOtAZcCcpEDgQLtAyClA6MDEdsDwgO4A/MBsQPsAYECoAPIAlrrAtEBuQKwAqgCLBagAroBEaAB.lAKhApYClQKOAo0CnQGTApICkQK6AZACjwKGAoUCjAKLAoQCigKJAogChwKDAoICnQH8A/sDmwH6A/gD+QPTA1ERK0wmmgEWJhH3A/YD9QNaUVBM9APzA/ID.gAJM8QPwA+8D7gOZAXERFnDsA+sD6gPpA/4BcREWcP0B/AHoA+cD5gNL+gERFvkB+AHlAyAbSSxKURFM5ANRUEzjA+ID4QOAAkzgA98D3gPdA5kBcREWcNwD.2gPZA9gD/gFxERZw/QH8AdcD1gPVA0v6AREW+QH4AdQDIBtJLEhRJhHSA4MCggLRA88D0APNA1DOA8wDywNLK24RFm0RUPYBygMgG0ksSsgDxwNLbhEWbfYB.xgMgG0ksSCAbJhEmmgEWyQPFA8QDwwNLK24RFm0RmQH1AcEDIBtJLEq/A74DS24RFm31Ab0DIBtJLEgbJhEmmgEWwAO8A7MDsgO7A7cDugO2A7UDtAOvA1oR.EbADgQOAAxEmFhaqA6kDrQOuA6sDqAOnA6YDrAPiAZ8DlgGVAZQBkwGkAxErigHhAZ4DlgGVAZQBkwGiAxErigHgAZ0DlgGVAZQBkwGhAxErigHqAZwD6wGb.A5oDlwOWA5UDlAOYA5MDmQOSA5ADjgONA4wDiwOPA4oDiQOIA4YDhQOHAdwBhAMgG4MDggNaJhGHAf8C2QGHAdwB2QGrAqoCqQKnAlemAsUBxAGlAqQCowIm.ogIgG7ABsAGfApkCmwKeAhuaApwCnQIbmAJ0K3R0DAEbCprRD/oDggwBCH8CQCAARQ0AIABBCGsiAyAAQQRrKAIAIgJBeHEiAGohBQJAIAJBAXENACACQQJx.RQ0BIAMgAygCACIEayIDQeCDASgCAEkNASAAIARqIQACQAJAAkBB5IMBKAIAIANHBEAgAygCDCEBIARB/wFNBEAgASADKAIIIgJHDQJB0IMBQdCDASgCAEF+.IARBA3Z3cTYCAAwFCyADKAIYIQcgASADRwRAIAMoAggiAiABNgIMIAEgAjYCCAwECyADKAIUIgIEfyADQRRqBSADKAIQIgJFDQMgA0EQagshBANAIAQhBiAC.IgFBFGohBCABKAIUIgINACABQRBqIQQgASgCECICDQALIAZBADYCAAwDCyAFKAIEIgJBA3FBA0cNA0HYgwEgADYCACAFIAJBfnE2AgQgAyAAQQFyNgIEIAUg.ADYCAA8LIAIgATYCDCABIAI2AggMAgtBACEBCyAHRQ0AAkAgAygCHCIEQQJ0IgIoAoCGASADRgRAIAJBgIYBaiABNgIAIAENAUHUgwFB1IMBKAIAQX4gBHdx.NgIADAILAkAgAyAHKAIQRgRAIAcgATYCEAwBCyAHIAE2AhQLIAFFDQELIAEgBzYCGCADKAIQIgIEQCABIAI2AhAgAiABNgIYCyADKAIUIgJFDQAgASACNgIU.IAIgATYCGAsgAyAFTw0AIAUoAgQiBEEBcUUNAAJAAkACQAJAIARBAnFFBEBB6IMBKAIAIAVGBEBB6IMBIAM2AgBB3IMBQdyDASgCACAAaiIANgIAIAMgAEEB.cjYCBCADQeSDASgCAEcNBkHYgwFBADYCAEHkgwFBADYCAA8LQeSDASgCACIHIAVGBEBB5IMBIAM2AgBB2IMBQdiDASgCACAAaiIANgIAIAMgAEEBcjYCBCAA.IANqIAA2AgAPCyAEQXhxIABqIQAgBSgCDCEBIARB/wFNBEAgBSgCCCICIAFGBEBB0IMBQdCDASgCAEF+IARBA3Z3cTYCAAwFCyACIAE2AgwgASACNgIIDAQL.IAUoAhghCCABIAVHBEAgBSgCCCICIAE2AgwgASACNgIIDAMLIAUoAhQiAgR/IAVBFGoFIAUoAhAiAkUNAiAFQRBqCyEEA0AgBCEGIAIiAUEUaiEEIAEoAhQi.Ag0AIAFBEGohBCABKAIQIgINAAsgBkEANgIADAILIAUgBEF+cTYCBCADIABBAXI2AgQgACADaiAANgIADAMLQQAhAQsgCEUNAAJAIAUoAhwiBEECdCICKAKA.hgEgBUYEQCACQYCGAWogATYCACABDQFB1IMBQdSDASgCAEF+IAR3cTYCAAwCCwJAIAUgCCgCEEYEQCAIIAE2AhAMAQsgCCABNgIUCyABRQ0BCyABIAg2Ahgg.BSgCECICBEAgASACNgIQIAIgATYCGAsgBSgCFCICRQ0AIAEgAjYCFCACIAE2AhgLIAMgAEEBcjYCBCAAIANqIAA2AgAgAyAHRw0AQdiDASAANgIADwsgAEH/.AU0EQCAAQfgBcUH4gwFqIQICf0HQgwEoAgAiBEEBIABBA3Z0IgBxRQRAQdCDASAAIARyNgIAIAIMAQsgAigCCAshACACIAM2AgggACADNgIMIAMgAjYCDCAD.IAA2AggPC0EfIQEgAEH///8HTQRAIABBJiAAQQh2ZyICa3ZBAXEgAkEBdHJBPnMhAQsgAyABNgIcIANCADcCECABQQJ0QYCGAWohBAJ/AkACf0HUgwEoAgAi.BkEBIAF0IgJxRQRAQdSDASACIAZyNgIAIAQgAzYCAEEYIQFBCAwBCyAAQRkgAUEBdmtBACABQR9HG3QhASAEKAIAIQQDQCAEIgIoAgRBeHEgAEYNAiABQR12.IQQgAUEBdCEBIAIgBEEEcWoiBigCECIEDQALIAYgAzYCEEEYIQEgAiEEQQgLIQAgAyICDAELIAIoAggiBCADNgIMIAIgAzYCCEEYIQBBCCEBQQALIQYgASAD.aiAENgIAIAMgAjYCDCAAIANqIAY2AgBB8IMBQfCDASgCAEEBayIAQX8gABs2AgALCzwBAn9BASAAIABBAU0bIQEDQAJAIAEQViIADQBBwIcBKAIAIgJFDQAg.AhEKAAwBCwsgAEUEQBA8AAsgAAsJAEH/CBD3AQALjQMCBn8DfiMAQRBrIgQkAAJAIAEpAxAiCCABKQMIWQ0AIAAgASgCACAIp2otAAA6AAwgASABKQMQIghC.AXwiCTcDEAJAIAEvASZBgQRNBEAgASkDCCIKIAhCBXwiCFMEQAwDCyABKAIAIAmnaigAACECIAEgCDcDEAwBC0EBIARBDGogARD0AUUEQAwCCyABKQMQIQgg.ASkDCCEKIAQoAgwhAgsgAq0iCSAKIAh9VQ0AIAJBAEwNACAAIAEoAgAgCKdqIgU2AgACQAJ/AkACQAJAIAUgAkEBayIGaiIHLQAAQQZ2QQFrDgMAAQUCCyAC.QQFGDQQgACACQQJrIgI2AgQgAiAFai8AAEH//wBxDAILIAJBA0kNAyAAIAJBA2s2AgQgACACIAVqIgBBAmsvAABBCHRBgP7/AXEiAiAAQQNrLQAAckGAIGo2.AgggAkH/3z9NDQIMAwsgACAGNgIEIActAABBP3ELIQMgACADQYAgajYCCAsgASAIIAl8NwMQQQEhAwsgBEEQaiQAIAML8wEBCn8CQCAAKAIIIgIoAgQiCCAC.KAIAIgNrIgRBAnUiBUEBaiIBQYCAgIAESQRAQf////8DIAIoAgggA2siBkEBdSIHIAEgASAHSRsgBkH8////B08bIgFBgICAgARPDQEgACgCBCEHIAFBAnQi.CRAGIgogBGoiBiAHKAIANgIAIAYgBUECdGshBSADIAhHBEAgAyEBIAUhBANAIAQgASgCADYCACAEQQRqIQQgAUEEaiIBIAhHDQALCyACIAkgCmo2AgggAiAG.QQRqIgE2AgQgAiAFNgIAIAMEQCADEAULIAAoAgAgATYCAA8LEAcACxAOAAu/AQICfwN+IABBADYCECAAIAAoAgAiAjYCBCAAIAI2AgwCQCABKQMIIgYgASkD.ECIEQgR8IgVTDQAgASgCACAEp2ooAAAhAiABIAU3AxAgAkUNACACQQNxDQAgAq0iBCAGIAV9VQ0AIAAgAkECdhAMIAEpAwggASkDECIFIAR8Uw0AIAIEQCAA.KAIAIAEoAgAgBadqIAL8CgAACyABIAEpAxAgBHw3AxAgAEEANgIQIAAgACgCADYCDEEBIQMLIAMLlgQBCX8jAEEQayIBJAACQAJAAkACQAJAIAAoAhAiAkHV.Ak8EQCAAIAJB1QJrNgIQDAELAkAgACgCCCIEIAAoAgQiBmsiBSAAKAIMIgIgACgCACIDayIHSQRAIAIgBEYNASABQfwfEAY2AgAgACABEJ8BDAYLQQEgB0EB.dSACIANGGyICQYCAgIAETw0CIAEgAkECdCIIEAYiAzYCACABIAMgCGoiBzYCDCABIAMgBWoiAjYCBEH8HxAGIQkgBSAIRw0DIAQgBkcEQCABIAIgBUECdUEB.akF+bUECdGoiAjYCBAwECyABQQQQBiICNgIEIAEgAjYCACABIAJBBGoiBzYCDCADEAUgACgCBCEGIAAoAgghBCACIQUMBAsgAUH8HxAGNgIAIAAgARCeAQsg.ASAAKAIEIgIoAgA2AgAgACACQQRqNgIEIAAgARCfAQwDCxAOAAsgAyEFIAIhAwsgAyAJNgIAIAEgA0EEaiIINgIIIAQgBkcEQANAIAEgBEEEayIEEJ4BIAQg.ACgCBCIGRw0ACyAAKAIIIQQgASgCCCEIIAEoAgwhByABKAIAIQUgASgCBCECCyAAKAIAIQMgACAFNgIAIAEgAzYCACAAIAI2AgQgASAGNgIEIAAoAgwhAiAA.IAc2AgwgASACNgIMIAAgCDYCCCABIAQgBCAGa0F8cWs2AgggA0UNACADEAULIAFBEGokAAuRAgEGfwJAAkACQCAAKAIEIgIgACgCACIEayIGQQJ1IgMgAUkE.QCAAKAIIIARrIgVBAnUgAU8EQCABIANrQQJ0IgEEQCACQQAgAfwLAAsgACABIAJqNgIEDwsgAUGAgICABE8NAkH/////AyAFQQF1IgIgASABIAJJGyAFQfz/.//8HTxsiAkGAgICABE8NAyACQQJ0IgUQBiIHIAZqIQIgASADa0ECdCIBBEAgAkEAIAH8CwALIAIgA0ECdGshAyAGBEAgAyAEIAb8CgAACyAAIAUgB2o2Aggg.ACABIAJqNgIEIAAgAzYCACAERQ0BIAQQBQ8LIAEgA08NACAAIAQgAUECdGo2AgQLDwsQBwALEA4ACx8AIAAgAhC0ASEAIAJBAWoiAgRAIAAgASAC/AoAAAsL.HAEBf0EEEHUiAEH09QA2AgAgAEG09gBBDhAAAAunBAEJfyAAKAIIIgMgACgCACIEa0ECdSABTwRAAkAgACgCBCIGIARrQQJ1IgkgASABIAlLGyIIRQ0AIAIo.AgAhBSAEIQMgCCIHQQdxIgoEQANAIAMgBTYCACAHQQFrIQcgA0EEaiEDIAtBAWoiCyAKRw0ACwsgCEEISQ0AA0AgAyAFNgIcIAMgBTYCGCADIAU2AhQgAyAF.NgIQIAMgBTYCDCADIAU2AgggAyAFNgIEIAMgBTYCACADQSBqIQMgB0EIayIHDQALCyABIAlLBEAgBiABIAlrQQJ0aiEBIAIoAgAhAgNAIAYgAjYCACAGQQRq.IgYgAUcNAAsgACABNgIEDwsgACAEIAFBAnRqNgIEDwsgBARAIAAgBDYCBCAEEAUgAEEANgIIIABCADcCAEEAIQMLAkAgAUGAgICABE8NAEH/////AyADQQF1.IgQgASABIARJGyADQfz///8HTxsiA0GAgICABE8NACAAIANBAnQiAxAGIgQ2AgAgACADIARqNgIIIAIoAgAhAiAEIQMgAUECdCIBQQRrIgdBAnZBAWpBB3Ei.CARAA0AgAyACNgIAIANBBGohAyAGQQFqIgYgCEcNAAsLIAEgBGohASAHQRxPBEADQCADIAI2AhwgAyACNgIYIAMgAjYCFCADIAI2AhAgAyACNgIMIAMgAjYC.CCADIAI2AgQgAyACNgIAIANBIGoiAyABRw0ACwsgACABNgIEDwsQBwALeQEDfyAALQAMIQMCQCAAKAIIIgFB/x9LDQAgACgCBCICQQBMDQAgACACQQFrIgI2.AgQgACgCACACai0AACABQQh0ciEBCyAAQQAgA2tB/wFxIgAgAUEIdmwiAyABQf8BcSICaiABIAAgA2prIAAgAksiABs2AgggAAsEAEEBC2oCAn8BfgJAIABB.BUsNACACKQMQIgUgAikDCFkNACACKAIAIAWnaiwAACEDIAIgBUIBfDcDECABIANBAEgEfyAAQQFqIAEgAhASRQ0BIANB/wBxIAEoAgBBB3RyBSADCzYCAEEB.IQQLIAQLgQEBAn8CQAJAIAJBBE8EQCAAIAFyQQNxDQEDQCAAKAIAIAEoAgBHDQIgAUEEaiEBIABBBGohACACQQRrIgJBA0sNAAsLIAJFDQELA0AgAC0AACID.IAEtAAAiBEYEQCABQQFqIQEgAEEBaiEAIAJBAWsiAg0BDAILCyADIARrDwtBAAufAgEJfwJAIAAoAggiBSgCBCIIIAUoAgAiBmsiAkEMbUEBaiIDQdaq1aoB.SQRAIAAoAgQhAUHVqtWqASAFKAIIIAZrQQxtIgRBAXQiByADIAMgB0kbIARBqtWq1QBPGyIDQdaq1aoBTw0BIANBDGwiBxAGIgkgAmoiBCABKAIANgIAIAQg.ASgCBDYCBCAEIAEoAgg2AgggBCACQXRtQQxsaiEDIAYgCEcEQCAGIQEgAyECA0AgAiABKAIANgIAIAIgASgCBDYCBCACIAEoAgg2AgggAkEMaiECIAFBDGoi.ASAIRw0ACwsgBSAHIAlqNgIIIAUgBEEMaiIBNgIEIAUgAzYCACAGBEAgBhAFCyAAKAIAIAE2AgAPCxAHAAsQDgALIgEBf0EIEHVB/wgQsgEiAEHI9wA2AgAg.AEHU9wBBARAAAAsEAEEAC3oBAn8gAARAIAAoAlghASAAQQA2AlggAQRAIAEoAggiAgRAIAEgAjYCDCACEAULIAEQBQsgACgCRCIBBEAgACABNgJIIAEQBQsg.ACgCQCEBIABBADYCQCABBEAgASgCACICBEAgASACNgIEIAIQBQsgARAFCyAAEAULC9oBAQh/AkAgACgCCCIDKAIEIAMoAgAiBWsiBEEEdSIHQQFqIgFBgICA.gAFJBEBB/////wAgAygCCCAFayICQQN1IgYgASABIAZJGyACQfD///8HTxsiAUGAgICAAU8NASAAKAIEIQIgAUEEdCIGEAYiCCAEaiIBIAIpAgg3AgggASAC.KQIANwIAIAEgB0EEdGshAiAEBEAgAiAFIAT8CgAACyADIAYgCGo2AgggAyABQRBqIgQ2AgQgAyACNgIAIAUEQCAFEAULIAAoAgAgBDYCAA8LEAcACxAOAAts.AQN/AkAgACIBQQNxBEADQCABLQAARQ0CIAFBAWoiAUEDcQ0ACwsDQCABIgJBBGohAUGAgoQIIAIoAgAiA2sgA3JBgIGChHhxQYCBgoR4Rg0ACwNAIAIiAUEB.aiECIAEtAAANAAsLIAEgAGsL5wEBBH8jAEEgayIEJAAgAEEANgIEAkAgAQRAAkAgACgCCCIFQQV0IgYgAU8EQCAAIAE2AgQMAQsgAUEASA0CQf////8HIQMg.BkH+////A00EQCAFQQZ0IgMgAUEfakFgcSIFIAMgBUsbIgNBAEgNAwsgA0EBa0EFdkEBaiIDQQJ0EAYhBSAAIAM2AgggACABNgIEIAAoAgAhAyAAIAU2AgAg.A0UNACADEAULIAAoAgAhACAEQQA2AhwgBCAANgIYIAQgBCkCGDcDCCAEQRBqIARBCGogASACEP8BCyAEQSBqJAAPCxAHAAsGACAAEAUL0AEBCH8CQCAAKAII.IgIoAgQgAigCACIEayIDQQJ1IgVBAWoiAUGAgICABEkEQEH/////AyACKAIIIARrIgZBAXUiByABIAEgB0kbIAZB/P///wdPGyIBQYCAgIAETw0BIAAoAgQh.BiABQQJ0IgcQBiIIIANqIgEgBigCADYCACABIAVBAnRrIQUgAwRAIAUgBCAD/AoAAAsgAiAHIAhqNgIIIAIgAUEEaiIDNgIEIAIgBTYCACAEBEAgBBAFCyAA.KAIAIAM2AgAPCxAHAAsQDgALtgIBCH8CQAJAAkAgACgCBCIDIAAoAgAiBWsiCEECdSIGIAFJBEAgACgCCCAFayIHQQJ1IAFPBEAgAyABIAZrQQJ0aiEEIAIo.AgAhAQNAIAMgATYCACADQQRqIgMgBEcNAAsgACAENgIEDwsgAUGAgICABE8NAkH/////AyAHQQF1IgQgASABIARJGyAHQfz///8HTxsiCUGAgICABE8NAyAJ.QQJ0EAYiByAIaiIEIAEgBmtBAnRqIQogAigCACEBIAQhAwNAIAMgATYCACADQQRqIgMgCkcNAAsgBCAGQQJ0ayEBIAgEQCABIAUgCPwKAAALIAAgByAJQQJ0.ajYCCCAAIAo2AgQgACABNgIAIAVFDQEgBRAFDwsgASAGTw0AIAAgBSABQQJ0ajYCBAsPCxAHAAsQDgALjQEBBH8jAEEQayIDJAAgAQRAIAAgASgCABAeIAEo.AhwhAiABQQA2AhwgASgCBCEFIAIEQCACKAIQIQQgAyACQQxqNgIMIANBDGogBBAeIAIoAgQhBCADIAI2AgggA0EIaiAEECEgAhAFCyABLAAbQQBIBEAgASgC.EBAFCyABEAUgACAFEB4LIANBEGokAAuXDQQEfwF9AXwBfgJAIANFDQACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAAKAIcQQFrDgsAAQIDBAUGBwgJCg0L.AkAgAkH/AXEiBSAALQAYIgQgBCAFSxtFDQAgACgCACIEKAIEIgcgBCgCACAAKQMwIAApAyggATUCAH58p2oiBk0NDUEAIQEDQCADIAFBA3RqIAYwAAA3AwAg.AUEBaiIBIAUgAC0AGCIEIAQgBUsbTw0BIAZBAWoiBiAHSQ0ACwwNCyAEIAVJDQoMCwsCQCACQf8BcSIFIAAtABgiBCAEIAVLG0UNACAAKAIAIgQoAgQiByAE.KAIAIAApAzAgACkDKCABNQIAfnynaiIGTQ0MQQAhAQNAIAMgAUEDdGogBjEAADcDACABQQFqIgEgBSAALQAYIgQgBCAFSxtPDQEgBkEBaiIGIAdJDQALDAwL.IAQgBUkNCQwKCyACQf8BcSIFIAAtABgiBCAEIAVLGwRAIAAoAgAiBCgCACAAKQMwIAApAyggATUCAH58p2ohASAEKAIEIQcDQCABIAdPDQwgAyAGQQN0aiAB.MgEANwMAIAFBAmohASAGQQFqIgYgBSAALQAYIgQgBCAFSxtJDQALCyAEIAVJDQgMCQsgAkH/AXEiBSAALQAYIgQgBCAFSxsEQCAAKAIAIgQoAgAgACkDMCAA.KQMoIAE1AgB+fKdqIQEgBCgCBCEHA0AgASAHTw0LIAMgBkEDdGogATMBADcDACABQQJqIQEgBkEBaiIGIAUgAC0AGCIEIAQgBUsbSQ0ACwsgBCAFSQ0HDAgL.IAJB/wFxIgUgAC0AGCIEIAQgBUsbBEAgACgCACIEKAIAIAApAzAgACkDKCABNQIAfnynaiEBIAQoAgQhBwNAIAEgB08NCiADIAZBA3RqIAE0AgA3AwAgAUEE.aiEBIAZBAWoiBiAFIAAtABgiBCAEIAVLG0kNAAsLIAQgBUkNBgwHCyACQf8BcSIFIAAtABgiBCAEIAVLGwRAIAAoAgAiBCgCACAAKQMwIAApAyggATUCAH58.p2ohASAEKAIEIQcDQCABIAdPDQkgAyAGQQN0aiABNQIANwMAIAFBBGohASAGQQFqIgYgBSAALQAYIgQgBCAFSxtJDQALCyAEIAVJDQUMBgsgAkH/AXEiBSAA.LQAYIgQgBCAFSxsEQCAAKAIAIgQoAgAgACkDMCAAKQMoIAE1AgB+fKdqIQEgBCgCBCEHA0AgASAHTw0IIAMgBkEDdGogASkDADcDACABQQhqIQEgBkEBaiIG.IAUgAC0AGCIEIAQgBUsbSQ0ACwsgBCAFSQ0EDAULIAJB/wFxIgUgAC0AGCIEIAQgBUsbBEAgACgCACIEKAIAIAApAzAgACkDKCABNQIAfnynaiEBIAQoAgQh.BwNAIAEgB08NByABKQMAIgpCAFMNByADIAZBA3RqIAo3AwAgAUEIaiEBIAZBAWoiBiAFIAAtABgiBCAEIAVLG0kNAAsLIAQgBUkNAwwECwJAIAJB/wFxIgUg.AC0AGCIEIAQgBUsbRQ0AIAAtACBBAXENBSAAKAIAIgQoAgQiByAEKAIAIAApAzAgACkDKCABNQIAfnynaiIBTQ0FA0AgASoCACIIQwAAAF9gDQYgCEMAAADf.XQ0GIAi8QQF0Qf///3dLDQYgAyAGQQN0aiAI/AQ3AwAgBkEBaiIGIAUgAC0AGCIEIAQgBUsbTw0BIAFBBGoiASAHSQ0ACwwFCyAEIAVJDQIMAwsCQCACQf8B.cSIFIAAtABgiBCAEIAVLG0UNACAALQAgQQFxDQQgACgCACIEKAIEIgcgBCgCACAAKQMwIAApAyggATUCAH58p2oiAU0NBANAIAErAwAiCUQAAAAAAADgQ2YN.BSAJRAAAAAAAAODDYw0FIAm9QgGGQv////////9vVg0FIAMgBkEDdGogCfwGNwMAIAZBAWoiBiAFIAAtABgiBCAEIAVLG08NASABQQhqIgEgB0kNAAsMBAsg.BCAFSQ0BDAILAkAgAkH/AXEiBSAALQAYIgQgBCAFSxtFDQAgACgCACIEKAIEIgcgBCgCACAAKQMwIAApAyggATUCAH58p2oiBk0NA0EAIQEDQCADIAFBA3Rq.IAYxAAA3AwAgAUEBaiIBIAUgAC0AGCIEIAQgBUsbTw0BIAZBAWoiBiAHSQ0ACwwDCyAEIAVPDQELIAIgBGtB/wFxQQN0IgBFDQAgAyAEQQN0akEAIAD8CwAL.CwsEACAAC0kBAn8gAQRAA0AgACABKAIAECEgASgCBCABKAIcIgIEQCABIAI2AiAgAhAFCyABLAAbQQBIBEAgASgCEBAFCyABEAUiAQ0ACwsLjhMBBn8CQCAD.RQ0AAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgACgCHEEBaw4LAAECAwQFBgcICQoNCwJAIAJB/wFxIgciCCAALQAYIgUgBSAISxtFDQAgACgCACIEKAIA.IAApAzAgACkDKCABNQIAfnynaiEBIAQoAgQhBiAALQAgQQFxBEAgASAGTw0OQQAhBANAIAMgBEECdGogASwAALJDAAD+QpU4AgAgBEEBaiIEIAcgAC0AGCIF.IAUgB0sbTw0CIAFBAWoiASAGSQ0ACwwOCyABIAZPDQ0gAkH/AXEhB0EAIQQDQCADIARBAnRqIAEsAACyOAIAIARBAWoiBCAHIAAtABgiBSAFIAdLG08NASAB.QQFqIgEgBkkNAAsMDQsgBSAISQ0KDAsLAkAgAkH/AXEiByIIIAAtABgiBSAFIAhLG0UNACAAKAIAIgQoAgAgACkDMCAAKQMoIAE1AgB+fKdqIQEgBCgCBCEG.IAAtACBBAXEEQCABIAZPDQ1BACEEA0AgAyAEQQJ0aiABLQAAs0MAAH9DlTgCACAEQQFqIgQgByAALQAYIgUgBSAHSxtPDQIgAUEBaiIBIAZJDQALDA0LIAEg.Bk8NDCACQf8BcSEHQQAhBANAIAMgBEECdGogAS0AALM4AgAgBEEBaiIEIAcgAC0AGCIFIAUgB0sbTw0BIAFBAWoiASAGSQ0ACwwMCyAFIAhJDQkMCgsCQCAC.Qf8BcSIHIgggAC0AGCIFIAUgCEsbRQ0AIAAoAgAiBCgCACAAKQMwIAApAyggATUCAH58p2ohASAEKAIEIQYgAC0AIEEBcQRAIAEgBk8NDEEAIQQDQCADIARB.AnRqIAEuAQCyQwD+/0aVOAIAIARBAWoiBCAHIAAtABgiBSAFIAdLG08NAiABQQJqIgEgBkkNAAsMDAsgASAGTw0LIAJB/wFxIQdBACEEA0AgAyAEQQJ0aiAB.LgEAsjgCACAEQQFqIgQgByAALQAYIgUgBSAHSxtPDQEgAUECaiIBIAZJDQALDAsLIAUgCEkNCAwJCwJAIAJB/wFxIgciCCAALQAYIgUgBSAISxtFDQAgACgC.ACIEKAIAIAApAzAgACkDKCABNQIAfnynaiEBIAQoAgQhBiAALQAgQQFxBEAgASAGTw0LQQAhBANAIAMgBEECdGogAS8BALNDAP9/R5U4AgAgBEEBaiIEIAcg.AC0AGCIFIAUgB0sbTw0CIAFBAmoiASAGSQ0ACwwLCyABIAZPDQogAkH/AXEhB0EAIQQDQCADIARBAnRqIAEvAQCzOAIAIARBAWoiBCAHIAAtABgiBSAFIAdL.G08NASABQQJqIgEgBkkNAAsMCgsgBSAISQ0HDAgLAkAgAkH/AXEiByIIIAAtABgiBSAFIAhLG0UNACAAKAIAIgQoAgAgACkDMCAAKQMoIAE1AgB+fKdqIQEg.BCgCBCEGIAAtACBBAXEEQCABIAZPDQpBACEEA0AgAyAEQQJ0aiABKAIAskMAAAAwlDgCACAEQQFqIgQgByAALQAYIgUgBSAHSxtPDQIgAUEEaiIBIAZJDQAL.DAoLIAEgBk8NCSACQf8BcSEHQQAhBANAIAMgBEECdGogASgCALI4AgAgBEEBaiIEIAcgAC0AGCIFIAUgB0sbTw0BIAFBBGoiASAGSQ0ACwwJCyAFIAhJDQYM.BwsCQCACQf8BcSIHIgggAC0AGCIFIAUgCEsbRQ0AIAAoAgAiBCgCACAAKQMwIAApAyggATUCAH58p2ohASAEKAIEIQYgAC0AIEEBcQRAIAEgBk8NCUEAIQQD.QCADIARBAnRqIAEoAgCzQwAAgC+UOAIAIARBAWoiBCAHIAAtABgiBSAFIAdLG08NAiABQQRqIgEgBkkNAAsMCQsgASAGTw0IIAJB/wFxIQdBACEEA0AgAyAE.QQJ0aiABKAIAszgCACAEQQFqIgQgByAALQAYIgUgBSAHSxtPDQEgAUEEaiIBIAZJDQALDAgLIAUgCEkNBQwGCwJAIAJB/wFxIgciCCAALQAYIgUgBSAISxtF.DQAgACgCACIEKAIAIAApAzAgACkDKCABNQIAfnynaiEBIAQoAgQhBiAALQAgQQFxBEAgASAGTw0IQQAhBANAIAMgBEECdGogASkDALRDAAAAIJQ4AgAgBEEB.aiIEIAcgAC0AGCIFIAUgB0sbTw0CIAFBCGoiASAGSQ0ACwwICyABIAZPDQcgAkH/AXEhB0EAIQQDQCADIARBAnRqIAEpAwC0OAIAIARBAWoiBCAHIAAtABgi.BSAFIAdLG08NASABQQhqIgEgBkkNAAsMBwsgBSAISQ0EDAULAkAgAkH/AXEiByIIIAAtABgiBSAFIAhLG0UNACAAKAIAIgQoAgAgACkDMCAAKQMoIAE1AgB+.fKdqIQEgBCgCBCEGIAAtACBBAXEEQCABIAZPDQdBACEEA0AgAyAEQQJ0aiABKQMAtUMAAIAflDgCACAEQQFqIgQgByAALQAYIgUgBSAHSxtPDQIgAUEIaiIB.IAZJDQALDAcLIAEgBk8NBiACQf8BcSEHQQAhBANAIAMgBEECdGogASkDALU4AgAgBEEBaiIEIAcgAC0AGCIFIAUgB0sbTw0BIAFBCGoiASAGSQ0ACwwGCyAF.IAhJDQMMBAsgAkH/AXEiBiAALQAYIgUgBSAGSxsEQCAAKAIAIgQoAgAgACkDMCAAKQMoIAE1AgB+fKdqIQEgBCgCBCEIQQAhBANAIAEgCE8NBiADIARBAnRq.IAEqAgA4AgAgAUEEaiEBIARBAWoiBCAGIAAtABgiBSAFIAZLG0kNAAsLIAUgBkkNAgwDCyACQf8BcSIGIAAtABgiBSAFIAZLGwRAIAAoAgAiBCgCACAAKQMw.IAApAyggATUCAH58p2ohASAEKAIEIQhBACEEA0AgASAITw0FIAMgBEECdGogASsDALY4AgAgAUEIaiEBIARBAWoiBCAGIAAtABgiBSAFIAZLG0kNAAsLIAUg.BkkNAQwCCwJAIAJB/wFxIggiBiAALQAYIgUgBSAGSxtFDQAgACgCACIEKAIEIgcgBCgCACAAKQMwIAApAyggATUCAH58p2oiBE0NA0EAIQEDQCADIAFBAnRq.IAQtAACzOAIAIAFBAWoiASAIIAAtABgiBSAFIAhLG08NASAEQQFqIgQgB0kNAAsMAwsgBSAGTw0BCyACIAVrQf8BcUECdCIARQ0AIAMgBUECdGpBACAA/AsA.C0EBIQkLIAkL9QEBBn8jAEEgayICJAAgAkEAOgAXAkAgACgCBCIEIAFNBEACfyAEIAEgACgCCEEFdE0NABogAUEASA0CIAFBAWtBBXZBAWoiBkECdBAGIQUg.ACgCACEDIARBAWtBA3ZB/P///wFxQQRqQQAgBBsiBwRAIAUgAyAH/AoAAAsgACAGNgIIIAAgBTYCACAEIANFDQAaIAMQBSAAKAIECyEDIAAoAgAhBSACIANB.H3E2AhwgAiAFIANBA3ZB/P///wFxajYCGCACIAIpAhg3AwAgAkEMaiACIAEgBGsgAkEXahD/AQsgACABNgIEIAJBIGokAA8LEAcAC2oCAn8BfgJAIABBBUsN.ACACKQMQIgUgAikDCFkNACACKAIAIAWnaiwAACEDIAIgBUIBfDcDECABIANBAEgEfyAAQQFqIAEgAhAkRQ0BIANB/wBxIAEoAgBBB3RyBSADCzYCAEEBIQQL.IAQLJwEBfyAAQQA2AhAgACAAKAIAIgE2AgwgAQRAIAAgATYCBCABEAULCwQAQQALywcBA38gACABNgIMIABBADYCCCAAQgA3AgAgAEEQaiIDQgA3AAUgA0IA.NwIAIANBEGoiAkIANwAFIAJCADcCACADQSBqIgJCADcABSACQgA3AgAgA0EwaiICQgA3AAUgAkIANwIAIANBQGsiAkIANwAFIAJCADcCACADQdAAaiICQgA3.AAUgAkIANwIAIANB4ABqIgJCADcABSACQgA3AgAgA0HwAGoiAkIANwAFIAJCADcCACADQYABaiICQgA3AAUgAkIANwIAIANBkAFqIgJCADcABSACQgA3AgAg.A0GgAWoiAkIANwAFIAJCADcCACADQbABaiICQgA3AAUgAkIANwIAIANBwAFqIgJCADcABSACQgA3AgAgA0HQAWoiAkIANwAFIAJCADcCACADQeABaiICQgA3.AAUgAkIANwIAIANB8AFqIgJCADcABSACQgA3AgAgA0GAAmoiAkIANwAFIAJCADcCACADQZACaiICQgA3AAUgAkIANwIAIANBoAJqIgJCADcABSACQgA3AgAg.A0GwAmoiAkIANwAFIAJCADcCACADQcACaiICQgA3AAUgAkIANwIAIANB0AJqIgJCADcABSACQgA3AgAgA0HgAmoiAkIANwAFIAJCADcCACADQfACaiICQgA3.AAUgAkIANwIAIANBgANqIgJCADcABSACQgA3AgAgA0GQA2oiAkIANwAFIAJCADcCACADQaADaiICQgA3AAUgAkIANwIAIANBsANqIgJCADcABSACQgA3AgAg.A0HAA2oiAkIANwAFIAJCADcCACADQdADaiICQgA3AAUgAkIANwIAIANB4ANqIgJCADcABSACQgA3AgAgA0HwA2oiA0IANwAFIANCADcCACAAQgA3AJUEIABC.ADcCkAQgAEEANgKwBCAAQgA3AqgEIABCADcCoAQgAEEANgLEBCAAQgA3ArwEIABCADcCtAQgAEEANgLYBCAAQgA3AtAEIABCADcCyAQgAEEANgLkBCAAQgA3.AtwEAkACQCABRQRAIABBADYC8AQgAEIANwLoBAwBCyABQYCAgIAETw0BIAAgAUECdCIBEAYiAzYC3AQgACABIANqIgI2AuQEIAFFIgRFBEAgA0EAIAH8CwAL.IABBADYC8AQgAEIANwLoBCAAIAI2AuAEIAAgARAGIgM2AugEIAAgASADaiICNgLwBCAERQRAIANBACAB/AsACyAAIAI2AuwECyAAQQA2ApQFIABCADcCjAUg.AEIANwKEBSAAQgA3AvwEIABCADcC9AQgAA8LEAcAC48BAQF/IAAoAowFIgEEQCAAIAE2ApAFIAEQBQsgACgCgAUiAQRAIAAgATYChAUgARAFCyAAKAL0BCIB.BEAgACABNgL4BCABEAULIAAoAugEIgEEQCAAIAE2AuwEIAEQBQsgACgC3AQiAQRAIAAgATYC4AQgARAFCyAAQcgEahAlIABBtARqECUgAEGgBGoQJQsJAEH0.CRD3AQALiwEBAX8gAARAIAAoAkwiAQRAIAAgATYCUCABEAULIAAoAkAiAQRAIAAgATYCRCABEAULIAAoAjAiAQRAIAAgATYCNCABEAULIAAoAhgiAQRAIAAg.ATYCHCABEAULIAAoAgwiAQRAIAAgATYCECABEAULIAAoAgAiAQRAIAAgATYCBCABEAULIAAQBQsLBwAgACgCBAsHACAAKAIcC3cCAX4CfwJAIABBCksNACAC.KQMQIgMgAikDCFkNACACKAIAIAOnaiwAACEFIAIgA0IBfDcDECAFrSEDIAECfiAFQQBIBEAgAEEBaiABIAIQLUUNAiADQv8AgyABKQMAQgeGhAwBCyADQv8B.gws3AwBBASEECyAEC2oCAn8BfgJAIABBBUsNACACKQMQIgUgAikDCFkNACACKAIAIAWnaiwAACEDIAIgBUIBfDcDECABIANBAEgEfyAAQQFqIAEgAhAuRQ0B.IANB/wBxIAEoAgBBB3RyBSADCzYCAEEBIQQLIAQLcgEBfyMAQYACayIFJAACQCACIANMDQAgBEGAwARxDQAgAiADayIDQYACIANBgAJJIgIbIgQEQCAFIAEg.BPwLAAsgAkUEQANAIAAgBUGAAhA+IANBgAJrIgNB/wFLDQALCyAAIAUgAxA+CyAFQYACaiQACyIBAX8gAARAIAAoAgAiAQRAIAAgATYCBCABEAULIAAQBQsL.GAEBf0EMEAYiAEEANgIIIABCADcCACAAC8wBAgJ/An4CQCAAKAJADQBBIBAGIgJCADcDECACQQA2AgggAkIANwMAIAJCADcDGCAAKAJAIQMgACACNgJAIANF.DQAgAygCACICBEAgAyACNgIEIAIQBQsgAxAFCyAAKAJAQQAgACgCHEEBayICQQpNBH8gAi0AkGoFQX8LIAAtABhsrCIEIAGtfhDYASIDBEAgACAAKAJAIgI2.AgAgACACKQMQNwMIIAIpAxghBSAAQgA3AzAgACAENwMoIAAgBTcDECAAIAE2AlALIAMLkQIBBn8CQAJAAkAgACgCBCICIAAoAgAiBGsiBkEDdSIDIAFJBEAg.ACgCCCAEayIFQQN1IAFPBEAgASADa0EDdCIBBEAgAkEAIAH8CwALIAAgASACajYCBA8LIAFBgICAgAJPDQJB/////wEgBUECdSICIAEgASACSRsgBUH4////.B08bIgJBgICAgAJPDQMgAkEDdCIFEAYiByAGaiECIAEgA2tBA3QiAQRAIAJBACAB/AsACyACIANBA3RrIQMgBgRAIAMgBCAG/AoAAAsgACAFIAdqNgIIIAAg.ASACajYCBCAAIAM2AgAgBEUNASAEEAUPCyABIANPDQAgACAEIAFBA3RqNgIECw8LEAcACxAOAAvXAgEHfwJAAkACQCAAKAIEIgQgACgCACIFayIGQQJ1Igcg.AUkEQCAAKAIIIAVrIgNBAnUgAU8EQCAEIAEgB2tBAnRqIQEgAigCACECA0AgBCACNgIAIARBBGoiBCABRw0ACyAAIAE2AgQPCyABQYCAgIAETw0CQf////8D.IANBAXUiCCABIAEgCEkbIANB/P///wdPGyIIQYCAgIAETw0DIAhBAnQQBiIJIAZqIgMgASAHa0ECdGohBiACKAIAIQIgAyEBA0AgASACNgIAIAFBBGoiASAG.Rw0ACyADIAdBAnRrIQMgBCAFRwRAIAUhASADIQIDQCACIAEoAgA2AgAgAkEEaiECIAFBBGoiASAERw0ACwsgACAJIAhBAnRqNgIIIAAgBjYCBCAAIAM2AgAg.BUUNASAFEAUPCyABIAdPDQAgACAFIAFBAnRqNgIECw8LEAcACxAOAAuvAQEFfwJAIAAoAggiAS0AVA0AIAAoAhAiAkUNACACLQBUQQFHDQAgASgCRCEDIAEo.AkghASACQQA6AFQgAkHEAGogASADa0ECdUHAEhA0IAAoAggiAi0AVA0AIAIoAkQiAyACKAJIRg0AIAAoAhAoAkQhBEEAIQEDQCAEIAFBAnQiBWogAyAFaigC.ADYCACABQQFqIgEgAigCSCACKAJEIgNrQQJ1SQ0ACwsgACgCEAutAwEBfwJAIAAgARAIRQ0AIABBEGogARAIRQ0AIABBIGogARAIRQ0AIABBMGogARAIRQ0A.IABBQGsgARAIRQ0AIABB0ABqIAEQCEUNACAAQeAAaiABEAhFDQAgAEHwAGogARAIRQ0AIABBgAFqIAEQCEUNACAAQZABaiABEAhFDQAgAEGgAWogARAIRQ0A.IABBsAFqIAEQCEUNACAAQcABaiABEAhFDQAgAEHQAWogARAIRQ0AIABB4AFqIAEQCEUNACAAQfABaiABEAhFDQAgAEGAAmogARAIRQ0AIABBkAJqIAEQCEUN.ACAAQaACaiABEAhFDQAgAEGwAmogARAIRQ0AIABBwAJqIAEQCEUNACAAQdACaiABEAhFDQAgAEHgAmogARAIRQ0AIABB8AJqIAEQCEUNACAAQYADaiABEAhF.DQAgAEGQA2ogARAIRQ0AIABBoANqIAEQCEUNACAAQbADaiABEAhFDQAgAEHAA2ogARAIRQ0AIABB0ANqIAEQCEUNACAAQeADaiABEAhFDQAgAEHwA2ogARAI.RQ0AIABBgARqIAEQCCECCyACC7wCAQN/IAAgATYCDCAAQQA2AgggAEIANwIAIABBEGoiAkIANwAFIAJCADcCACAAQQA2AjAgAEIANwIoIABCADcCICAAQQA2.AkQgAEIANwI8IABCADcCNCAAQQA2AlggAEIANwJQIABCADcCSCAAQQA2AmQgAEIANwJcAkACQCABRQRAIABBADYCcCAAQgA3AmgMAQsgAUGAgICABE8NASAA.IAFBAnQiARAGIgI2AlwgACABIAJqIgM2AmQgAUUiBEUEQCACQQAgAfwLAAsgAEEANgJwIABCADcCaCAAIAM2AmAgACABEAYiAjYCaCAAIAEgAmoiAzYCcCAE.RQRAIAJBACAB/AsACyAAIAM2AmwLIABBADYClAEgAEIANwKMASAAQgA3AoQBIABCADcCfCAAQgA3AnQgAA8LEAcAC4cBAQF/IAAoAowBIgEEQCAAIAE2ApAB.IAEQBQsgACgCgAEiAQRAIAAgATYChAEgARAFCyAAKAJ0IgEEQCAAIAE2AnggARAFCyAAKAJoIgEEQCAAIAE2AmwgARAFCyAAKAJcIgEEQCAAIAE2AmAgARAF.CyAAQcgAahAlIABBNGoQJSAAQSBqECULvwIBA38gACABNgIMIABBADYCCCAAQgA3AgAgAEEANgIgIABCADcCGCAAQgA3AhAgAEEANgI0IABCADcCLCAAQgA3.AiQgAEEANgJIIABCADcCQCAAQgA3AjggAEEANgJcIABCADcCVCAAQgA3AkwgAEEANgJoIABCADcCYAJAAkAgAUUEQCAAQQA2AnQgAEIANwJsDAELIAFBgICA.gARPDQEgACABQQJ0IgEQBiICNgJgIAAgASACaiIDNgJoIAFFIgRFBEAgAkEAIAH8CwALIABBADYCdCAAQgA3AmwgACADNgJkIAAgARAGIgI2AmwgACABIAJq.IgM2AnQgBEUEQCACQQAgAfwLAAsgACADNgJwCyAAQQA2ApgBIABCADcCkAEgAEIANwKIASAAQgA3AoABIABCADcCeCAADwsQBwALjgEBAX8gACgCkAEiAQRA.IAAgATYClAEgARAFCyAAKAKEASIBBEAgACABNgKIASABEAULIAAoAngiAQRAIAAgATYCfCABEAULIAAoAmwiAQRAIAAgATYCcCABEAULIAAoAmAiAQRAIAAg.ATYCZCABEAULIABBzABqECUgAEE4ahAlIABBJGoQJSAAQRBqECULdAEBfyACRQRAIAAoAgQgASgCBEYPCyAAIAFGBEBBAQ8LIAEoAgQiAi0AACEBAkAgACgC.BCIDLQAAIgBFDQAgACABRw0AA0AgAi0AASEBIAMtAAEiAEUNASACQQFqIQIgA0EBaiEDIAAgAUYNAAsLIAAgAUYLBgAQvQEAC1cCAX8BfgJAQbT6ACgCACIB.rSAArUIHfEL4////H4N8IgJC/////w9YBEAgAqciAD8AQRB0TQ0BIAAQAg0BC0GA+wBBMDYCAEF/DwtBtPoAIAA2AgAgAQsYACAALQAAQSBxRQRAIAEgAiAA.EMABGgsLagICfwF+AkAgAEEFSw0AIAIpAxAiBSACKQMIWQ0AIAIoAgAgBadqLAAAIQMgAiAFQgF8NwMQIAEgA0EASAR/IABBAWogASACED9FDQEgA0H/AHEg.ASgCAEEHdHIFIAMLNgIAQQEhBAsgBAvuAgEDfyAAKAIIIgUgACgCACIEa0ECdSADTwRAIAMgACgCBCIFIARrIgZBAnVLBEAgBCAFRwRAIAEgBmohAwNAIAQg.ASgCADYCACAEQQRqIQQgAUEEaiIBIANHDQALIAMhAQsgASACRwRAA0AgBSABKAIANgIAIAVBBGohBSABQQRqIgEgAkcNAAsLIAAgBTYCBA8LIAEgAkcEQANA.IAQgASgCADYCACAEQQRqIQQgAUEEaiIBIAJHDQALCyAAIAQ2AgQPCyAEBEAgACAENgIEIAQQBSAAQQA2AgggAEIANwIAQQAhBQsCQCADQYCAgIAETw0AQf//.//8DIAVBAXUiBCADIAMgBEkbIAVB/P///wdPGyIDQYCAgIAETw0AIAAgA0ECdCIEEAYiAzYCACAAIAMgBGo2AgggACABIAJHBH8gAiABa0EEa0F8cUEEaiIA.BEAgAyABIAD8CgAACyAAIANqBSADCzYCBA8LEAcAC5IBAQF+AkAgAUUNAAJAIAAvASZBgQRNBEAgACkDCCAAKQMQIgNCCHxZDQFBAA8LQQEgAiAAENcBDQFB.AA8LIAIgACgCACADp2opAAA3AwAgACAAKQMQQgh8NwMQCyAAQQE6ACQgAEEANgIgIAAgACgCACAAKQMQIgOnaiIBNgIYIAAgASAAKQMIIAN9p2o2AhxBAQtq.AgJ/AX4CQCAAQQVLDQAgAikDECIFIAIpAwhZDQAgAigCACAFp2osAAAhAyACIAVCAXw3AxAgASADQQBIBH8gAEEBaiABIAIQQkUNASADQf8AcSABKAIAQQd0.cgUgAws2AgBBASEECyAEC0AAIABCADcDCCAAQQA2AgAgAEIANwMQIABCADcDKCAAQQk2AhwgAEEBOgAYIABCADcDMCAAQv////8PNwM4IAALlwIBBX8CQAJA.IAAoAgQiAyAAKAIIIgRBBXRHDQBB/////wchAiADQf////8HTw0BIANB/v///wNNBEAgBEEGdCICIANB4P///wNxQSBqIgQgAiAESxsiAiADTQ0BIAJBAEgN.AgsgAkEBa0EFdkEBaiIFQQJ0EAYhBCAAKAIAIQIgA0EBa0EDdkH8////AXFBBGpBACADGyIGBEAgBCACIAb8CgAACyAAIAU2AgggACAENgIAIAJFDQAgAhAF.IAAoAgQhAwsgACADQQFqNgIEQQEgA3QhAiAAKAIAIANBA3ZB/P///wFxaiEAIAEtAABBAUYEQCAAIAAoAgAgAnI2AgAPCyAAIAAoAgAgAkF/c3E2AgAPCxAH.AAuiAQEFfyAAQQxqIAEQDAJAAkAgASAAKAIIIAAoAgAiAmtBAnVNDQAgAUGAgICABE8NASAAKAIEIQMgAUECdCIBEAYiBCABaiEGIAIgA0cEQCACIQEgBCEF.A0AgBSABKAIANgIAIAVBBGohBSABQQRqIgEgA0cNAAsLIAAgBjYCCCAAIAQgAyACa2o2AgQgACAENgIAIAJFDQAgAhAFCw8LEAcAC6MLAgl/BH4jAEEwayIC.JAACQAJAIAAoAgQtACRBAU0EQCABKQMQIgtCBHwiDCABKQMIVQRAQX8hBAwDCyACIAEoAgAgC6dqKAAAIgc2AhggASAMNwMQDAELQQEgAkEYaiABEBJFBEBB.fyEEDAILIAIoAhghBwsCQCAHRQ0AQX8hBCAHIAAoAggiAygCBCADKAIAa0ECdUEDbksNASAAKAIELwEkIgNBCHQgA0EIdnJB//8DcUGCAk8EQCAAQSRqIQYD.QEEBIAJBCGoiAyABEBJFDQMgAiACKAIIIAVqIgU2AhBBASADIAEQEkUNAyAFIAIoAggiA0kNAyACIAUgA2s2AgwgAiAAKAIoIgM2AhwgACgCLCEJIAIgBjYC.KCACIAJBDGo2AiQgAiACQRxqNgIgIAACfyADIAlJBEAgAyACKAIUNgIIIAMgAikCDDcCACADQQxqDAELIAJBIGoQ6AEgAigCHAs2AiggCEEBaiIIIAdHDQAL.QQAhBiABQQBBABBBGgNAIAEtACQhBAJAAkAgACgCBC8BJCIFQQh0IAVBCHZyQf//A3FBgQRNBEAgBEEBcUUNAkEAIQUCQCABKAIYIgkgASgCICIDQQN2Ighq.IgQgASgCHCIKTwRAIAMhBAwBCyAELQAAIAEgA0EBaiIENgIgIARBA3YhCCADQQdxdiEFCyAIIAlqIApJDQEMAgsgBEEBcUUNAUEAIQUgASgCGCABKAIgIgRB.A3ZqIgMgASgCHE8NASADLQAAIARBB3F2IQULIAEgBEEBajYCIAsgACgCJCAGQQxsaiIEIAQtAAhB/gFxIAVBAXFyOgAIIAZBAWoiBiAHRw0ACyABQQA6ACQg.ASABKQMQIAE1AiBCB3xCA4h8NwMQDAELIABBJGohBgNAIAEpAwgiDSABKQMQIgtCBHwiDlMNAiACIAEoAgAiAyALp2ooAAA2AgwgASAONwMQIA0gC0IIfCIM.Uw0CIAIgAyAOp2ooAAA2AhAgASAMNwMQIAwgDVkNAiADIAynai0AACEDIAEgC0IJfDcDECACIAItABRB/gFxIANBAXFyOgAUIAIgACgCKCIDNgIcIAAoAiwh.CCACIAY2AiggAiACQQxqNgIkIAIgAkEcajYCICAAAn8gAyAISQRAIAMgAigCFDYCCCADIAIpAgw3AgAgA0EMagwBCyACQSBqEOgBIAIoAhwLNgIoIAVBAWoi.BSAHRw0ACwsgAkEANgIcAkACQCAAKAIEIgQtACQiA0EBTQRAIAEpAxAiC0IEfCIMIAEpAwhVBEBBfyEEDAQLIAEoAgAgC6dqKAAAIQUgASAMNwMQDAELIAQt.ACUgA0EIdHJBgARLDQFBASACQRxqIAEQEkUEQEF/IQQMAwsgAigCHCEFCyAFRQ0AIAAoAgQvASQiBEEIdCAEQQh2ckH//wNxQYICTwRAIABBMGohB0EAIQRB.ACEGA0ACQCACQQA2AghBASACQQRqIAEQEkUNACACIAIoAgQgBmoiBjYCCCACIAAoAjQiAzYCDCAAKAI4IQggAiAHNgIoIAIgAkEIajYCJCACIAJBDGo2AiAg.AAJ/IAMgCEkEQCADIAY2AgAgA0EEagwBCyACQSBqEBwgAigCDAs2AjQgBEEBaiIEIAVHDQEMAwsLQX8hBAwCCyAAQTBqIQNBACEGA0ACQCACQQA2AgggASkD.ECILQgR8IgwgASkDCFUNACACIAEoAgAgC6dqKAAAIgc2AgggASAMNwMQIAIgACgCNCIENgIMIAAoAjghCCACIAM2AiggAiACQQhqNgIkIAIgAkEMajYCICAA.An8gBCAISQRAIAQgBzYCACAEQQRqDAELIAJBIGoQHCACKAIMCzYCNCAGQQFqIgYgBUcNAQwCCwtBfyEEDAELIAEoAhAhBAsgAkEwaiQAIAQLdAEDfwJAAkAg.ASAAKAIIIAAoAgAiAmtBAnVNDQAgAUGAgICABE8NASAAKAIEIAFBAnQiBBAGIQEgAmsiAwRAIAEgAiAD/AoAAAsgACABIARqNgIIIAAgASADajYCBCAAIAE2.AgAgAkUNACACEAULDwsQBwAL6gcCBH8IfiMAQeAAayIDJAAgACgCECEFIAEoAgAhBCADQQE6AFggAyAENgJUIAMgBDYCUCADIAU2AkwCQCAEQX9GDQAgBSgC.ACAEQQJ0aigCACIFIAAoAhQiBigCBCAGKAIAIgZrQQJ1Tw0AIAAoAgggBiAFQQJ0aigCAEECdGooAgAhBiAAKAIEIgUtAFRFBEAgBSgCRCAGQQJ0aigCACEG.CyADQgA3A0AgA0IANwM4IANCADcDMCADIAY2AhggBSADQRhqIAUsABggA0EwahAfA0ACfyAAKAIcRQRAIAEoAgAiBEF/Rg0DIARBAWoiBSAEQQJrIAVBA3Ab.IQUgBEEBayAEQQNwDQEaIARBAmoMAQsgBEEBaiIFIARBAmsgBUEDcBshBSAEQQFrIARBA3ANABogBEECagshBiAFQX9GDQEgACgCECgCACAFQQJ0aigCACIF.IAAoAhQiBCgCBCAEKAIAIgRrQQJ1Tw0BIAAoAgggBCAFQQJ0aigCAEECdGooAgAhBSAAKAIEIgQtAFRFBEAgBCgCRCAFQQJ0aigCACEFCyADQgA3AyggA0IA.NwMgIANCADcDGCADIAU2AgAgBCADIAQsABggA0EYahAfIAZBf0YNASAAKAIQKAIAIAZBAnRqKAIAIgUgACgCFCIEKAIEIAQoAgAiBGtBAnVPDQEgACgCCCAE.IAVBAnRqKAIAQQJ0aigCACEFIAAoAgQiBC0AVEUEQCAEKAJEIAVBAnRqKAIAIQULIANCADcDECADQgA3AwggA0IANwMAIAMgBTYCXCAEIANB3ABqIAQsABgg.AxAfIAkgAykDACADKQMwIgl9IgcgAykDICADKQM4Igh9Igp+fSADKQMIIAh9IgggAykDGCAJfSINfnwhCSALIAcgAykDKCADKQNAIgt9Ig5+fCADKQMQIAt9.IgcgDX59IQsgDCAIIA5+fSAHIAp+fCEMIANBzABqEG8gAygCVCIEQX9HDQALIAwgDEI/hyIHhSAHfSEHQv///////////wAhCCALIAtCP4ciCoUgCn0iCkL/.//////////8AhSENAkACQCAAKAIcRQRAIAcgDVYNAkJ/IAcgCnwiByAJIAlCP4ciCIUgCH0iCHzEIAcgCEL///////////8AhVYbIghCgICAgAJVDQEMAgsg.ByANVg0AIAcgCnwiByAJIAlCP4ciCoUgCn0iCkL///////////8AhVYNACAHIAp8IghCgYCAgAJUDQELIAkgCEIdiCIHfyEJIAsgB38hCyAMIAd/IQwLIAIg.CT4CCCACIAs+AgQgAiAMPgIAIANB4ABqJAAPCxAVAAsWACABQQFNBEAgACABNgIcCyABQQJJC6sLAgR/CX4jAEHgAGsiBCQAIAAoAhAhAyABKAIAIQUgBEEB.OgBYIAQgBTYCVCAEIAU2AlAgBCADNgJMAkAgAygCHCAFQQJ0aigCACIDIAAoAhQiBigCBCAGKAIAIgZrQQJ1Tw0AIAAoAgggBiADQQJ0aigCAEECdGooAgAh.AyAAKAIEIgYtAFRFBEAgBigCRCADQQJ0aigCACEDCyAEQgA3A0AgBEIANwM4IARCADcDMCAEIAM2AhggBiAEQRhqIAYsABggBEEwahAfIAVBf0cEQANAAn8g.ACgCHEUEQEF/IQNBfyABKAIAIgVBf0YNARogBUEBaiIDIAVBAmsgA0EDcBshAyAFQQFrIAVBA3ANARogBUECagwBCyAFQQFqIgMgBUECayADQQNwGyEDIAVB.AWsgBUEDcA0AGiAFQQJqCyEGIAAoAhAoAhwgA0ECdGooAgAiAyAAKAIUIgUoAgQgBSgCACIFa0ECdU8NAiAAKAIIIAUgA0ECdGooAgBBAnRqKAIAIQMgACgC.BCIFLQBURQRAIAUoAkQgA0ECdGooAgAhAwsgBEIANwMoIARCADcDICAEQgA3AxggBCADNgIAIAUgBCAFLAAYIARBGGoQHyAAKAIQKAIcIAZBAnRqKAIAIgMg.ACgCFCIFKAIEIAUoAgAiBWtBAnVPDQIgACgCCCAFIANBAnRqKAIAQQJ0aigCACEDIAAoAgQiBS0AVEUEQCAFKAJEIANBAnRqKAIAIQMLIARCADcDECAEQgA3.AwggBEIANwMAIAQgAzYCXCAFIARB3ABqIAUsABggBBAfIAkgBCkDACAEKQMwIgl9IgcgBCkDICAEKQM4Igh9Igp+fSAEKQMIIAh9IgggBCkDGCAJfSINfnwh.CSALIAcgBCkDKCAEKQNAIg59Ig9+fCAEKQMQIA59IgcgDX59IQsgDCAIIA9+fSAHIAp+fCEMIAQoAlQhAyAEKAJMIQUCQCAELQBYQQFGBEACQAJAAkACQCAD.QX9GDQAgA0EBaiIGIANBAmsgBkEDcBsiA0F/Rg0AIAUoAgAgA0EDdkH8////AXFqKAIAIAN2QQFxDQAgBSgCQCgCDCADQQJ0aigCACIDQX9HDQELIARBfzYC.VAwBCyAEIANBAWoiBiADQQJrIAZBA3AbIgM2AlQgA0F/Rw0BCwJ/QX8gBCgCUCIDQX9GDQAaAkAgA0EDcARAIANBAWshAwwBC0F/IANBAmoiA0F/Rg0BGgtB.fyAFKAIAIANBA3ZB/P///wFxaigCACADdkEBcQ0AGkF/IAUoAkAoAgwgA0ECdGooAgAiA0F/Rg0AGiADQQFrIANBA3ANABogA0ECagshAyAEQQA6AFggBCAD.NgJUDAILIAMgBCgCUEcNASAEQX82AlQMAQsgBAJ/QX8gA0F/Rg0AGgJAIANBA3AEQCADQQFrIQMMAQtBfyADQQJqIgNBf0YNARoLQX8gBSgCACADQQN2Qfz/.//8BcWooAgAgA3ZBAXENABpBfyAFKAJAKAIMIANBAnRqKAIAIgNBf0YNABogA0EBayADQQNwDQAaIANBAmoLNgJUCyAEKAJUIgVBf0cNAAsLIAwgDEI/hyIH.hSAHfSEHQv///////////wAhCCALIAtCP4ciCoUgCn0iCkL///////////8AhSENAkACQCAAKAIcRQRAIAcgDVYNAkJ/IAcgCnwiByAJIAlCP4ciCIUgCH0i.CHzEIAcgCEL///////////8AhVYbIghCgICAgAJVDQEMAgsgByANVg0AIAcgCnwiByAJIAlCP4ciCoUgCn0iCkL///////////8AhVYNACAHIAp8IghCgYCA.gAJUDQELIAkgCEIdiCIHfyEJIAsgB38hCyAMIAd/IQwLIAIgCT4CCCACIAs+AgQgAiAMPgIAIARB4ABqJAAPCxAVAAsEAEEGCysBAX8CQCAAKAIsRQ0AIAAo.AjBFDQAgACgCNEUNACAAKAI4QQBHIQELIAELBABBAAuJAQEBfyAAKAJUIgEEQCAAIAE2AlggARAFCyAAKAJIIgEEQCAAIAE2AkwgARAFCyAAKAI0IgEEQCAA.IAE2AjggARAFCyAAKAIoIgEEQCAAIAE2AiwgARAFCyAAKAIcIgEEQCAAIAE2AiAgARAFCyAAKAIMIgEEQCABEAULIAAoAgAiAARAIAAQBQsLRgEBfyABBEAD.QCAAIAEoAgAQTyABKAIEIAEsACdBAEgEQCABKAIcEAULIAEsABtBAEgEQCABKAIQEAULIAEQBSIBDQALCwsEAEECCyUBAX8gAEHMGTYCACAAKAIgIgEEQCAA.IAE2AiQgARAFCyAAEAULygIBBn8CQAJAAkAgACgCBCICIAAoAgAiA2siBkECdSIEIAFJBEAgACgCCCADayIFQQJ1IAFPBEAgASAEa0ECdCIBBEAgAkEAIAH8.CwALIAAgASACajYCBA8LIAFBgICAgARPDQJB/////wMgBUEBdSICIAEgASACSRsgBUH8////B08bIgJBgICAgARPDQMgAkECdCIFEAYiByAGaiECIAEgBGtB.AnQiAQRAIAJBACAB/AsACyACIARBAnRrIQQgBgRAIAQgAyAG/AoAAAsgACAFIAdqNgIIIAAgASACajYCBCAAIAQ2AgAgA0UNASADEAUPCyABIARPDQAgAiAD.IAFBAnRqIgNHBEADQCACQQRrIgIoAgAhASACQQA2AgAgAQRAIAEgASgCACgCBBECAAsgAiADRw0ACwsgACADNgIECw8LEAcACxAOAAvpCAEHfwJAIARBAEwN.ACAAKAIIIgcgACgCBCIIayAETgRAIAggAWsiByAESARAAkAgAyACIAdqIgVGBEAgCCEGDAELIAghBgNAIAYgBS0AADoAACAGQQFqIQYgBUEBaiIFIANHDQAL.CyAAIAY2AgQgB0EATA0CIAYgASAEamshCQJAIAggBiAEayIDTQRAIAYhBQwBCwJAIAQgCGoiCiAGa0EHcSILRQRAIAYhBQwBC0EAIQQgBiEFA0AgBSADLQAA.OgAAIAVBAWohBSADQQFqIQMgBEEBaiIEIAtHDQALCyAGIAprQXhLDQADQCAFIAMtAAA6AAAgBSADLQABOgABIAUgAy0AAjoAAiAFIAMtAAM6AAMgBSADLQAE.OgAEIAUgAy0ABToABSAFIAMtAAY6AAYgBSADLQAHOgAHIAVBCGohBSADQQhqIgMgCEcNAAsLIAAgBTYCBCAJBEAgBiAJayABIAn8CgAACwJAIAdBB3EiAEUE.QCABIQUMAQtBACEDIAEhBQNAIAUgAi0AADoAACACQQFqIQIgBUEBaiEFIANBAWoiAyAARw0ACwsgASAIa0F4Sw0CIAEgB2ohAANAIAUgAi0AADoAACAFIAIt.AAE6AAEgBSACLQACOgACIAUgAi0AAzoAAyAFIAItAAQ6AAQgBSACLQAFOgAFIAUgAi0ABjoABiAFIAItAAc6AAcgAkEIaiECIAVBCGoiBSAARw0ACwwCCyAI.IAEgBGoiCWshBwJAIAgiBSAFIARrIgNNDQAgBEEHcSIKBEADQCAFIAMtAAA6AAAgBUEBaiEFIANBAWohAyAGQQFqIgYgCkcNAAsLIARBCEkNAANAIAUgAy0A.ADoAACAFIAMtAAE6AAEgBSADLQACOgACIAUgAy0AAzoAAyAFIAMtAAQ6AAQgBSADLQAFOgAFIAUgAy0ABjoABiAFIAMtAAc6AAcgBUEIaiEFIANBCGoiAyAI.Rw0ACwsgACAFNgIEIAcEQCAIIAdrIAEgB/wKAAALAkAgBEEHcSIARQRAIAEhBQwBC0EAIQMgASEFA0AgBSACLQAAOgAAIAJBAWohAiAFQQFqIQUgA0EBaiID.IABHDQALCyAEQQhJDQEDQCAFIAItAAA6AAAgBSACLQABOgABIAUgAi0AAjoAAiAFIAItAAM6AAMgBSACLQAEOgAEIAUgAi0ABToABSAFIAItAAY6AAYgBSAC.LQAHOgAHIAJBCGohAiAFQQhqIgUgCUcNAAsMAQsgCCAAKAIAIgNrIARqIgZBAE4EQCABIANrIQUgBUH/////ByAHIANrIgdBAXQiCSAGIAYgCUkbIAdB////./wNPGyIHBH8gBxAGBUEACyIGaiEJIAQEQCAJIAIgBPwKAAALIAQgCWohAiAIIAFrIgQEQCACIAEgBPwKAAALIAAgATYCBCAFBEAgBiADIAX8CgAACyAAIAYg.B2o2AgggACACIARqNgIEIAAgBjYCACADBEAgAxAFCw8LEAcACwtIACACQQtPBEAgAEEKIAJBCmsgAC0AC0H/AHEiACAAIAIgARCxAQ8LIAAgAjoACyACBEAg.ACABIAL8CgAACyAAIAJqQQA6AAALXwEBfyAAKAIIQf////8HcSIDIAJNBEAgACADQQFrIAIgA2tBAWogACgCBCIAIAAgAiABELEBDwsgACACNgIEIAAoAgAh.ACACBEAgACABIAL8CgAACyAAIAJqQQA6AAALzSgBC38jAEEQayIKJAACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAEH0AU0EQEHQgwEoAgAiBEEQIABBC2pB.+ANxIABBC0kbIgZBA3YiAHYiAUEDcQRAAkAgAUF/c0EBcSAAaiIDQQN0IgFB+IMBaiIAIAEoAoCEASICKAIIIgVGBEBB0IMBIARBfiADd3E2AgAMAQsgBSAA.NgIMIAAgBTYCCAsgAkEIaiEAIAIgAUEDcjYCBCABIAJqIgEgASgCBEEBcjYCBAwNCyAGQdiDASgCACIITQ0BIAEEQAJAQQIgAHQiAkEAIAJrciABIAB0cWgi.A0EDdCIBQfiDAWoiAiABKAKAhAEiACgCCCIFRgRAQdCDASAEQX4gA3dxIgQ2AgAMAQsgBSACNgIMIAIgBTYCCAsgACAGQQNyNgIEIAAgBmoiByABIAZrIgVB.AXI2AgQgACABaiAFNgIAIAgEQCAIQXhxQfiDAWohAUHkgwEoAgAhAgJ/IARBASAIQQN2dCIDcUUEQEHQgwEgAyAEcjYCACABDAELIAEoAggLIQMgASACNgII.IAMgAjYCDCACIAE2AgwgAiADNgIICyAAQQhqIQBB5IMBIAc2AgBB2IMBIAU2AgAMDQtB1IMBKAIAIgtFDQEgC2hBAnQoAoCGASIBKAIEQXhxIAZrIQMgASEC.A0ACQCABKAIQIgBFBEAgASgCFCIARQ0BCyAAKAIEQXhxIAZrIgEgAyABIANJIgEbIQMgACACIAEbIQIgACEBDAELCyACKAIYIQkgAiACKAIMIgBHBEAgAigC.CCIBIAA2AgwgACABNgIIDAwLIAIoAhQiAQR/IAJBFGoFIAIoAhAiAUUNAyACQRBqCyEFA0AgBSEHIAEiAEEUaiEFIAAoAhQiAQ0AIABBEGohBSAAKAIQIgEN.AAsgB0EANgIADAsLQX8hBiAAQb9/Sw0AIABBC2oiAUF4cSEGQdSDASgCACIHRQ0AQR8hCEEAIAZrIQMgAEH0//8HTQRAIAZBJiABQQh2ZyIAa3ZBAXEgAEEB.dGtBPmohCAsCQAJAAkAgCEECdCgCgIYBIgFFBEBBACEADAELQQAhACAGQRkgCEEBdmtBACAIQR9HG3QhAgNAAkAgASgCBEF4cSAGayIEIANPDQAgASEFIAQi.Aw0AQQAhAyABIQAMAwsgACABKAIUIgQgBCABIAJBHXZBBHFqKAIQIgFGGyAAIAQbIQAgAkEBdCECIAENAAsLIAAgBXJFBEBBACEFQQIgCHQiAEEAIABrciAH.cSIARQ0DIABoQQJ0KAKAhgEhAAsgAEUNAQsDQCAAKAIEQXhxIAZrIgIgA0khASACIAMgARshAyAAIAUgARshBSAAKAIQIgEEfyABBSAAKAIUCyIADQALCyAF.RQ0AIANB2IMBKAIAIAZrTw0AIAUoAhghCCAFIAUoAgwiAEcEQCAFKAIIIgEgADYCDCAAIAE2AggMCgsgBSgCFCIBBH8gBUEUagUgBSgCECIBRQ0DIAVBEGoL.IQIDQCACIQQgASIAQRRqIQIgACgCFCIBDQAgAEEQaiECIAAoAhAiAQ0ACyAEQQA2AgAMCQsgBkHYgwEoAgAiBU0EQEHkgwEoAgAhAAJAIAUgBmsiAUEQTwRA.IAAgBmoiAiABQQFyNgIEIAAgBWogATYCACAAIAZBA3I2AgQMAQsgACAFQQNyNgIEIAAgBWoiASABKAIEQQFyNgIEQQAhAUEAIQILQdiDASABNgIAQeSDASAC.NgIAIABBCGohAAwLCyAGQdyDASgCACICSQRAQdyDASACIAZrIgE2AgBB6IMBQeiDASgCACIAIAZqIgI2AgAgAiABQQFyNgIEIAAgBkEDcjYCBCAAQQhqIQAM.CwtBACEAIAZBL2oiAwJ/QaiHASgCAARAQbCHASgCAAwBC0G0hwFCfzcCAEGshwFCgKCAgICABDcCAEGohwEgCkEMakFwcUHYqtWqBXM2AgBBvIcBQQA2AgBB.jIcBQQA2AgBBgCALIgFqIgRBACABayIHcSIBIAZNDQpBiIcBKAIAIgUEQEGAhwEoAgAiCCABaiIJIAhNDQsgBSAJSQ0LC0GMhwEtAABBBHENBAJAAkBB6IMB.KAIAIgUEQEGQhwEhAANAIAAoAgAiCCAFTQRAIAUgCCAAKAIEakkNAwsgACgCCCIADQALC0EAED0iAkF/Rg0FIAEhBEGshwEoAgAiAEEBayIFIAJxBEAgASAC.ayACIAVqQQAgAGtxaiEECyAEIAZNDQVBiIcBKAIAIgAEQEGAhwEoAgAiBSAEaiIHIAVNDQYgACAHSQ0GCyAEED0iACACRw0BDAcLIAQgAmsgB3EiBBA9IgIg.ACgCACAAKAIEakYNAyACIQALAkAgAEF/Rg0AIAQgBkEwak8NAEGwhwEoAgAiAiADIARrakEAIAJrcSICED1Bf0YNBCACIARqIQQgACECDAYLIAAiAkF/Rw0F.DAMLQQAhAAwIC0EAIQAMBgsgAkF/Rw0CC0GMhwFBjIcBKAIAQQRyNgIACyABED0hAkEAED0hACACQX9GDQEgAEF/Rg0BIAAgAk0NASAAIAJrIgQgBkEoak0N.AQtBgIcBQYCHASgCACAEaiIANgIAQYSHASgCACAASQRAQYSHASAANgIACwJAAkACQEHogwEoAgAiAwRAQZCHASEAA0AgAiAAKAIAIgEgACgCBCIFakYNAiAA.KAIIIgANAAsMAgtB4IMBKAIAIgBBACAAIAJNG0UEQEHggwEgAjYCAAtBACEAQZSHASAENgIAQZCHASACNgIAQfCDAUF/NgIAQfSDAUGohwEoAgA2AgBBnIcB.QQA2AgADQCAAQQN0IgEgAUH4gwFqIgU2AoCEASABIAU2AoSEASAAQQFqIgBBIEcNAAtB3IMBIARBKGsiAEF4IAJrQQdxIgFrIgU2AgBB6IMBIAEgAmoiATYC.ACABIAVBAXI2AgQgACACakEoNgIEQeyDAUG4hwEoAgA2AgAMAgsgAiADTQ0AIAEgA0sNACAAKAIMQQhxDQAgACAEIAVqNgIEQeiDASADQXggA2tBB3EiAGoi.ATYCAEHcgwFB3IMBKAIAIARqIgIgAGsiADYCACABIABBAXI2AgQgAiADakEoNgIEQeyDAUG4hwEoAgA2AgAMAQtB4IMBKAIAIAJLBEBB4IMBIAI2AgALIAIg.BGohBUGQhwEhAAJAA0AgBSAAKAIAIgFHBEAgACgCCCIADQEMAgsLIAAtAAxBCHFFDQMLQZCHASEAA0ACQCAAKAIAIgEgA00EQCADIAEgACgCBGoiBUkNAQsg.ACgCCCEADAELC0HcgwEgBEEoayIAQXggAmtBB3EiAWsiBzYCAEHogwEgASACaiIBNgIAIAEgB0EBcjYCBCAAIAJqQSg2AgRB7IMBQbiHASgCADYCACADIAVB.JyAFa0EHcWpBL2siACAAIANBEGpJGyIBQRs2AgQgAUGYhwEpAgA3AhAgAUGQhwEpAgA3AghBmIcBIAFBCGo2AgBBlIcBIAQ2AgBBkIcBIAI2AgBBnIcBQQA2.AgAgAUEYaiEAA0AgAEEHNgIEIABBCGogAEEEaiEAIAVJDQALIAEgA0YNACABIAEoAgRBfnE2AgQgAyABIANrIgJBAXI2AgQgASACNgIAAn8gAkH/AU0EQCAC.QfgBcUH4gwFqIQACf0HQgwEoAgAiAUEBIAJBA3Z0IgJxRQRAQdCDASABIAJyNgIAIAAMAQsgACgCCAshASAAIAM2AgggASADNgIMQQwhAkEIDAELQR8hACAC.Qf///wdNBEAgAkEmIAJBCHZnIgBrdkEBcSAAQQF0ckE+cyEACyADIAA2AhwgA0IANwIQIABBAnRBgIYBaiEBAkACQEHUgwEoAgAiBUEBIAB0IgRxRQRAQdSD.ASAEIAVyNgIAIAEgAzYCAAwBCyACQRkgAEEBdmtBACAAQR9HG3QhACABKAIAIQUDQCAFIgEoAgRBeHEgAkYNAiAAQR12IQUgAEEBdCEAIAEgBUEEcWoiBCgC.ECIFDQALIAQgAzYCEAsgAyABNgIYQQghAiADIgEhAEEMDAELIAEoAggiACADNgIMIAEgAzYCCCADIAA2AghBACEAQRghAkEMCyADaiABNgIAIAIgA2ogADYC.AAtB3IMBKAIAIgAgBk0NAEHcgwEgACAGayIBNgIAQeiDAUHogwEoAgAiACAGaiICNgIAIAIgAUEBcjYCBCAAIAZBA3I2AgQgAEEIaiEADAQLQYD7AEEwNgIA.QQAhAAwDCyAAIAI2AgAgACAAKAIEIARqNgIEIAJBeCACa0EHcWoiCCAGQQNyNgIEIAFBeCABa0EHcWoiBCAGIAhqIgNrIQcCQEHogwEoAgAgBEYEQEHogwEg.AzYCAEHcgwFB3IMBKAIAIAdqIgA2AgAgAyAAQQFyNgIEDAELQeSDASgCACAERgRAQeSDASADNgIAQdiDAUHYgwEoAgAgB2oiADYCACADIABBAXI2AgQgACAD.aiAANgIADAELIAQoAgQiAEEDcUEBRgRAIABBeHEhCSAEKAIMIQICQCAAQf8BTQRAIAQoAggiASACRgRAQdCDAUHQgwEoAgBBfiAAQQN2d3E2AgAMAgsgASAC.NgIMIAIgATYCCAwBCyAEKAIYIQYCQCACIARHBEAgBCgCCCIAIAI2AgwgAiAANgIIDAELAkAgBCgCFCIABH8gBEEUagUgBCgCECIARQ0BIARBEGoLIQEDQCAB.IQUgACICQRRqIQEgACgCFCIADQAgAkEQaiEBIAIoAhAiAA0ACyAFQQA2AgAMAQtBACECCyAGRQ0AAkAgBCgCHCIAQQJ0IgEoAoCGASAERgRAIAFBgIYBaiAC.NgIAIAINAUHUgwFB1IMBKAIAQX4gAHdxNgIADAILAkAgBCAGKAIQRgRAIAYgAjYCEAwBCyAGIAI2AhQLIAJFDQELIAIgBjYCGCAEKAIQIgAEQCACIAA2AhAg.ACACNgIYCyAEKAIUIgBFDQAgAiAANgIUIAAgAjYCGAsgByAJaiEHIAQgCWoiBCgCBCEACyAEIABBfnE2AgQgAyAHQQFyNgIEIAMgB2ogBzYCACAHQf8BTQRA.IAdB+AFxQfiDAWohAAJ/QdCDASgCACIBQQEgB0EDdnQiAnFFBEBB0IMBIAEgAnI2AgAgAAwBCyAAKAIICyEBIAAgAzYCCCABIAM2AgwgAyAANgIMIAMgATYC.CAwBC0EfIQIgB0H///8HTQRAIAdBJiAHQQh2ZyIAa3ZBAXEgAEEBdHJBPnMhAgsgAyACNgIcIANCADcCECACQQJ0QYCGAWohAAJAAkBB1IMBKAIAIgFBASAC.dCIFcUUEQEHUgwEgASAFcjYCACAAIAM2AgAMAQsgB0EZIAJBAXZrQQAgAkEfRxt0IQIgACgCACEBA0AgASIAKAIEQXhxIAdGDQIgAkEddiEBIAJBAXQhAiAA.IAFBBHFqIgUoAhAiAQ0ACyAFIAM2AhALIAMgADYCGCADIAM2AgwgAyADNgIIDAELIAAoAggiASADNgIMIAAgAzYCCCADQQA2AhggAyAANgIMIAMgATYCCAsg.CEEIaiEADAILAkAgCEUNAAJAIAUoAhwiAUECdCICKAKAhgEgBUYEQCACQYCGAWogADYCACAADQFB1IMBIAdBfiABd3EiBzYCAAwCCwJAIAUgCCgCEEYEQCAI.IAA2AhAMAQsgCCAANgIUCyAARQ0BCyAAIAg2AhggBSgCECIBBEAgACABNgIQIAEgADYCGAsgBSgCFCIBRQ0AIAAgATYCFCABIAA2AhgLAkAgA0EPTQRAIAUg.AyAGaiIAQQNyNgIEIAAgBWoiACAAKAIEQQFyNgIEDAELIAUgBkEDcjYCBCAFIAZqIgQgA0EBcjYCBCADIARqIAM2AgAgA0H/AU0EQCADQfgBcUH4gwFqIQAC.f0HQgwEoAgAiAUEBIANBA3Z0IgJxRQRAQdCDASABIAJyNgIAIAAMAQsgACgCCAshASAAIAQ2AgggASAENgIMIAQgADYCDCAEIAE2AggMAQtBHyEAIANB////.B00EQCADQSYgA0EIdmciAGt2QQFxIABBAXRyQT5zIQALIAQgADYCHCAEQgA3AhAgAEECdEGAhgFqIQECQAJAIAdBASAAdCICcUUEQEHUgwEgAiAHcjYCACAB.IAQ2AgAgBCABNgIYDAELIANBGSAAQQF2a0EAIABBH0cbdCEAIAEoAgAhAQNAIAEiAigCBEF4cSADRg0CIABBHXYhASAAQQF0IQAgAiABQQRxaiIHKAIQIgEN.AAsgByAENgIQIAQgAjYCGAsgBCAENgIMIAQgBDYCCAwBCyACKAIIIgAgBDYCDCACIAQ2AgggBEEANgIYIAQgAjYCDCAEIAA2AggLIAVBCGohAAwBCwJAIAlF.DQACQCACKAIcIgFBAnQiBSgCgIYBIAJGBEAgBUGAhgFqIAA2AgAgAA0BQdSDASALQX4gAXdxNgIADAILAkAgAiAJKAIQRgRAIAkgADYCEAwBCyAJIAA2AhQL.IABFDQELIAAgCTYCGCACKAIQIgEEQCAAIAE2AhAgASAANgIYCyACKAIUIgFFDQAgACABNgIUIAEgADYCGAsCQCADQQ9NBEAgAiADIAZqIgBBA3I2AgQgACAC.aiIAIAAoAgRBAXI2AgQMAQsgAiAGQQNyNgIEIAIgBmoiBSADQQFyNgIEIAMgBWogAzYCACAIBEAgCEF4cUH4gwFqIQBB5IMBKAIAIQECf0EBIAhBA3Z0Igcg.BHFFBEBB0IMBIAQgB3I2AgAgAAwBCyAAKAIICyEEIAAgATYCCCAEIAE2AgwgASAANgIMIAEgBDYCCAtB5IMBIAU2AgBB2IMBIAM2AgALIAJBCGohAAsgCkEQ.aiQAIAAL4wEBA38gAEH86gA2AgAgACgCRCIBBEAgACABNgJIIAEQBQsgACgCOCIBBEAgACABNgI8IAEQBQsgACgCLCIBBEAgACABNgIwIAEQBQsgACgCICIB.BEAgACABNgIkIAEQBQsgACgCFCIBBEAgACABNgIYIAEQBQsgACgCCCIDBEAgAyIBIAAoAgwiAkcEQANAIAJBBGsiAigCACEBIAJBADYCACABBEAgARAXCyAC.IANHDQALIAAoAgghAQsgACADNgIMIAEQBQsgACgCBCEBIABBADYCBCABBEAgARCFARAFCyAACwQAQQELBABBfwsDAAALFAAgAARAIAAgACgCACgCBBECAAsL.1RMEBn8CfgF9AXwjAEEQayIJJAACQCADRQ0AAkACQAJAAkACQAJAAkACQAJAAkACQCAAKAIcQQFrDgsAAQIDBAUGBwgJCgsLAkAgAkH/AXEiBSAALQAYIgQg.BCAFSxtFDQAgACgCACIEKAIEIgcgBCgCACAAKQMwIAApAyggATUCAH58p2oiBk0NC0EAIQEDQCADIAFBAnRqIAYsAAA2AgAgAUEBaiIBIAUgAC0AGCIEIAQg.BUsbTw0BIAZBAWoiBiAHSQ0ACwwLC0EBIQggBCAFTw0KIAIgBGtB/wFxQQJ0IgBFDQogAyAEQQJ0akEAIAD8CwAMCgsCQCACQf8BcSIFIAAtABgiBCAEIAVL.G0UNACAAKAIAIgQoAgQiByAEKAIAIAApAzAgACkDKCABNQIAfnynaiIGTQ0KQQAhAQNAIAMgAUECdGogBi0AADYCACABQQFqIgEgBSAALQAYIgQgBCAFSxtP.DQEgBkEBaiIGIAdJDQALDAoLQQEhCCAEIAVPDQkgAiAEa0H/AXFBAnQiAEUNCSADIARBAnRqQQAgAPwLAAwJCyACQf8BcSIFIAAtABgiBCAEIAVLGwRAIAAo.AgAiBCgCACAAKQMwIAApAyggATUCAH58p2ohASAEKAIEIQcDQCABIAdPDQogAyAGQQJ0aiABLgEANgIAIAFBAmohASAGQQFqIgYgBSAALQAYIgQgBCAFSxtJ.DQALC0EBIQggBCAFTw0IIAIgBGtB/wFxQQJ0IgBFDQggAyAEQQJ0akEAIAD8CwAMCAsgAkH/AXEiBSAALQAYIgQgBCAFSxsEQCAAKAIAIgQoAgAgACkDMCAA.KQMoIAE1AgB+fKdqIQEgBCgCBCEHA0AgASAHTw0JIAMgBkECdGogAS8BADYCACABQQJqIQEgBkEBaiIGIAUgAC0AGCIEIAQgBUsbSQ0ACwtBASEIIAQgBU8N.ByACIARrQf8BcUECdCIARQ0HIAMgBEECdGpBACAA/AsADAcLIAJB/wFxIgUgAC0AGCIEIAQgBUsbBEAgACgCACIEKAIAIAApAzAgACkDKCABNQIAfnynaiEB.IAQoAgQhBwNAIAEgB08NCCADIAZBAnRqIAEoAgA2AgAgAUEEaiEBIAZBAWoiBiAFIAAtABgiBCAEIAVLG0kNAAsLQQEhCCAEIAVPDQYgAiAEa0H/AXFBAnQi.AEUNBiADIARBAnRqQQAgAPwLAAwGCyACQf8BcSIFIAAtABgiBCAEIAVLGwRAIAAoAgAiBCgCACAAKQMwIAApAyggATUCAH58p2ohASAEKAIEIQcDQCABIAdP.DQcgAyAGQQJ0aiABKAIANgIAIAFBBGohASAGQQFqIgYgBSAALQAYIgQgBCAFSxtJDQALC0EBIQggBCAFTw0FIAIgBGtB/wFxQQJ0IgBFDQUgAyAEQQJ0akEA.IAD8CwAMBQsgAkH/AXEiBSAALQAYIgQgBCAFSxsEQCAAKAIAIgQoAgAgACkDMCAAKQMoIAE1AgB+fKdqIQEgBCgCBCEHA0AgASAHTw0GIAEpAwAiCkL/////.D1YNBiADIAZBAnRqIAo+AgAgAUEIaiEBIAZBAWoiBiAFIAAtABgiBCAEIAVLG0kNAAsLQQEhCCAEIAVPDQQgAiAEa0H/AXFBAnQiAEUNBCADIARBAnRqQQAg.APwLAAwECyACQf8BcSIFIAAtABgiBCAEIAVLGwRAIAAoAgAiBCgCACAAKQMwIAApAyggATUCAH58p2ohASAEKAIEIQcDQCABIAdPDQUgASkDACIKQv////8P.Vg0FIAMgBkECdGogCj4CACABQQhqIQEgBkEBaiIGIAUgAC0AGCIEIAQgBUsbSQ0ACwtBASEIIAQgBU8NAyACIARrQf8BcUECdCIARQ0DIAMgBEECdGpBACAA./AsADAMLIAkgASgCADYCDAJAAkAgAkH/AXEiBCAALQAYIgEgASAESxtFDQAgACgCACIBKAIAIAApAzAgACkDKCAJNQIMfnynaiECIAEoAgQhCCAALQAgQQFx.BEAgAiAITw0CA0AgAioCACIMvCIBQf////8HcSIHRSABQQFrQf///wNJciAHQYCAgARrQYCAgPgHSSABQQBOcXJFDQMgDEMAAIA/Xg0DIAMgBkECdGogDLtE.AADg////70GiRAAAAAAAAOA/oJz8AzYCACAGQQFqIgYgBCAALQAYIgEgASAESxtPDQIgAkEEaiICIAhJDQALDAILIAIgCE8NAQNAIAIqAgAiDLwiAUH/////.B3EiB0UgAUEBa0H///8DSXIgB0GAgIAEa0GAgID4B0kgAUEATnFyRQ0CIAxDAACAT2ANAiADIAZBAnRqIAz8ATYCACAGQQFqIgYgBCAALQAYIgEgASAESxtP.DQEgAkEEaiICIAhJDQALDAELQQEhBSABIARPDQAgBCABa0H/AXFBAnQiAEUNACADIAFBAnRqQQAgAPwLAAsgBSEIDAILIAkgASgCADYCCAJAAkAgAkH/AXEi.BCAALQAYIgEgASAESxtFDQAgACgCACIBKAIAIAApAzAgACkDKCAJNQIIfnynaiECIAEoAgQhCCAALQAgQQFxBEAgAiAITw0CA0AgAisDACINvSIKQv//////./////wCDIgtQIApCAX1C/////////wdUciALQoCAgICAgIAIfUKAgICAgICA8P8AVCAKQgBZcXJFDQMgDUQAAAAAAADwP2QNAyADIAZBAnRqIA1EAADg////.70GiRAAAAAAAAOA/oJz8AzYCACAGQQFqIgYgBCAALQAYIgEgASAESxtPDQIgAkEIaiICIAhJDQALDAILIAIgCE8NAQNAIAIrAwAiDb0iCkL///////////8A.gyILUCAKQgF9Qv////////8HVHIgC0KAgICAgICACH1CgICAgICAgPD/AFQgCkIAWXFyRQ0CIA1EAADg////70FmDQIgAyAGQQJ0aiAN/AM2AgAgBkEBaiIG.IAQgAC0AGCIBIAEgBEsbTw0BIAJBCGoiAiAISQ0ACwwBC0EBIQUgASAETw0AIAQgAWtB/wFxQQJ0IgBFDQAgAyABQQJ0akEAIAD8CwALIAUhCAwBCwJAIAJB./wFxIgUgAC0AGCIEIAQgBUsbRQ0AIAAoAgAiBCgCBCIHIAQoAgAgACkDMCAAKQMoIAE1AgB+fKdqIgZNDQFBACEBA0AgAyABQQJ0aiAGLQAANgIAIAFBAWoi.ASAFIAAtABgiBCAEIAVLG08NASAGQQFqIgYgB0kNAAsMAQtBASEIIAQgBU8NACACIARrQf8BcUECdCIARQ0AIAMgBEECdGpBACAA/AsACyAJQRBqJAAgCAuR.EwQGfwF9AXwBfiMAQRBrIgkkAAJAIANFDQACQAJAAkACQAJAAkACQAJAAkACQAJAIAAoAhxBAWsOCwABAgMEBQYHCAkKCwsCQCACQf8BcSIFIAAtABgiBCAE.IAVLG0UNACAAKAIAIgQoAgQiCCAEKAIAIAApAzAgACkDKCABNQIAfnynaiIGTQ0LQQAhAQNAIAMgAUECdGogBiwAADYCACABQQFqIgEgBSAALQAYIgQgBCAF.SxtPDQEgBkEBaiIGIAhJDQALDAsLQQEhByAEIAVPDQogAiAEa0H/AXFBAnQiAEUNCiADIARBAnRqQQAgAPwLAAwKCwJAIAJB/wFxIgUgAC0AGCIEIAQgBUsb.RQ0AIAAoAgAiBCgCBCIIIAQoAgAgACkDMCAAKQMoIAE1AgB+fKdqIgZNDQpBACEBA0AgAyABQQJ0aiAGLQAANgIAIAFBAWoiASAFIAAtABgiBCAEIAVLG08N.ASAGQQFqIgYgCEkNAAsMCgtBASEHIAQgBU8NCSACIARrQf8BcUECdCIARQ0JIAMgBEECdGpBACAA/AsADAkLIAJB/wFxIgUgAC0AGCIEIAQgBUsbBEAgACgC.ACIEKAIAIAApAzAgACkDKCABNQIAfnynaiEBIAQoAgQhCANAIAEgCE8NCiADIAZBAnRqIAEuAQA2AgAgAUECaiEBIAZBAWoiBiAFIAAtABgiBCAEIAVLG0kN.AAsLQQEhByAEIAVPDQggAiAEa0H/AXFBAnQiAEUNCCADIARBAnRqQQAgAPwLAAwICyACQf8BcSIFIAAtABgiBCAEIAVLGwRAIAAoAgAiBCgCACAAKQMwIAAp.AyggATUCAH58p2ohASAEKAIEIQgDQCABIAhPDQkgAyAGQQJ0aiABLwEANgIAIAFBAmohASAGQQFqIgYgBSAALQAYIgQgBCAFSxtJDQALC0EBIQcgBCAFTw0H.IAIgBGtB/wFxQQJ0IgBFDQcgAyAEQQJ0akEAIAD8CwAMBwsgAkH/AXEiBSAALQAYIgQgBCAFSxsEQCAAKAIAIgQoAgAgACkDMCAAKQMoIAE1AgB+fKdqIQEg.BCgCBCEIA0AgASAITw0IIAMgBkECdGogASgCADYCACABQQRqIQEgBkEBaiIGIAUgAC0AGCIEIAQgBUsbSQ0ACwtBASEHIAQgBU8NBiACIARrQf8BcUECdCIA.RQ0GIAMgBEECdGpBACAA/AsADAYLIAJB/wFxIgUgAC0AGCIEIAQgBUsbBEAgACgCACIEKAIAIAApAzAgACkDKCABNQIAfnynaiEBIAQoAgQhCANAIAEgCE8N.ByABKAIAIgRBAEgNByADIAZBAnRqIAQ2AgAgAUEEaiEBIAZBAWoiBiAFIAAtABgiBCAEIAVLG0kNAAsLQQEhByAEIAVPDQUgAiAEa0H/AXFBAnQiAEUNBSAD.IARBAnRqQQAgAPwLAAwFCyACQf8BcSIFIAAtABgiBCAEIAVLGwRAIAAoAgAiBCgCACAAKQMwIAApAyggATUCAH58p2ohASAEKAIEIQgDQCABIAhPDQYgASkD.ACIMQoCAgIAIfEL/////D1YNBiADIAZBAnRqIAw+AgAgAUEIaiEBIAZBAWoiBiAFIAAtABgiBCAEIAVLG0kNAAsLQQEhByAEIAVPDQQgAiAEa0H/AXFBAnQi.AEUNBCADIARBAnRqQQAgAPwLAAwECyACQf8BcSIFIAAtABgiBCAEIAVLGwRAIAAoAgAiBCgCACAAKQMwIAApAyggATUCAH58p2ohASAEKAIEIQgDQCABIAhP.DQUgASkDACIMQv////8HVg0FIAMgBkECdGogDD4CACABQQhqIQEgBkEBaiIGIAUgAC0AGCIEIAQgBUsbSQ0ACwtBASEHIAQgBU8NAyACIARrQf8BcUECdCIA.RQ0DIAMgBEECdGpBACAA/AsADAMLIAkgASgCADYCDAJAAkAgAkH/AXEiBCAALQAYIgEgASAESxtFDQAgACgCACIBKAIAIAApAzAgACkDKCAJNQIMfnynaiEC.IAEoAgQhByAALQAgQQFxBEAgAiAHTw0CA0AgAioCACIKQwAAAE9gDQMgCkMAAADPXQ0DIAq8QQF0QYCAgHhPDQMgCkMAAIA/Xg0DIApDAAAAAF0NAyADIAZB.AnRqIAq7RAAAwP///99BokQAAAAAAADgP6Cc/AI2AgAgBkEBaiIGIAQgAC0AGCIBIAEgBEsbTw0CIAJBBGoiAiAHSQ0ACwwCCyACIAdPDQEDQCACKgIAIgpD.AAAAT2ANAiAKQwAAAM9dDQIgCrxBAXRBgICAeE8NAiADIAZBAnRqIAr8ADYCACAGQQFqIgYgBCAALQAYIgEgASAESxtPDQEgAkEEaiICIAdJDQALDAELQQEh.BSABIARPDQAgBCABa0H/AXFBAnQiAEUNACADIAFBAnRqQQAgAPwLAAsgBSEHDAILIAkgASgCADYCCAJAAkAgAkH/AXEiBCAALQAYIgEgASAESxtFDQAgACgC.ACIBKAIAIAApAzAgACkDKCAJNQIIfnynaiECIAEoAgQhByAALQAgQQFxBEAgAiAHTw0CA0AgAisDACILRAAAwP///99BZg0DIAtEAAAAAAAA4MFjDQMgC71C.AYZCgICAgICAgHBaDQMgC0QAAAAAAADwP2QNAyALRAAAAAAAAAAAYw0DIAMgBkECdGogC0QAAMD////fQaJEAAAAAAAA4D+gnPwCNgIAIAZBAWoiBiAEIAAt.ABgiASABIARLG08NAiACQQhqIgIgB0kNAAsMAgsgAiAHTw0BA0AgAisDACILRAAAwP///99BZg0CIAtEAAAAAAAA4MFjDQIgC71CAYZCgICAgICAgHBaDQIg.AyAGQQJ0aiAL/AI2AgAgBkEBaiIGIAQgAC0AGCIBIAEgBEsbTw0BIAJBCGoiAiAHSQ0ACwwBC0EBIQUgASAETw0AIAQgAWtB/wFxQQJ0IgBFDQAgAyABQQJ0.akEAIAD8CwALIAUhBwwBCwJAIAJB/wFxIgUgAC0AGCIEIAQgBUsbRQ0AIAAoAgAiBCgCBCIIIAQoAgAgACkDMCAAKQMoIAE1AgB+fKdqIgZNDQFBACEBA0Ag.AyABQQJ0aiAGLQAANgIAIAFBAWoiASAFIAAtABgiBCAEIAVLG08NASAGQQFqIgYgCEkNAAsMAQtBASEHIAQgBU8NACACIARrQf8BcUECdCIARQ0AIAMgBEEC.dGpBACAA/AsACyAJQRBqJAAgBwv3EwQHfwJ+AX0BfCMAQRBrIgkkAAJAIANFDQACQAJAAkACQAJAAkACQAJAAkACQAJAIAAoAhxBAWsOCwABAgMEBQYHCAkK.CwsCQCACQf8BcSIHIgUgAC0AGCIEIAQgBUsbRQ0AIAAoAgAiBCgCBCIKIAQoAgAgACkDMCAAKQMoIAE1AgB+fKdqIgFNDQsDQCABLAAAIgRBAEgNDCADIAZB.AXRqIAQ7AQAgBkEBaiIGIAcgAC0AGCIEIAQgB0sbTw0BIAFBAWoiASAKSQ0ACwwLC0EBIQggBCAFTw0KIAIgBGtB/wFxQQF0IgBFDQogAyAEQQF0akEAIAD8.CwAMCgsCQCACQf8BcSIFIAAtABgiBCAEIAVLG0UNACAAKAIAIgQoAgQiByAEKAIAIAApAzAgACkDKCABNQIAfnynaiIGTQ0KQQAhAQNAIAMgAUEBdGogBi0A.ADsBACABQQFqIgEgBSAALQAYIgQgBCAFSxtPDQEgBkEBaiIGIAdJDQALDAoLQQEhCCAEIAVPDQkgAiAEa0H/AXFBAXQiAEUNCSADIARBAXRqQQAgAPwLAAwJ.CyACQf8BcSIFIAAtABgiBCAEIAVLGwRAIAAoAgAiBCgCACAAKQMwIAApAyggATUCAH58p2ohASAEKAIEIQcDQCABIAdPDQogAS4BACIEQQBIDQogAyAGQQF0.aiAEOwEAIAFBAmohASAGQQFqIgYgBSAALQAYIgQgBCAFSxtJDQALC0EBIQggBCAFTw0IIAIgBGtB/wFxQQF0IgBFDQggAyAEQQF0akEAIAD8CwAMCAsgAkH/.AXEiBSAALQAYIgQgBCAFSxsEQCAAKAIAIgQoAgAgACkDMCAAKQMoIAE1AgB+fKdqIQEgBCgCBCEHA0AgASAHTw0JIAMgBkEBdGogAS8BADsBACABQQJqIQEg.BkEBaiIGIAUgAC0AGCIEIAQgBUsbSQ0ACwtBASEIIAQgBU8NByACIARrQf8BcUEBdCIARQ0HIAMgBEEBdGpBACAA/AsADAcLIAJB/wFxIgUgAC0AGCIEIAQg.BUsbBEAgACgCACIEKAIAIAApAzAgACkDKCABNQIAfnynaiEBIAQoAgQhBwNAIAEgB08NCCABKAIAIgRB//8DSw0IIAMgBkEBdGogBDsBACABQQRqIQEgBkEB.aiIGIAUgAC0AGCIEIAQgBUsbSQ0ACwtBASEIIAQgBU8NBiACIARrQf8BcUEBdCIARQ0GIAMgBEEBdGpBACAA/AsADAYLIAJB/wFxIgUgAC0AGCIEIAQgBUsb.BEAgACgCACIEKAIAIAApAzAgACkDKCABNQIAfnynaiEBIAQoAgQhBwNAIAEgB08NByABKAIAIgRB//8DSw0HIAMgBkEBdGogBDsBACABQQRqIQEgBkEBaiIG.IAUgAC0AGCIEIAQgBUsbSQ0ACwtBASEIIAQgBU8NBSACIARrQf8BcUEBdCIARQ0FIAMgBEEBdGpBACAA/AsADAULIAJB/wFxIgUgAC0AGCIEIAQgBUsbBEAg.ACgCACIEKAIAIAApAzAgACkDKCABNQIAfnynaiEBIAQoAgQhBwNAIAEgB08NBiABKQMAIgtC//8DVg0GIAMgBkEBdGogCz0BACABQQhqIQEgBkEBaiIGIAUg.AC0AGCIEIAQgBUsbSQ0ACwtBASEIIAQgBU8NBCACIARrQf8BcUEBdCIARQ0EIAMgBEEBdGpBACAA/AsADAQLIAJB/wFxIgUgAC0AGCIEIAQgBUsbBEAgACgC.ACIEKAIAIAApAzAgACkDKCABNQIAfnynaiEBIAQoAgQhBwNAIAEgB08NBSABKQMAIgtC//8DVg0FIAMgBkEBdGogCz0BACABQQhqIQEgBkEBaiIGIAUgAC0A.GCIEIAQgBUsbSQ0ACwtBASEIIAQgBU8NAyACIARrQf8BcUEBdCIARQ0DIAMgBEEBdGpBACAA/AsADAMLIAkgASgCADYCDAJAAkAgAkH/AXEiBCAALQAYIgEg.ASAESxtFDQAgACgCACIBKAIAIAApAzAgACkDKCAJNQIMfnynaiECIAEoAgQhCCAALQAgQQFxBEAgAiAITw0CA0AgAioCACINvCIBQf////8HcSIHRSABQQFr.Qf///wNJciAHQYCAgARrQYCAgPgHSSABQQBOcXJFDQMgDUMAAIA/Xg0DIAMgBkEBdGogDbtEAAAAAOD/70CiRAAAAAAAAOA/oJz8AzsBACAGQQFqIgYgBCAA.LQAYIgEgASAESxtPDQIgAkEEaiICIAhJDQALDAILIAIgCE8NAQNAIAIqAgAiDbwiAUH/////B3EiB0UgAUEBa0H///8DSXIgB0GAgIAEa0GAgID4B0kgAUEA.TnFyRQ0CIA1DAP9/R2ANAiADIAZBAXRqIA38ATsBACAGQQFqIgYgBCAALQAYIgEgASAESxtPDQEgAkEEaiICIAhJDQALDAELQQEhBSABIARPDQAgBCABa0H/.AXFBAXQiAEUNACADIAFBAXRqQQAgAPwLAAsgBSEIDAILIAkgASgCADYCCAJAAkAgAkH/AXEiBCAALQAYIgEgASAESxtFDQAgACgCACIBKAIAIAApAzAgACkD.KCAJNQIIfnynaiECIAEoAgQhCCAALQAgQQFxBEAgAiAITw0CA0AgAisDACIOvSILQv///////////wCDIgxQIAtCAX1C/////////wdUciAMQoCAgICAgIAI.fUKAgICAgICA8P8AVCALQgBZcXJFDQMgDkQAAAAAAADwP2QNAyADIAZBAXRqIA5EAAAAAOD/70CiRAAAAAAAAOA/oJz8AzsBACAGQQFqIgYgBCAALQAYIgEg.ASAESxtPDQIgAkEIaiICIAhJDQALDAILIAIgCE8NAQNAIAIrAwAiDr0iC0L///////////8AgyIMUCALQgF9Qv////////8HVHIgDEKAgICAgICACH1CgICA.gICAgPD/AFQgC0IAWXFyRQ0CIA5EAAAAAOD/70BmDQIgAyAGQQF0aiAO/AM7AQAgBkEBaiIGIAQgAC0AGCIBIAEgBEsbTw0BIAJBCGoiAiAISQ0ACwwBC0EB.IQUgASAETw0AIAQgAWtB/wFxQQF0IgBFDQAgAyABQQF0akEAIAD8CwALIAUhCAwBCwJAIAJB/wFxIgUgAC0AGCIEIAQgBUsbRQ0AIAAoAgAiBCgCBCIHIAQo.AgAgACkDMCAAKQMoIAE1AgB+fKdqIgZNDQFBACEBA0AgAyABQQF0aiAGLQAAOwEAIAFBAWoiASAFIAAtABgiBCAEIAVLG08NASAGQQFqIgYgB0kNAAsMAQtB.ASEIIAQgBU8NACACIARrQf8BcUEBdCIARQ0AIAMgBEEBdGpBACAA/AsACyAJQRBqJAAgCAumEwQGfwF9AXwBfiMAQRBrIgkkAAJAIANFDQACQAJAAkACQAJA.AkACQAJAAkACQAJAIAAoAhxBAWsOCwABAgMEBQYHCAkKCwsCQCACQf8BcSIFIAAtABgiBCAEIAVLG0UNACAAKAIAIgQoAgQiCCAEKAIAIAApAzAgACkDKCAB.NQIAfnynaiIGTQ0LQQAhAQNAIAMgAUEBdGogBiwAADsBACABQQFqIgEgBSAALQAYIgQgBCAFSxtPDQEgBkEBaiIGIAhJDQALDAsLQQEhByAEIAVPDQogAiAE.a0H/AXFBAXQiAEUNCiADIARBAXRqQQAgAPwLAAwKCwJAIAJB/wFxIgUgAC0AGCIEIAQgBUsbRQ0AIAAoAgAiBCgCBCIIIAQoAgAgACkDMCAAKQMoIAE1AgB+.fKdqIgZNDQpBACEBA0AgAyABQQF0aiAGLQAAOwEAIAFBAWoiASAFIAAtABgiBCAEIAVLG08NASAGQQFqIgYgCEkNAAsMCgtBASEHIAQgBU8NCSACIARrQf8B.cUEBdCIARQ0JIAMgBEEBdGpBACAA/AsADAkLIAJB/wFxIgUgAC0AGCIEIAQgBUsbBEAgACgCACIEKAIAIAApAzAgACkDKCABNQIAfnynaiEBIAQoAgQhCANA.IAEgCE8NCiADIAZBAXRqIAEvAQA7AQAgAUECaiEBIAZBAWoiBiAFIAAtABgiBCAEIAVLG0kNAAsLQQEhByAEIAVPDQggAiAEa0H/AXFBAXQiAEUNCCADIARB.AXRqQQAgAPwLAAwICyACQf8BcSIFIAAtABgiBCAEIAVLGwRAIAAoAgAiBCgCACAAKQMwIAApAyggATUCAH58p2ohASAEKAIEIQgDQCABIAhPDQkgAS4BACIE.QQBIDQkgAyAGQQF0aiAEOwEAIAFBAmohASAGQQFqIgYgBSAALQAYIgQgBCAFSxtJDQALC0EBIQcgBCAFTw0HIAIgBGtB/wFxQQF0IgBFDQcgAyAEQQF0akEA.IAD8CwAMBwsgAkH/AXEiBSAALQAYIgQgBCAFSxsEQCAAKAIAIgQoAgAgACkDMCAAKQMoIAE1AgB+fKdqIQEgBCgCBCEIA0AgASAITw0IIAEoAgAiBEGAgAJq.Qf//A0sNCCADIAZBAXRqIAQ7AQAgAUEEaiEBIAZBAWoiBiAFIAAtABgiBCAEIAVLG0kNAAsLQQEhByAEIAVPDQYgAiAEa0H/AXFBAXQiAEUNBiADIARBAXRq.QQAgAPwLAAwGCyACQf8BcSIFIAAtABgiBCAEIAVLGwRAIAAoAgAiBCgCACAAKQMwIAApAyggATUCAH58p2ohASAEKAIEIQgDQCABIAhPDQcgASgCACIEQf//.AUsNByADIAZBAXRqIAQ7AQAgAUEEaiEBIAZBAWoiBiAFIAAtABgiBCAEIAVLG0kNAAsLQQEhByAEIAVPDQUgAiAEa0H/AXFBAXQiAEUNBSADIARBAXRqQQAg.APwLAAwFCyACQf8BcSIFIAAtABgiBCAEIAVLGwRAIAAoAgAiBCgCACAAKQMwIAApAyggATUCAH58p2ohASAEKAIEIQgDQCABIAhPDQYgASkDACIMQoCAAnxC.//8DVg0GIAMgBkEBdGogDD0BACABQQhqIQEgBkEBaiIGIAUgAC0AGCIEIAQgBUsbSQ0ACwtBASEHIAQgBU8NBCACIARrQf8BcUEBdCIARQ0EIAMgBEEBdGpB.ACAA/AsADAQLIAJB/wFxIgUgAC0AGCIEIAQgBUsbBEAgACgCACIEKAIAIAApAzAgACkDKCABNQIAfnynaiEBIAQoAgQhCANAIAEgCE8NBSABKQMAIgxC//8B.Vg0FIAMgBkEBdGogDD0BACABQQhqIQEgBkEBaiIGIAUgAC0AGCIEIAQgBUsbSQ0ACwtBASEHIAQgBU8NAyACIARrQf8BcUEBdCIARQ0DIAMgBEEBdGpBACAA./AsADAMLIAkgASgCADYCDAJAAkAgAkH/AXEiBCAALQAYIgEgASAESxtFDQAgACgCACIBKAIAIAApAzAgACkDKCAJNQIMfnynaiECIAEoAgQhByAALQAgQQFx.BEAgAiAHTw0CA0AgAioCACIKQwD+/0ZgDQMgCkMAAADHXQ0DIAq8QQF0QYCAgHhPDQMgCkMAAIA/Xg0DIApDAAAAAF0NAyADIAZBAXRqIAq7RAAAAADA/99A.okQAAAAAAADgP6Cc/AI7AQAgBkEBaiIGIAQgAC0AGCIBIAEgBEsbTw0CIAJBBGoiAiAHSQ0ACwwCCyACIAdPDQEDQCACKgIAIgpDAP7/RmANAiAKQwAAAMdd.DQIgCrxBAXRBgICAeE8NAiADIAZBAXRqIAr8ADsBACAGQQFqIgYgBCAALQAYIgEgASAESxtPDQEgAkEEaiICIAdJDQALDAELQQEhBSABIARPDQAgBCABa0H/.AXFBAXQiAEUNACADIAFBAXRqQQAgAPwLAAsgBSEHDAILIAkgASgCADYCCAJAAkAgAkH/AXEiBCAALQAYIgEgASAESxtFDQAgACgCACIBKAIAIAApAzAgACkD.KCAJNQIIfnynaiECIAEoAgQhByAALQAgQQFxBEAgAiAHTw0CA0AgAisDACILRAAAAADA/99AZg0DIAtEAAAAAAAA4MBjDQMgC71CAYZCgICAgICAgHBaDQMg.C0QAAAAAAADwP2QNAyALRAAAAAAAAAAAYw0DIAMgBkEBdGogC0QAAAAAwP/fQKJEAAAAAAAA4D+gnPwCOwEAIAZBAWoiBiAEIAAtABgiASABIARLG08NAiAC.QQhqIgIgB0kNAAsMAgsgAiAHTw0BA0AgAisDACILRAAAAADA/99AZg0CIAtEAAAAAAAA4MBjDQIgC71CAYZCgICAgICAgHBaDQIgAyAGQQF0aiAL/AI7AQAg.BkEBaiIGIAQgAC0AGCIBIAEgBEsbTw0BIAJBCGoiAiAHSQ0ACwwBC0EBIQUgASAETw0AIAQgAWtB/wFxQQF0IgBFDQAgAyABQQF0akEAIAD8CwALIAUhBwwB.CwJAIAJB/wFxIgUgAC0AGCIEIAQgBUsbRQ0AIAAoAgAiBCgCBCIIIAQoAgAgACkDMCAAKQMoIAE1AgB+fKdqIgZNDQFBACEBA0AgAyABQQF0aiAGLQAAOwEA.IAFBAWoiASAFIAAtABgiBCAEIAVLG08NASAGQQFqIgYgCEkNAAsMAQtBASEHIAQgBU8NACACIARrQf8BcUEBdCIARQ0AIAMgBEEBdGpBACAA/AsACyAJQRBq.JAAgBwuEAgEGfwJAAkACQCAAKAIEIgUgACgCACIEayIGQQF1IgMgAUkEQCAAKAIIIARrIgJBAXUgAU8EQCABIANrQQF0IgEEQCAFQQAgAfwLAAsgACABIAVq.NgIEDwsgAUEASA0CQf////8HIAIgASABIAJJGyACQf7///8HTxsiAkEASA0DIAJBAXQiBRAGIgcgBmohAiABIANrQQF0IgEEQCACQQAgAfwLAAsgAiADQQF0.ayEDIAYEQCADIAQgBvwKAAALIAAgBSAHajYCCCAAIAEgAmo2AgQgACADNgIAIARFDQEgBBAFDwsgASADTw0AIAAgBCABQQF0ajYCBAsPCxAHAAsQDgAL9w0E.BX8CfgF9AXwCQCADRQ0AAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgACgCHEEBaw4LAAECAwQFBgcICQoNCyACQf8BcSIFIAAtABgiBCAEIAVLGwRAIAAo.AgAoAgAgACkDMCAAKQMoIAE1AgB+fKdqIQEDQCABIAAoAgAoAgRPBEBBAA8LIAEsAAAiBEEASA0OIAMgBmogBDoAACABQQFqIQEgBkEBaiIGIAUgAC0AGCIE.IAQgBUsbSQ0ACwsgBCAFSQ0KDAsLIAJB/wFxIgUgAC0AGCIEIAQgBUsbBEAgACgCACgCACAAKQMwIAApAyggATUCAH58p2ohAQNAIAAoAgAoAgQgAU0NDSAD.IAZqIAEtAAA6AAAgAUEBaiEBIAZBAWoiBiAFIAAtABgiBCAEIAVLG0kNAAsLIAQgBUkNCQwKCyACQf8BcSIFIAAtABgiBCAEIAVLGwRAIAAoAgAoAgAgACkD.MCAAKQMoIAE1AgB+fKdqIQEDQCAAKAIAKAIEIAFNDQwgAS8BACIEQf8BSw0MIAMgBmogBDoAACABQQJqIQEgBkEBaiIGIAUgAC0AGCIEIAQgBUsbSQ0ACwsg.BCAFSQ0IDAkLIAJB/wFxIgUgAC0AGCIEIAQgBUsbBEAgACgCACgCACAAKQMwIAApAyggATUCAH58p2ohAQNAIAAoAgAoAgQgAU0NCyABLwEAIgRB/wFLDQsg.AyAGaiAEOgAAIAFBAmohASAGQQFqIgYgBSAALQAYIgQgBCAFSxtJDQALCyAEIAVJDQcMCAsgAkH/AXEiBSAALQAYIgQgBCAFSxsEQCAAKAIAKAIAIAApAzAg.ACkDKCABNQIAfnynaiEBA0AgACgCACgCBCABTQ0KIAEoAgAiBEH/AUsNCiADIAZqIAQ6AAAgAUEEaiEBIAZBAWoiBiAFIAAtABgiBCAEIAVLG0kNAAsLIAQg.BUkNBgwHCyACQf8BcSIFIAAtABgiBCAEIAVLGwRAIAAoAgAoAgAgACkDMCAAKQMoIAE1AgB+fKdqIQEDQCAAKAIAKAIEIAFNDQkgASgCACIEQf8BSw0JIAMg.BmogBDoAACABQQRqIQEgBkEBaiIGIAUgAC0AGCIEIAQgBUsbSQ0ACwsgBCAFSQ0FDAYLIAJB/wFxIgUgAC0AGCIEIAQgBUsbBEAgACgCACgCACAAKQMwIAAp.AyggATUCAH58p2ohAQNAIAAoAgAoAgQgAU0NCCABKQMAIglC/wFWDQggAyAGaiAJPAAAIAFBCGohASAGQQFqIgYgBSAALQAYIgQgBCAFSxtJDQALCyAEIAVJ.DQQMBQsgAkH/AXEiBSAALQAYIgQgBCAFSxsEQCAAKAIAKAIAIAApAzAgACkDKCABNQIAfnynaiEBA0AgACgCACgCBCABTQ0HIAEpAwAiCUL/AVYNByADIAZq.IAk8AAAgAUEIaiEBIAZBAWoiBiAFIAAtABgiBCAEIAVLG0kNAAsLIAQgBUkNAwwECyACQf8BcSIFIAAtABgiBCAEIAVLGwRAIAAoAgAoAgAgACkDMCAAKQMo.IAE1AgB+fKdqIQEDQCAAKAIAKAIEIAFNDQYgASoCACILvCIEQf////8HcSIIRSAEQQFrQf///wNJciAIQYCAgARrQYCAgPgHSSAEQQBOcXJFDQYgC0MAAH9D.YA0GIAMgBmogAC0AIAR/IAtDAACAP14NByALu0QAAAAAAOBvQKJEAAAAAAAA4D+gnPwDBSAL/AELOgAAIAFBBGohASAGQQFqIgYgBSAALQAYIgQgBCAFSxtJ.DQALCyAEIAVJDQIMAwsgAkH/AXEiBSAALQAYIgQgBCAFSxsEQCAAKAIAKAIAIAApAzAgACkDKCABNQIAfnynaiEBA0AgACgCACgCBCABTQ0FIAErAwAiDL0i.CUL///////////8AgyIKUCAJQgF9Qv////////8HVHIgCkKAgICAgICACH1CgICAgICAgPD/AFQgCUIAWXFyRQ0FIAxEAAAAAADgb0BmDQUgAyAGaiAALQAg.QQFGBHwgDEQAAAAAAADwP2QNBiAMRAAAAAAA4G9AokQAAAAAAADgP6CcBSAMC/wDOgAAIAFBCGohASAGQQFqIgYgBSAALQAYIgQgBCAFSxtJDQALCyAEIAVJ.DQEMAgsgAkH/AXEiBSAALQAYIgQgBCAFSxsEQCAAKAIAKAIAIAApAzAgACkDKCABNQIAfnynaiEBA0AgACgCACgCBCABTQ0EIAMgBmogAS0AADoAACABQQFq.IQEgBkEBaiIGIAUgAC0AGCIEIAQgBUsbSQ0ACwsgBCAFTw0BCyACIARrQf8BcSIARQ0AIAMgBGpBACAA/AsAC0EBIQcLIAcL3g0EBH8BfQF8AX4CQCADRQ0A.AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgACgCHEEBaw4LAAECAwQFBgcICQoNCyACQf8BcSIFIAAtABgiBCAEIAVLGwRAIAAoAgAoAgAgACkDMCAAKQMo.IAE1AgB+fKdqIQEDQCAAKAIAKAIEIAFNDQ4gAyAGaiABLQAAOgAAIAFBAWohASAGQQFqIgYgBSAALQAYIgQgBCAFSxtJDQALCyAEIAVJDQoMCwsgAkH/AXEi.BSAALQAYIgQgBCAFSxsEQCAAKAIAKAIAIAApAzAgACkDKCABNQIAfnynaiEBA0AgASAAKAIAKAIETwRAQQAPCyABLAAAIgRBAEgNDSADIAZqIAQ6AAAgAUEB.aiEBIAZBAWoiBiAFIAAtABgiBCAEIAVLG0kNAAsLIAQgBUkNCQwKCyACQf8BcSIFIAAtABgiBCAEIAVLGwRAIAAoAgAoAgAgACkDMCAAKQMoIAE1AgB+fKdq.IQEDQCAAKAIAKAIEIAFNDQwgAS8BACIEQYABakH//wNxQf8BSw0MIAMgBmogBDoAACABQQJqIQEgBkEBaiIGIAUgAC0AGCIEIAQgBUsbSQ0ACwsgBCAFSQ0I.DAkLIAJB/wFxIgUgAC0AGCIEIAQgBUsbBEAgACgCACgCACAAKQMwIAApAyggATUCAH58p2ohAQNAIAAoAgAoAgQgAU0NCyABLwEAIgRB/wBLDQsgAyAGaiAE.OgAAIAFBAmohASAGQQFqIgYgBSAALQAYIgQgBCAFSxtJDQALCyAEIAVJDQcMCAsgAkH/AXEiBSAALQAYIgQgBCAFSxsEQCAAKAIAKAIAIAApAzAgACkDKCAB.NQIAfnynaiEBA0AgACgCACgCBCABTQ0KIAEoAgAiBEGAAWpB/wFLDQogAyAGaiAEOgAAIAFBBGohASAGQQFqIgYgBSAALQAYIgQgBCAFSxtJDQALCyAEIAVJ.DQYMBwsgAkH/AXEiBSAALQAYIgQgBCAFSxsEQCAAKAIAKAIAIAApAzAgACkDKCABNQIAfnynaiEBA0AgACgCACgCBCABTQ0JIAEoAgAiBEH/AEsNCSADIAZq.IAQ6AAAgAUEEaiEBIAZBAWoiBiAFIAAtABgiBCAEIAVLG0kNAAsLIAQgBUkNBQwGCyACQf8BcSIFIAAtABgiBCAEIAVLGwRAIAAoAgAoAgAgACkDMCAAKQMo.IAE1AgB+fKdqIQEDQCAAKAIAKAIEIAFNDQggASkDACIKQoABfEL/AVYNCCADIAZqIAo8AAAgAUEIaiEBIAZBAWoiBiAFIAAtABgiBCAEIAVLG0kNAAsLIAQg.BUkNBAwFCyACQf8BcSIFIAAtABgiBCAEIAVLGwRAIAAoAgAoAgAgACkDMCAAKQMoIAE1AgB+fKdqIQEDQCAAKAIAKAIEIAFNDQcgASkDACIKQv8AVg0HIAMg.BmogCjwAACABQQhqIQEgBkEBaiIGIAUgAC0AGCIEIAQgBUsbSQ0ACwsgBCAFSQ0DDAQLIAJB/wFxIgUgAC0AGCIEIAQgBUsbBEAgACgCACgCACAAKQMwIAAp.AyggATUCAH58p2ohAQNAIAAoAgAoAgQgAU0NBiABKgIAIghDAAD+QmANBiAIQwAAAMNdDQYgCLxBAXRBgICAeE8NBiADIAZqIAAtACAEfyAIQwAAgD9eDQcg.CEMAAAAAXQ0HIAi7RAAAAAAAwF9AokQAAAAAAADgP6Cc/AIFIAj8AAs6AAAgAUEEaiEBIAZBAWoiBiAFIAAtABgiBCAEIAVLG0kNAAsLIAQgBUkNAgwDCyAC.Qf8BcSIFIAAtABgiBCAEIAVLGwRAIAAoAgAoAgAgACkDMCAAKQMoIAE1AgB+fKdqIQEDQCAAKAIAKAIEIAFNDQUgASsDACIJRAAAAAAAwF9AZg0FIAlEAAAA.AAAAYMBjDQUgCb1CAYZCgICAgICAgHBaDQUgAyAGaiAALQAgQQFGBHwgCUQAAAAAAADwP2QNBiAJRAAAAAAAAAAAYw0GIAlEAAAAAADAX0CiRAAAAAAAAOA/.oJwFIAkL/AI6AAAgAUEIaiEBIAZBAWoiBiAFIAAtABgiBCAEIAVLG0kNAAsLIAQgBUkNAQwCCyACQf8BcSIFIAAtABgiBCAEIAVLGwRAIAAoAgAoAgAgACkD.MCAAKQMoIAE1AgB+fKdqIQEDQCAAKAIAKAIEIAFNDQQgAyAGaiABLQAAOgAAIAFBAWohASAGQQFqIgYgBSAALQAYIgQgBCAFSxtJDQALCyAEIAVPDQELIAIg.BGtB/wFxIgBFDQAgAyAEakEAIAD8CwALQQEhBwsgBwvsAQEGfwJAAkAgAaciAiAAKAIEIgMgACgCACIFayIESwRAIAIgACgCCCAFayIGTQRAIAIgBGsiAgRA.IANBACAC/AsACyAAIAIgA2o2AgQMAgsgAkEASA0CQf////8HIAZBAXQiAyACIAIgA0kbIAZB/////wNPGyIGEAYhAyACIARrIgcEQCADIARqQQAgB/wLAAsg.BARAIAMgBSAE/AoAAAsgACADIAZqNgIIIAAgAiADajYCBCAAIAM2AgAgBUUNASAFEAUMAQsgAiAETw0AIAAgAiAFajYCBAsgACAAKQMYQgF8NwMYDwsQBwAL.cAAgACABKQM4NwM4IAAgASkDMDcDMCAAIAEpAyg3AyggACABKQMgNwMgIAAgASkDGDcDGCAAIAEpAxA3AxAgACABKQMINwMIIAAgASkDADcDACAAQQA2Algg.AEIANwNAIABCADcDSCAAQgA3AE0gAAt5AQN/IAEQGSICQff///8HSQRAAkAgAkEKTQRAIAAgAjoACyAAIQMMAQsgAkH4////B3EiBEEIahAGIQMgACAEQfj/.//8HazYCCCAAIAI2AgQgACADNgIACyACBEAgAyABIAL8CgAACyACIANqQQA6AAAgAA8LECkAC4ALAgJ/An4jAEEwayIDJAAgA0Gm6AApAQA3ASYgA0Gg6AAp.AwA3AyAgA0GY6AApAwA3AxggA0GQ6AApAwA3AxACQAJAIAEpAwggASkDECIFQgV8UwRAIANBEGoQGSIBQff///8HTw0CAkAgAUEKTQRAIAMgAToADyADQQRq.IQIMAQsgAUH4////B3EiBEEIahAGIQIgAyAEQfj///8HazYCDCADIAE2AgggAyACNgIECyABBEAgAiADQRBqIAH8CgAACyABIAJqQQA6AAAgAEF+NgIAIABB.BGohACADLAAPQQBOBEAgACADKAIMNgIIIAAgAykCBDcCAAwCCyAAIAMoAgQiACADKAIIEA0gABAFDAELIAIgASgCACAFp2oiBC0ABDoABCACIAQoAAA2AAAg.ASABKQMQQgV8IgU3AxAgAigAAEHEpIWaBHMgAi0ABEHPAHNyBEBBGBAGIgFBADoAESABQYsMLQAAOgAQIAFBgwwpAAA3AAggAUH7CykAADcAACAAQX82AgAg.AEEEaiABQREQDSABEAUMAQsgBSABKQMIWQRAIANBEGoQGSIBQff///8HTw0CAkAgAUEKTQRAIAMgAToADyADQQRqIQIMAQsgAUH4////B3EiBEEIahAGIQIg.AyAEQfj///8HazYCDCADIAE2AgggAyACNgIECyABBEAgAiADQRBqIAH8CgAACyABIAJqQQA6AAAgAEF+NgIAIABBBGohACADLAAPQQBOBEAgACADKAIMNgII.IAAgAykCBDcCAAwCCyAAIAMoAgQiACADKAIIEA0gABAFDAELIAIgASgCACAFp2otAAA6AAUgASABKQMQQgF8IgU3AxAgBSABKQMIWQRAIANBEGoQGSIBQff/.//8HTw0CAkAgAUEKTQRAIAMgAToADyADQQRqIQIMAQsgAUH4////B3EiBEEIahAGIQIgAyAEQfj///8HazYCDCADIAE2AgggAyACNgIECyABBEAgAiADQRBq.IAH8CgAACyABIAJqQQA6AAAgAEF+NgIAIABBBGohACADLAAPQQBOBEAgACADKAIMNgIIIAAgAykCBDcCAAwCCyAAIAMoAgQiACADKAIIEA0gABAFDAELIAIg.ASgCACAFp2otAAA6AAYgASABKQMQQgF8IgU3AxAgBSABKQMIWQRAIANBEGoQGSIBQff///8HTw0CAkAgAUEKTQRAIAMgAToADyADQQRqIQIMAQsgAUH4////.B3EiBEEIahAGIQIgAyAEQfj///8HazYCDCADIAE2AgggAyACNgIECyABBEAgAiADQRBqIAH8CgAACyABIAJqQQA6AAAgAEF+NgIAIABBBGohACADLAAPQQBO.BEAgACADKAIMNgIIIAAgAykCBDcCAAwCCyAAIAMoAgQiACADKAIIEA0gABAFDAELIAIgASgCACAFp2otAAA6AAcgASABKQMQQgF8IgU3AxAgBSABKQMIWQRA.IANBBGogA0EQahBlIQEgAEF+NgIAIABBBGohACABLAALQQBOBEAgACABKAIINgIIIAAgASkCADcCAAwCCyAAIAEoAgAgASgCBBANIAEsAAtBAE4NASABKAIA.EAUMAQsgAiABKAIAIAWnai0AADoACCABIAEpAxAiBUIBfCIGNwMQIAEpAwggBUIDfFMEQCADQQRqIANBEGoQZSEBIABBfjYCACAAQQRqIQAgASwAC0EATgRA.IAAgASgCCDYCCCAAIAEpAgA3AgAMAgsgACABKAIAIAEoAgQQDSABLAALQQBODQEgASgCABAFDAELIAIgASgCACAGp2ovAAA7AQogASABKQMQQgJ8NwMQIABC.ADcCCCAAQgA3AgALIANBMGokAA8LECkACzMAIABBADYCACAAIAE2AjggAEIANwMwIAAgBTcDKCAAIAQ6ACAgACADNgIcIAAgAjoAGAvCAQECfwJAIAAgAUcE.QCAAIAEoAgQiAgR/IAAoAgAhAyAAKAIIQQV0IAJJBEAgAwRAIAMQBSAAQQA2AgggAEIANwIAIAEoAgQhAgsgAkEASA0DIAJBAWtBBXZBAWpBACACGyICQQJ0.EAYhAyAAIAI2AgggAEEANgIEIAAgAzYCACABKAIEIQILIAJBAWtBA3ZB/P///wFxQQRqQQAgAhsiAARAIAMgASgCACAA/AoAAAsgASgCBAVBAAs2AgQLDwsQ.BwAL0gQBBH8gASAAIAFGIgQ6AAwCQCAEDQADQCABKAIIIgQtAAwNAQJAAkAgBCgCCCICKAIAIgMgBEYEQAJAIAIoAgQiBUUNACAFLQAMDQAgBEEBOgAMIAIg.ACACRjoADCAFQQE6AAwMAgsCQCAEKAIAIAFGBEAgBCEBDAELIAQgBCgCBCIBKAIAIgA2AgQCQCAARQRAIAEgAjYCCCACIAE2AgAMAQsgACAENgIIIAQoAggi.AygCACABIAM2AgggBEYEQCADIAE2AgAMAQsgAyABNgIECyABIAQ2AgAgBCABNgIIIAEoAggiAigCACEDCyABQQE6AAwgAkEAOgAMIAIgAygCBCIANgIAIAAE.QCAAIAI2AggLIAMgAigCCCIANgIIAkAgACgCACACRgRAIAAgAzYCAAwBCyAAIAM2AgQLIAMgAjYCBCACIAM2AggPCyADRQ0BIAMtAAwNASAEQQE6AAwgAiAA.IAJGOgAMIANBAToADAsgAiIBIABHDQEMAgsLAkAgBCgCACIDIAFHBEAgBCEDDAELIAQgAygCBCIANgIAIAAEQCAAIAQ2AgggBCgCCCECCyADIAI2AggCQCAC.KAIAIARGBEAgAiADNgIADAELIAIgAzYCBAsgAyAENgIEIAQgAzYCCCADKAIIIQILIANBAToADCACQQA6AAwgAiACKAIEIgEoAgAiADYCBCAABEAgACACNgII.CyABIAIoAggiADYCCAJAIAAoAgAgAkYEQCAAIAE2AgAMAQsgACABNgIECyABIAI2AgAgAiABNgIICwuqAQEHfyABRQRAIAJBADYCAA8LQQAgAC0ADGtB/wFx.IQYgACgCBCEEIAAoAgghAyAAKAIAIQgDQAJAIANB/x9LDQAgBEEATA0AIAAgBEEBayIENgIEIAQgCGotAAAgA0EIdHIhAwsgACADQQh2IAZsIgcgA0H/AXEi.CWogAyAGIAdqayAGIAlLIgcbIgM2AgggBUEBdCAHciEFIAFBAWsiAQ0ACyACIAU2AgALoAYBCn8gAiACKAIEIAEoAhAiCmsiB61CIIYgAigCACAKayIErYQ3.AgACQCABKAIQIgYgByAHQR91IgVzIAVrIAQgBEEfdSIFcyAFa2pPIgsEQCAHIQYMAQsCQAJAIARBAE4EQEEBIQlBASEIIAdBAE4NAkEBIQVBfyEJQX8hCCAE.DQEMAgtBfyEFQX8hCUF/IQggB0EATA0BC0F/QQEgB0EATBshCSAFIQgLIAIgBiAJbCIMQQAgBEEBdCAGIAhsIg1rIgRrIAQgCCAJbEEATiIFG2pBAm0iBjYC.BCACQQAgB0EBdCAMayIEayAEIAUbIA1qQQJtIgQ2AgALAkACfwJAAkACQAJAIAQEQCAEQQBIDQEgBkEASA0EQQAgBmshBUEAIARrIQZBAgwFCyAGDQFBASEJ.QQAhBUEAIQZBACEIDAULQQEhCSAGQQBKIgUNAUEDQQAgBRshCCAGIQUgBCEGDAQLIAZBAEwNAQtBACAGayEGIAQhBUEDDAELQQAgBGshBUEBCyEIIAIgBq0g.Ba1CIIaENwIAQQAhCQsCQCADKAIAIAZqIgQgASgCECIHSgRAIAQgASgCBGshBAwBCyAEQQAgB2tODQAgASgCBCAEaiEECwJAIAcgAygCBCAFaiICSARAIAIg.ASgCBGshAgwBCyACQQAgB2tODQAgASgCBCACaiECCwJAIAkEQCACIQEMAQsgAiEBAkACQAJAQQQgCGsiA0EAIAhrIANBBEkbQQFrDgMAAQIDC0EAIARrIQEg.AiEEDAILQQAgAmshAUEAIARrIQQMAQsgBCEBQQAgAmshBAsCQCALBEAgASECDAELAkACQCAEQQBOBEBBASECQQEhBSABQQBODQJBASEDQX8hAkF/IQUgBA0B.DAILQX8hA0F/IQJBfyEFIAFBAEwNAQtBf0EBIAFBAEwbIQIgAyEFCyACIAdsIgZBACAEQQF0IAUgB2wiBGsiA2sgAyACIAVsQQBOIgMbakECbSECQQAgAUEB.dCAGayIBayABIAMbIARqQQJtIQQLIAAgBCAKaq0gAiAKaq1CIIaENwIAC6UEAQh/IAIgAigCBCABKAIQIgprIgetQiCGIAIoAgAgCmsiBK2ENwIAAkAgASgC.ECIGIAcgB0EfdSIFcyAFayAEIARBH3UiBXMgBWtqTyILBEAgByEFDAELAkACQCAEQQBOBEBBASEFQQEhCCAHQQBODQJBASEJQX8hBUF/IQggBA0BDAILQX8h.CUF/IQVBfyEIIAdBAEwNAQtBf0EBIAdBAEwbIQUgCSEICyACIAUgBmwiCUEAIARBAXQgBiAIbCIGayIEayAEIAUgCGxBAE4iCBtqQQJtIgU2AgQgAkEAIAdB.AXQgCWsiAmsgAiAIGyAGakECbSIENgIAIAEoAhAhBgsgAygCBCAFaiECAkAgBiADKAIAIARqIgRIBEAgBCABKAIEayEEDAELIARBACAGa04NACABKAIEIARq.IQQLAkAgAiAGSgRAIAIgASgCBGshAgwBCyACQQAgBmtODQAgASgCBCACaiECCwJAIAsEQCACIQYMAQsCQAJAIARBAE4EQEEBIQFBASEFIAJBAE4NAkEBIQNB.fyEBQX8hBSAEDQEMAgtBfyEDQX8hAUF/IQUgAkEATA0BC0F/QQEgAkEATBshASADIQULIAEgBmwiA0EAIARBAXQgBSAGbCIHayIGayAGIAEgBWxBAE4iARtq.QQJtIQZBACACQQF0IANrIgJrIAIgARsgB2pBAm0hBAsgACAEIApqrSAGIApqrUIghoQ3AgALJQEBfwJAIAEoAjgNACABLQAYQQNHDQAgACABNgIwQQEhAgsg.AgtDAQF/AkAgACgCMEUNACAAKAI0RQ0AIAAoAhxFDQAgACgCIEUNACAAKAIkRQ0AIAAoAihFDQAgACgCTEF/RyEBCyABC+sCAQN/IAAoAgghASAAKAIAIQMC.QCAALQAMQQFGBEACQAJAAkACQCABQX9GDQAgAUEBaiICIAFBAmsgAkEDcBsiAUF/Rg0AIAMoAgwgAUECdGooAgAiAUF/Rw0BCyAAQX82AggMAQsgACABQQFq.IgIgAUECayACQQNwGyIBNgIIIAFBf0cNAQsCf0F/IAAoAgQiAkF/Rg0AGgJAIAJBA3AEQCACQQFrIQIMAQtBfyACQQJqIgJBf0YNARoLQX8gAygCDCACQQJ0.aigCACICQX9GDQAaIAJBAWsgAkEDcA0AGiACQQJqCyEBIABBADoADCAAIAE2AggPCyABIAAoAgRHDQEgAEF/NgIIDwsgAAJ/QX8gAUF/Rg0AGgJAIAFBA3AE.QCABQQFrIQEMAQtBfyABQQJqIgFBf0YNARoLQX8gAygCDCABQQJ0aigCACIBQX9GDQAaIAFBAWsgAUEDcA0AGiABQQJqCzYCCAsLKgEBfwJAIAFFDQAgASgC.OA0AIAEtABhBA0cNACAAIAE2AjxBASECCyACCzMBAX8CQCAAKAI8RQ0AIAAoAixFDQAgACgCMEUNACAAKAI0RQ0AIAAoAjhBAEchAQsgAQs6AQJ+IAIpAwgi.BCACKQMQIgNVBEAgAigCACADp2otAAAhASACIANCAXw3AxAgACABNgIECyADIARTCy4BAX8gACgCECIBBEAgACABNgIUIAEQBQsgACgCACIBBEAgACABNgIE.IAEQBQsLDAAgABCrARogABAFCw4AIABB0ABqEFZB0ABqCykBAX8gACgCBCAALAALIgEgAUEASCIBG0UEQBA8AAsgACgCACAAIAEbC6sDAQV/IAAoAgQiBSAA.LAALIgIiBCAEQQBIGyIEIAFJBEAgASAEayIEBEACfyAEIAAoAggiBkH/////B3FBAWtBCiACQQBIIgEbIgMgBSACIAEbIgFrTQRAIAZBGHYMAQsjAEEgayIC.JAAgAkEUaiAAIAEgBGogA2sgA2oQswEQeCAAKAIAIAAgACwAC0EASBshAwJAIAFFIgUNACAFDQAgAigCFCADIAH8CgAACwJAQQENAEEAIQVBAQ0AIAEgAigC.FGogASADaiAF/AoAAAsgAkF/NgIYIAIgAigCHDYCECACIAIpAhQ3AwggACACQQhqELUBIAJBIGokACAAIAE2AgQgAC0ACwshAiAAKAIAIAAgAsBBAEgbIgUg.AWohAyAEIQIDQCACBEAgA0EAOgAAIAJBAWshAiADQQFqIQMMAQsLIAEgBGohAQJAIAAsAAtBAEgEQCAAIAE2AgQMAQsgACABQf8AcToACwsgASAFakEAOgAA.Cw8LAkAgACwAC0EASARAIAAgATYCBCAAKAIAIQAMAQsgACABQf8AcToACwsgACABakEAOgAACy4BAn8gAUF4cUEIaiICEAYhAyAAIAJBgICAgHhyNgIIIAAg.ATYCBCAAIAM2AgALrw0BDn8jAEEQayIPJAAgACABQQxsaiIJIAkoAgg2AgxBfyACKAIAIgtBA24gC0F/RhshCEEBIQMCQAJAA0ACQCADIg5FBEAgDwJ/QX8g.C0F/Rg0AGiALQQFrIAtBA3ANABogC0ECags2AggCQAJAAkAgDwJ/QX8gDygCCCIEQX9GDQAaIAAoAgQoAgwgBEECdGooAgAhAyAAKAIAIQdBfyEGQX8hBSAE.QQFqIgggBEECayAIQQNwGyIIQQBOBEAgBygCYCAIQQNuIgVBDGxqIAggBUEDbGtBAnRqKAIAIQULAkAgA0F/Rg0AQX9BAiADQQNwGyADaiIIQQBIDQAgBygC.YCAIQQNuIgZBDGxqIAggBkEDbGtBAnRqKAIAIQYLQX8gBSAGRw0AGkF/IQZBf0ECIARBA3AbIARqIgRBAE4EQCAHKAJgIARBA24iBUEMbGogBCAFQQNsa0EC.dGooAgAhBCADQX9GDQMMAgtBfyEEIANBf0cNASADCzYCDAwCCyADQQFqIgUgA0ECayAFQQNwGyIFQQBIDQAgBygCYCAFQQNuIgdBDGxqIAUgB0EDbGtBAnRq.KAIAIQYLIA9BfyADIAQgBkcbNgIMCyAPKAIMQX9GDQEgC0F/Rg0BIAIgC0EBaiIDIAtBAmsgA0EDcBsiAzYCACADQX9GDQEgACgCBCADQQFqIgcgA0ECayAH.QQNwGyIDQX9GDQEoAgwgA0ECdGooAgAiA0F/Rg0BIAIgA0EBaiIEIANBAmsgBEEDcBsiAzYCACADQX9GDQEgA0EDbiEICwJAIAAoAjggCEEDdkH8////AXFq.IgMoAgAiBUEBIAh0IgpxDQAgCSgCDCEGQQAhBAJAA0AgBCEHIAMgBSAKcjYCAAJAIAkoAhAiBSAGSwRAIAYgCDYCACAGQQRqIQYMAQsgBiAJKAIIIgRrIgpB.AnUiDUEBaiIDQYCAgIAETw0GQf////8DIAUgBGsiBUEBdSIMIAMgAyAMSRsgBUH8////B08bIgNBgICAgARPDQcgA0ECdCIMEAYiECAKaiIKIAg2AgAgCiAN.QQJ0ayINIQUgBCIDIAZHBEADQCAFIAMoAgA2AgAgBUEEaiEFIANBBGoiAyAGRw0ACwsgCSAMIBBqNgIQIAkgCkEEaiIGNgIMIAkgDTYCCCAEBEAgBBAFCwsg.CSAGNgIMAkAgBwRAIAIoAgAhBCAHQQFxRQRAQX8hAyAEQX9HBEAgBEEBaiIDIARBAmsgA0EDcBshAwsgAiADNgIADAILIAsgBCAOGyELIAICf0F/IARBf0YN.ABogBEEBayAEQQNwDQAaIARBAmoLIgM2AgAMAQsgAigCACEDCwJAIANBf0YNACAAKAIEKAIMIANBAnRqKAIAIQUgACgCACEKQX8hBEF/IQ0gA0EBaiIMIANB.AmsgDEEDcBsiDEEATgRAIAooAmAgDEEDbiINQQxsaiAMIA1BA2xrQQJ0aigCACENCwJAIAVBf0YNAEF/QQIgBUEDcBsgBWoiDEEASA0AIAooAmAgDEEDbiIE.QQxsaiAMIARBA2xrQQJ0aigCACEECyAEIA1HDQACQEF/QQIgA0EDcBsgA2oiA0EATgRAIAVBf0YNAiAKKAJgIANBA24iBEEMbGogAyAEQQNsa0ECdGooAgAh.BAwBC0F/IQQgBUF/Rg0BCyAFQQFqIgMgBUECayADQQNwGyIDQQBIBH9BfwUgCigCYCADQQNuIgpBDGxqIAMgCkEDbGtBAnRqKAIACyAERw0AIAdBAWohBCAC.IAU2AgAgACgCOCAFQQNuIghBA3ZB/P///wBxaiIDKAIAIgVBASAIdCIKcUUNAQwCCwsgAkF/NgIACyAHIA5yQQFxDQAgACgCOCAJKAIMQQRrIgIoAgAiA0ED.dkH8////AXFqIgQgBCgCAEF+IAN3cTYCACAJIAI2AgwMAQtBACEDIA4NAQsLIAAgAUECdGogCzYCLAJAIAkoAgwiAiAJKAIIIgFGDQAgACgCOCEAQQAhAyAC.IAFrQQJ1IgJBAk8EQCACQQFxIAJBfnEhAkEAIQYDQCAAIAEgA0ECdGoiBygCACIOQQN2Qfz///8BcWoiCSAJKAIAQX4gDndxNgIAIAAgBygCBCIHQQN2Qfz/.//8BcWoiDiAOKAIAQX4gB3dxNgIAIANBAmohAyAGQQJqIgYgAkcNAAtFDQELIAAgASADQQJ0aigCACIBQQN2Qfz///8BcWoiACAAKAIAQX4gAXdxNgIACyAP.QRBqJAAPCxAHAAsQDgAL5AMBBn8gACgCACIGIAEoAgAiAkEDdkH8////AXFqIgEgASgCAEEBIAJ0cjYCACAAKAJAIQUCf0F/IAJBf0YiBA0AGkF/IAJBAWoi.AyACQQJrIANBA3AbIgNBf0YNABogBSgCACADQQJ0aigCAAshASAAKAIMIgMgAUEDdkH8////AXFqIgcgBygCAEEBIAF0cjYCAAJAIARFBEAgAwJ/AkAgAkED.cARAIAJBAWshBAwBC0F/IAJBAmoiBEF/Rg0BGgsgBSgCACAEQQJ0aigCAAsiAUEDdkH8////AXFqIgQgBCgCAEEBIAF0cjYCAEF/IQEgBSgCDCACQQJ0aigC.ACICQX9GDQEgAEEAOgAYIAYgAkEDdkH8////AXFqIgAgACgCAEEBIAJ0cjYCACACQQFqIgAgAkECayAAQQNwGyIAQX9HBEAgBSgCACAAQQJ0aigCACEBCyAD.IAFBA3ZB/P///wFxaiIAIAAoAgBBASABdHI2AgAgAwJ/AkAgAkEDcARAIAJBAWshAQwBC0F/IAJBAmoiAUF/Rg0BGgsgBSgCACABQQJ0aigCAAsiAEEDdkH8.////AXFqIgEgASgCAEEBIAB0cjYCAA8LIAMgAygC/P///wFBgICAgHhyNgL8////AQsLkQkBCX8jAEEgayICJAAgACAAKAI0NgI4IAAgACgCKDYCLAJAIAAo.AkAiAygCHCADKAIYIgFGBEBBASEEDAELIABBKGohCCAAQTRqIQkDQAJAIAEgB0ECdGooAgAiBEF/Rg0AIAIgBjYCCCACIAAoAjgiAzYCDCAAKAI8IQEgAiAJ.NgIYIAIgAkEIajYCFCACIAJBDGo2AhAgAAJ/IAEgA0sEQCADIAY2AgAgA0EEagwBCyACQRBqEAkgAigCDAs2AjggAiAENgIEIAJBADYCAAJAAkAgACgCDCAH.QQN2Qfz///8BcWooAgAgB3ZBAXFFDQBBfyEBAkAgBEEBaiIDIARBAmsgA0EDcBsiA0F/Rg0AIAAoAgAgA0EDdkH8////AXFqKAIAIAN2QQFxDQAgACgCQCgC.DCADQQJ0aigCACIDQX9GDQAgA0EBaiIBIANBAmsgAUEDcBshAQsgAiABNgIAIAFBf0YNAANAIAIgASIDNgIEQX8hAQJAIANBAWoiBSADQQJrIAVBA3AbIgVB.f0YNACAAKAIAIAVBA3ZB/P///wFxaigCACAFdkEBcQ0AIAAoAkAoAgwgBUECdGooAgAiBUF/Rg0AIAVBAWoiASAFQQJrIAFBA3AbIQELIAIgATYCACABIARH.BEAgAUF/Rg0DDAELC0EAIQQMBAsgBCEDCyAAKAIcIANBAnRqIAIoAgg2AgAgAiAAKAIsIgE2AgwgACgCMCEEIAIgCDYCGCACIAJBBGo2AhQgAiACQQxqNgIQ.IAZBAWohBiAAAn8gASAESQRAIAEgAzYCACABQQRqDAELIAJBEGoQCSACKAIMCzYCLCAAKAJAIQMgAigCBCIEQX9GDQACQCAEQQNwBEAgBEEBayEBDAELIARB.AmoiAUF/Rg0BCyADKAIMIAFBAnRqKAIAIgFBf0YNACACIAFBf0ECIAFBA3AbaiIBNgIAIAFBf0YNACABIARGDQADQAJAIAAoAgAgAUEBaiIEIAFBAmsgBEED.cBsiBEEDdkH8////AXFqKAIAIAR2QQFxRQRAIAAoAhwgAUECdGogAigCCDYCAAwBCyACIAY2AgggAiAAKAI4IgM2AgwgACgCPCEBIAIgCTYCGCACIAJBCGo2.AhQgAiACQQxqNgIQIAACfyABIANLBEAgAyAGNgIAIANBBGoMAQsgAkEQahAJIAIoAgwLNgI4IAIgACgCLCIDNgIMIAAoAjAhASACIAg2AhggAiACNgIUIAIg.AkEMajYCECAGQQFqIQYgAAJ/IAEgA0sEQCADIAIoAgA2AgAgA0EEagwBCyACQRBqEAkgAigCDAs2AiwgACgCQCEDIAAoAhwgAigCACIBQQJ0aiACKAIINgIA.IAFBf0YNAgsCQCABQQNwBEAgAUEBayEBDAELIAFBAmoiAUF/Rg0CCyADKAIMIAFBAnRqKAIAIgFBf0YNASACIAFBf0ECIAFBA3AbaiIBNgIAIAFBf0YNASAB.IAIoAgRHDQALC0EBIQQgB0EBaiIHIAMoAhwgAygCGCIBa0ECdUkNAAsLIAJBIGokACAEC/QDAQh/IwBBEGsiCCQAAkACQCABBEAgAEIANwJYIAAoAlQhAiAA.QQA2AlQgAgRAIAIQBQsgAEIANwJMIAAoAkghAiAAQQA2AkggAgRAIAIQBQsgASgCACEDIAEoAgQhAiAIQQA6AA8gACACIANrQQJ1IAhBD2oQGiABKAIYIQMg.ASgCHCECIAhBADoADiAAQQxqIAIgA2tBAnUgCEEOahAaIABBHGogASgCBCABKAIAa0ECdUHs6gAQDwJAIAEoAhwgASgCGGsiBSAAKAI8IAAoAjQiBGtNDQAg.BUEASA0CIAAoAjghBiAFEAYiByAFaiEJIAQgBkcEQCAEIQMgByECA0AgAiADKAIANgIAIAJBBGohAiADQQRqIgMgBkcNAAsLIAAgCTYCPCAAIAcgBiAEa2o2.AjggACAHNgI0IARFDQAgBBAFIAEoAhwgASgCGGshBQsCQCAFIAAoAjAgACgCKCIEa00NACAFQQBIDQMgACgCLCEGIAUQBiIHIAVqIQkgBCAGRwRAIAQhAyAH.IQIDQCACIAMoAgA2AgAgAkEEaiECIANBBGoiAyAGRw0ACwsgACAJNgIwIAAgByAGIARrajYCLCAAIAc2AiggBEUNACAEEAULIABBAToAGCAAIAE2AkALIAhB.EGokAA8LEAcACxAHAAuNAgEFfwJAAkAgAUHWqtWqBUkgASACckEATnEiBkUNACAAIAFBA2wiAUGw6gAQDyAAQQxqIAFBtOoAEA8CQCACIAAoAiAgACgCGCID.a0ECdU0NACACQYCAgIAETw0CIAAoAhwhBCACQQJ0IgEQBiIFIAFqIQcgAyAERwRAIAMhASAFIQIDQCACIAEoAgA2AgAgAkEEaiECIAFBBGoiASAERw0ACwsg.ACAHNgIgIAAgBSAEIANrajYCHCAAIAU2AhggA0UNACADEAULIABCADcCUCAAKAJMIQEgAEEANgJMIAEEQCABEAULIABCADcCRCAAKAJAIQEgAEEANgJAIAFF.DQAgARAFCyAGDwsQBwALWAAgAEEANgI4IABCADcCMCAAQgA3AiggAEIANwIgIABCADcCGCAAQgA3AhAgAEIANwIIIABCADcCACAAQgA3AkAgAEIANwJIIABC.ADcCUCAAIAA2AjwgAAsEAEECC08BA38jAEEQayICJAAgAQRAIAAgASgCABCAASABKAIEIQMgASgCGCEEIAIgAUEUajYCDCACQQxqIAQQTyABEAUgACADEIAB.CyACQRBqJAALawICfwF+AkAgAEEFSw0AIAIpAxAiBSACKQMIWQ0AIAIoAgAgBadqLAAAIQMgAiAFQgF8NwMQIAEgA0EASAR/IABBAWogASACEIEBRQ0BIANB./wBxIAEoAgBBB3RyBSADCzYCAEEBIQQLIAQLEAAgACgCBCAAKAIAa0ECdQsHACAAKAJQCwsAIAAEQCAAEAULC8cBAQZ/IwBBEGsiAiQAIAAoAhgiAwRAIAMi.ASAAKAIcIgRHBEADQCAEQQRrIgQoAgAhASAEQQA2AgAgAQRAIAEoAhAhBSACIAFBDGo2AgwgAkEMaiIGIAUQHiABKAIEIQUgAiABNgIMIAYgBRAhIAEQBQsg.AyAERw0ACyAAKAIYIQELIAAgAzYCHCABEAULIAAoAhAhAyACIABBDGo2AgwgAkEMaiIBIAMQHiAAKAIEIQMgAiAANgIMIAEgAxAhIAJBEGokACAACzcAIABB.ADYCKCAAQeDnADYCACAAQgA3AgQgAEIANwIMIABCADcCFCAAQgA3AhwgAEEAOwEkIAALgAEBA38gAEHg5wA2AgAgACgCFCICBEAgACACNgIYIAIQBQsgACgC.CCICBEAgAiIBIAAoAgwiA0cEQANAIANBBGsiAygCACEBIANBADYCACABBEAgASABKAIAKAIEEQIACyACIANHDQALIAAoAgghAQsgACACNgIMIAEQBQsgABAF.C20BAn9BKBAGIgJBfzYCACACQQhqIgNCADcDECADQQA2AgggA0IANwMAIANCADcDGCAAIAIgACgCACgCEBEEACABKAJYIQAgASACNgJYIAAEQCAAKAIIIgEE.QCAAIAE2AgwgARAFCyAAEAULQQELpAEBBH8gACgCACIEKAIAIgMEQCADIgEgBCgCBCICRwRAA0AgAkEMaygCACIBBEAgAkEIayABNgIAIAEQBQsgAkEcaygC.ACIBBEAgAkEYayABNgIAIAEQBQsgAkEoaygCACIBBEAgAkEkayABNgIAIAEQBQsgAkGMAWsQTiACQZABayIBIQIgASADRw0ACyAAKAIAKAIAIQELIAQgAzYC.BCABEAULCwcAIAAoAggLbAEDfyMAQSBrIgIkACACIAAoAgQiAzYCDCAAKAIIIQQgAiAANgIYIAIgATYCFCACIAJBDGo2AhAgAAJ/IAMgBEkEQCADIAEoAgA2.AgAgA0EEagwBCyACQRBqEAkgAigCDAs2AgQgAkEgaiQAC+4IAgd/An0gAigCACEIIAACfwJAIAEoAgAiBigCBCIBRQ0AIAYoAgACfyABQQFrIAhxIAFpIgVB.AU0NABogCCABIAhLDQAaIAggAXALIgRBAnRqKAIAIgJFDQAgAigCACICRQ0AIAVBAU0EQCABQQFrIQUDQAJAIAggAigCBCIHRwRAIAUgB3EgBEcNBAwBCyAC.KAIIIAhHDQBBAAwECyACKAIAIgINAAsMAQsDQAJAIAggAigCBCIFRwRAIAEgBU0EfyAFIAFwBSAFCyAERw0DDAELIAIoAgggCEcNAEEADAMLIAIoAgAiAg0A.CwtBEBAGIgIgCDYCBCACQQA2AgAgAygCACgCACEDIAJBADYCDCACIAM2AggCQCAGKAIMQQFqsyILIAYqAhAiDCABs5ReRQ0AQQIhBAJAIAEgAUEBa3FBAEcg.AUEDSXIgAUEBdHIiAyALIAyVjfwBIgUgAyAFSxsiA0EBRg0AIAMgA0EBa3FFBEAgAyEEDAELIAMQtwEhBCAGKAIEIQELAkAgASAETwRAIAEgBE0NASAGKAIM.syAGKgIQlY38ASEDIAEgBAJ/AkAgAUEDSQ0AIAFpQQFLDQAgA0EBQSAgA0EBa2drdCADQQJJGwwBCyADELcBCyIDIAMgBEkbIgRNDQELAkACQAJAIAQiBwR/.IARBgICAgARPDQEgBEECdBAGBUEACyEDIAYoAgAhASAGIAM2AgAgAQRAIAEQBQsgBiAHNgIEIAdFDQIgBigCACEJIAdBAnQiAQRAIAlBACAB/AsACyAGKAII.IgFFDQIgBkEIaiEDIAEoAgQhBSAHIAdBAWsiBHFFDQEgBSAHTwRAIAUgB3AhBQsgCSAFQQJ0aiADNgIAA0AgASgCACIERQ0DIAcgBCgCBCIDTQRAIAMgB3Ah.AwsgAyAFRgRAIAQhAQwBCyAJIANBAnRqIgooAgAEQCABIAQoAgA2AgAgBCAKKAIAKAIANgIAIAooAgAgBDYCAAUgCiABNgIAIAQhASADIQULDAALAAsQDgAL.IAkgBCAFcSIFQQJ0aiADNgIAIAEoAgAiA0UNACAHQQFrIQoDQAJAIAUgAygCBCAKcSIERgRAIAMhAQwBCyAJIARBAnRqIgcoAgAEQCABIAMoAgA2AgAgAyAH.KAIAKAIANgIAIAcoAgAgAzYCAAwBCyAHIAE2AgAgAyEBIAQhBQsgASgCACIDDQALCwsgBigCBCIBIAFBAWsiA3FFBEAgAyAIcSEEDAELIAEgCEsEQCAIIQQM.AQsgCCABcCEECwJAIAYoAgAiBSAEQQJ0aiIEKAIAIgNFBEAgAiAGKAIINgIAIAYgAjYCCCAEIAZBCGo2AgAgAigCACIDRQ0BIAMoAgQhAwJAIAEgAUEBayIE.cUUEQCADIARxIQMMAQsgASADSw0AIAMgAXAhAwsgBSADQQJ0aiACNgIADAELIAIgAygCADYCACADIAI2AgALIAYgBigCDEEBajYCDEEBCzoABCAAIAI2AgAL.vhACEH8BfiMAQTBrIgMkACAAKAIIIgIoAgAhBCACKAIEIQIgACgCBCgCLCEHIANBADYCKCADQgA3AyACQAJAAkAgAiAEa0ECdUEDbiICIAcoAmQiCCAHKAJg.IgRrIgtBDG0iBUsEQCAHKAJoIARrQQxtIgYgAk8EQCAIIAIgBWtBDGxqIQIDQCAIIAMoAiA2AgAgCCADKAIkNgIEIAggAygCKDYCCCAIQQxqIgggAkcNAAsg.ByACNgJkDAQLIAJB1qrVqgFPDQFB1arVqgEgBkEBdCIMIAIgAiAMSRsgBkGq1arVAE8bIgxB1qrVqgFPDQIgDEEMbBAGIg8gC2oiBiACIAVrQQxsaiENIAMo.AighBSADKAIkIRAgAygCICERIAYhAgNAIAIgBTYCCCACIBA2AgQgAiARNgIAIAJBDGoiAiANRw0ACyAGIAtBdG1BDGxqIQYgBCAIRwRAIAQhAiAGIQUDQCAF.IAIoAgA2AgAgBSACKAIENgIEIAUgAigCCDYCCCAFQQxqIQUgAkEMaiICIAhHDQALCyAHIA8gDEEMbGo2AmggByANNgJkIAcgBjYCYCAERQ0DIAQQBQwDCyAC.IAVPDQIgByAEIAJBDGxqNgJkDAILEAcACxAOAAsCQCAAKALYASAAKALcAUYEQCAAKAIEIgcoAiwiAigCZCIEIAIoAmAiCUcEQEEBIAQgCWtBDG0iAiACQQFN.GyEIIAAoAggoAgAhDkEAIQIDQCAOIAJBA2wiBkECdGohBSAJIAJBDGxqIgoCfwJAIAJB1arVqgVGBEAgBSgCBCEEQX8hBUEBIQYMAQtBfyEEIAUoAgAhBSAG.QQFqIgtBf0YEQEEAIQYMAQsgACgCCCgCACALQQJ0aigCACEEQX8gBkECaiIGQX9GDQEaCyAAKAIIKAIAIAZBAnRqKAIACzYCCCAKIAQ2AgQgCiAFNgIAIAJB.AWoiAiAIRw0ACwsgBygCBCABNgJQQQEhAgwBCyADQQA2AhggA0IANwIQAn8CQAJAAkAgACgCCCIBKAIEIgIgASgCACIERg0AIAIgBGsiAkEASA0BIAIQBiEK.IAJFDQAgCkEAIAL8CwALIAEoAhwgASgCGCICa0EESA0BA0ACQCACIA5BAnRqKAIAIgRBf0YNAAJAIAAoAnggDkEDdkH8////AXFqKAIAIA52QQFxDQAgACgC.3AEiAiAAKALYASIHRg0AQQEgAiAHa0GQAW0iAiACQQFNGyEIQQAhBSAEQQNwIgJBAEcgBEECaiIGQX9HciELIARBAWsgBiACG0ECdCEMA0ACQCAHIAVBkAFs.aiICKAIQIARBAnQiBiACKAJEKAIAaigCACINQQN2Qfz///8BcWooAgAgDXZBAXFFDQAgAigCICINIAZqKAIAIQ8gBAJ/QX8gC0UNABpBfyABKAIMIAxqKAIA.IgJBf0YNABogAkEBayACQQNwDQAaIAJBAmoLIgJGDQADQEEAIAJBf0YNCBogDyANIAJBAnRqKAIARwRAIAIhBAwECyAEAn8CQCACQQNwBEAgAkEBayEGDAEL.QX8gAkECaiIGQX9GDQEaC0F/IAEoAgwgBkECdGooAgAiAkF/Rg0AGiACQQFrIAJBA3ANABogAkECagsiAkcNAAsLIAVBAWoiBSAIRw0ACwsgCiAEQQJ0aiAJ.IAMoAhBrQQJ1NgIAIAMgBDYCDCADIAk2AhwgAygCGCEBIAMgA0EQajYCKCADIANBDGo2AiQgAyADQRxqNgIgIAMCfyABIAlLBEAgCSAENgIAIAlBBGoMAQsg.A0EgahAcIAMoAhwLIgk2AhQgACgCCCEBAkAgBEEDcARAIARBAWshAgwBCyAEQQJqIgJBf0YNAQsgASgCDCACQQJ0aigCACICQX9GDQAgAkF/QQIgAkEDcBtq.IgJBf0YNACAEIQYgAiAERg0AA0AgAiEFAkACQCAAKALcASICIAAoAtgBIgdGDQBBASACIAdrQZABbSICIAJBAU0bIQhBACECA0AgByACQZABbGooAiAiCyAF.QQJ0IgxqKAIAIAsgBkECdGooAgBGBEAgCCACQQFqIgJHDQEMAgsLIAogDGogCSADKAIQa0ECdTYCACADIAU2AgwgAyAJNgIcIAMoAhghASADIANBEGo2Aigg.AyADQQxqNgIkIAMgA0EcajYCICADAn8gASAJSwRAIAkgBTYCACAJQQRqDAELIANBIGoQHCADKAIcCyIJNgIUIAAoAgghAQwBCyAKIAVBAnRqIAogBkECdGoo.AgA2AgALAkAgBUEDcARAIAVBAWshAgwBCyAFQQJqIgJBf0YNAgsgASgCDCACQQJ0aigCACICQX9GDQEgAkF/QQIgAkEDcBtqIgJBf0YNASAFIQYgAiAERw0A.CwsgDkEBaiIOIAEoAhwgASgCGCICa0ECdUgNAAsMAQsQBwALAkAgACgCBCIGKAIsIgAoAmQiASAAKAJgIgBGDQBBACECIAEgAGtBDG0iAUECTwRAIAFBAXEg.AUF+cSEBQQAhBANAIAogAkEMbCIHaiIIKQIAIRIgACAHaiIHIAgoAgg2AgggByASNwIAIAogAkEBckEMbCIHaiIIKQIAIRIgACAHaiIHIAgoAgg2AgggByAS.NwIAIAJBAmohAiAEQQJqIgQgAUcNAAtFDQELIAogAkEMbCIBaiICKQIAIRIgACABaiIAIAIoAgg2AgggACASNwIACyAGKAIEIAkgAygCEGtBAnU2AlBBAQsh.AiAKBEAgChAFCyADKAIQIgBFDQAgAyAANgIUIAAQBQsgA0EwaiQAIAILVQAgAC0ATEEBRgRAIABBADoATCAAIAApAzggADUCSEIHfEIDiHw3AzgLIAAvASZB.gQRNBEAgAEEAOgCEASAAIAApA3AgADUCgAFCB3xCA4h8NwNwCwuZBgEMfyMAQRBrIgokACAKIAEoAgAiCDYCBEF/IQECQCAIQX9GBEAgCkF/NgIIDAELIAog.CEEBaiIBIAhBAmsgAUEDcBs2AgggCEEDcARAIAhBAWshAQwBCyAIQQJqIQELIAogATYCDCAIQQNuIQ0CQAJAA0ACQAJAIApBBGogDEECdGooAgAiC0F/RwRA.IAAoAggoAgwgC0ECdGooAgAiAUF/Rw0BC0EAIQEgACgC2AEiAiAAKALcAUYNAQNAAkAgAiABQZABbGoiBCgCiAEiAiAEKAKMASIDSQRAIAIgCzYCACACQQRq.IQMMAQsgAiAEKAKEASIGayIJQQJ1IgdBAWoiBUGAgICABE8NBUH/////AyADIAZrIgJBAXUiAyAFIAMgBUsbIAJB/P///wdPGyIDQYCAgIAETw0GIANBAnQi.AhAGIgMgCWoiBSALNgIAIAUgB0ECdGshByAJBEAgByAGIAn8CgAACyAEIAIgA2o2AowBIAQgBUEEaiIDNgKIASAEIAc2AoQBIAZFDQAgBhAFCyAEIAM2AogB.IAFBAWoiASAAKALcASAAKALYASICa0GQAW1JDQALDAELIAhBf0YNACABQQNuIA1JDQBBACEBIAAoAtwBIAAoAtgBRg0AA0AgACgC8AIgAUEEdGoQECAAKALY.ASECBEACQCACIAFBkAFsaiIEKAKIASICIAQoAowBIgNJBEAgAiALNgIAIAJBBGohAwwBCyACIAQoAoQBIgZrIglBAnUiB0EBaiIFQYCAgIAETw0FQf////8D.IAMgBmsiAkEBdSIDIAUgAyAFSxsgAkH8////B08bIgNBgICAgARPDQYgA0ECdCICEAYiAyAJaiIFIAs2AgAgBSAHQQJ0ayEHIAkEQCAHIAYgCfwKAAALIAQg.AiADajYCjAEgBCAFQQRqIgM2AogBIAQgBzYChAEgBkUNACAGEAULIAQgAzYCiAEgACgC2AEhAgsgAUEBaiIBIAAoAtwBIAJrQZABbUkNAAsLIAxBAWoiDEED.Rw0ACyAKQRBqJABBAQ8LEAcACxAOAAuPBgEKfyMAQRBrIgkkACAJIAEoAgAiAjYCBEF/IQMCQCACQX9GBEAgCUF/NgIIDAELIAkgAkEBaiIBIAJBAmsgAUED.cBs2AgggAkEDcARAIAJBAWshAwwBCyACQQJqIQMLIAkgAzYCDAJAAkADQAJAAkAgCUEEaiALQQJ0aigCACIKQX9GBEAgACgC2AEhAyAAKALcASECDAELIAAo.AtgBIQMgACgC3AEhAiAAKAIIKAIMIApBAnRqKAIAQX9GDQBBACEBIAIgA0YNAQNAIAAoAvACIAFBBHRqEBAgACgC2AEhAwRAAkAgAyABQZABbGoiBCgCiAEi.AyAEKAKMASICSQRAIAMgCjYCACADQQRqIQIMAQsgAyAEKAKEASIGayIIQQJ1IgdBAWoiBUGAgICABE8NBkH/////AyACIAZrIgNBAXUiAiAFIAIgBUsbIANB./P///wdPGyICQYCAgIAETw0HIAJBAnQiAxAGIgIgCGoiBSAKNgIAIAUgB0ECdGshByAIBEAgByAGIAj8CgAACyAEIAIgA2o2AowBIAQgBUEEaiICNgKIASAE.IAc2AoQBIAZFDQAgBhAFCyAEIAI2AogBIAAoAtgBIQMLIAFBAWoiASAAKALcASADa0GQAW1JDQALDAELQQAhASACIANGDQADQAJAIAMgAUGQAWxqIgQoAogB.IgMgBCgCjAEiAkkEQCADIAo2AgAgA0EEaiECDAELIAMgBCgChAEiBmsiCEECdSIHQQFqIgVBgICAgARPDQRB/////wMgAiAGayIDQQF1IgIgBSACIAVLGyAD.Qfz///8HTxsiAkGAgICABE8NBSACQQJ0IgMQBiICIAhqIgUgCjYCACAFIAdBAnRrIQcgCARAIAcgBiAI/AoAAAsgBCACIANqNgKMASAEIAVBBGoiAjYCiAEg.BCAHNgKEASAGRQ0AIAYQBQsgBCACNgKIASABQQFqIgEgACgC3AEgACgC2AEiA2tBkAFtSQ0ACwsgC0EBaiILQQNHDQALIAlBEGokAEEBDwsQBwALEA4AC5QL.AQZ/IwBBEGsiBCQAAkACQAJAIAAoAgQiAiAAKAIAIgVrIgdBkAFtIgMgAUkEQCAAKAIIIAVrQZABbSIFIAFPBEAgAiABIANrQZABbGohAQNAIAIQ5gEgAkGQ.AWoiAiABRw0ACyAAIAE2AgQMAgsgAUHyuJwOTw0CQfG4nA4gBUEBdCICIAEgASACSRsgBUG4nI4HTxsiAkHyuJwOTw0DIAQgAkGQAWwiBRAGIgI2AgAgBCAC.IAVqNgIMIAQgAiAHaiICNgIEIAIgASADa0GQAWxqIQEDQCACEOYBIAJBkAFqIgIgAUcNAAsgBCABNgIIIAQoAgQgACIDKAIEIgcgACgCACIAa0Hwfm1BkAFs.aiEFIAAgB0cEQCAAIQIgBSEBA0AgASACKAIANgIAIAEgAigCBDYCBCABIAIoAgg2AgggASACKAIMNgIMIAJBADYCDCACQgA3AgQgASACKAIQNgIQIAEgAigC.FDYCFCABIAIoAhg2AhggAkEANgIYIAJCADcCECACLQAcIQYgAUEANgIoIAFCADcCICABIAY6ABwgASACKAIgNgIgIAEgAigCJDYCJCABIAIoAig2AiggAkEA.NgIoIAJCADcCICABQQA2AjQgAUIANwIsIAEgAigCLDYCLCABIAIoAjA2AjAgASACKAI0NgI0IAJBADYCNCACQgA3AiwgAUEANgJAIAFCADcCOCABIAIoAjg2.AjggASACKAI8NgI8IAEgAigCQDYCQCACQQA2AkAgAkIANwI4IAEgAigCRDYCRCACKAJIIQYgAUEANgJUIAFCADcCTCABIAY2AkggASACKAJMNgJMIAEgAigC.UDYCUCABIAIoAlQ2AlQgAkEANgJUIAJCADcCTCABQQA2AmAgAUIANwJYIAEgAigCWDYCWCABIAIoAlw2AlwgASACKAJgNgJgIAJBADYCYCACQgA3AlggAi0A.ZCEGIAFBADYCcCABQgA3AmggASAGOgBkIAEgAigCaDYCaCABIAIoAmw2AmwgASACKAJwNgJwIAJBADYCcCACQgA3AmggAUEANgJ8IAFCADcCdCABIAIoAnQ2.AnQgASACKAJ4NgJ4IAEgAigCfDYCfCACQQA2AnwgAkIANwJ0IAIoAoABIQYgAUEANgKMASABQgA3AoQBIAEgBjYCgAEgASACKAKEATYChAEgASACKAKIATYC.iAEgASACKAKMATYCjAEgAkEANgKMASACQgA3AoQBIAFBkAFqIQEgAkGQAWoiAiAHRw0ACwNAIAAoAoQBIgEEQCAAIAE2AogBIAEQBQsgACgCdCIBBEAgACAB.NgJ4IAEQBQsgACgCaCIBBEAgACABNgJsIAEQBQsgAEEEahBOIABBkAFqIgAgB0cNAAsgAygCACEACyADKAIIIQEgBCgCCCECIAMgBCgCDDYCCCADIAI2AgQg.AyAFNgIAIAQgATYCDCAEIAA2AgggBCAANgIEIAQgADYCAAJAIAQoAgQiAyAEKAIIIgJGBEAgAiEBDAELA0AgAkEMaygCACIABEAgAkEIayAANgIAIAAQBQsg.AkEcaygCACIABEAgAkEYayAANgIAIAAQBQsgAkEoaygCACIABEAgAkEkayAANgIAIAAQBQsgAkGMAWsQTiACQZABayIBIQIgASADRw0ACwsgBCABNgIIIAQo.AgAiAEUNASAAEAUMAQsgASADTw0AIAIgBSABQZABbGoiAUcEQANAIAJBDGsoAgAiAwRAIAJBCGsgAzYCACADEAULIAJBHGsoAgAiAwRAIAJBGGsgAzYCACAD.EAULIAJBKGsoAgAiAwRAIAJBJGsgAzYCACADEAULIAJBjAFrEE4gAkGQAWsiAiABRw0ACwsgACABNgIECyAEQRBqJAAPCxAHAAsQDgALhgEBA38gACgCACID.IAAoAgQiAUcEQANAIAFBDGsoAgAiAgRAIAFBCGsgAjYCACACEAULIAFBHGsoAgAiAgRAIAFBGGsgAjYCACACEAULIAFBKGsoAgAiAgRAIAFBJGsgAjYCACAC.EAULIAFBjAFrEE4gAUGQAWsiASADRw0ACwsgACADNgIEC/0TAgp/A34jAEHgAGsiCCQAAkAgACgCBCIEKAIgIgIpAwgiDiACKQMQIg1XDQAgAigCACIFIA2n.aiwAACEDIAIgDUIBfCIMNwMQIAwgDlkNACAFIAynai0AACEHIAIgDUICfCIMNwMQAkAgA0EATgRAIAAoAtwBIAAoAtgBIgZrQZABbSADTQ0CIAYgA0GQAWxq.IgYoAgBBAE4NAiAGIAE2AgAMAQsgACgC1AFBAE4NASAAIAE2AtQBCwJAAn8CQAJAAkACQCAELwEkIgZBCHQgBkEIdnJB//8DcUGCAk8EQCAMIA5ZDQcgBSAM.p2otAAAhBSACIA1CA3w3AxAgBUEBSw0HIAdFDQEgBQ0HIANBAE4NAwwHCyAHDQFBACEFCyADQQBIBH8gAEG4AWoFIAAoAtgBIANBkAFsaiICQQA6AGQgAkHo.AGoLIQQgBUEBRw0CIwBB8ABrIgIkACAAKAIEKAIsIQdB+AAQBiIFQgA3AgwgBUGM3wA2AgAgBUEANgIEIAVCADcCFCAFQgA3AhwgBUIANwIkIAVCADcCLCAF.QQA2AjQgBUIANwI4IAVB4OAANgIIIAVCADcCQCAFQgA3AkggBUIANwJQIAVBADYCWCAFQQA2AnQgBSAENgJwIAUgBzYCbCAFQQA2AmggBUIANwJgIAAoAggh.AyACQgA3AjAgAkIANwIoIAJCADcCICACQgA3AhggAkIANwIQIAJCADcCOCACQeDgADYCCCACQgA3AkAgAkIANwJIIAJCADcCUCACQQA2AlggAkEANgJoIAJC.ADcCYCACIAM2AgwgAygCACEGIAMoAgQhCSACQQA6AG8gAkEgaiAJIAZrQQJ1QQNuIAJB7wBqIgYQGiACKAIMIgkoAhghCiAJKAIcIQkgAkEAOgBvIAJBLGog.CSAKa0ECdSAGEBogAiAFNgIcIAIgBzYCGCACIAQ2AhQgAiADNgIQIAVBCGoiAyACQQhqIgQoAhQ2AhQgAyAEKQIMNwIMIAMgBCkCBDcCBCADQRhqIARBGGoQ.aCADQSRqIARBJGoQaAJAIAMgBEYEQCADIAQoAlQ2AlQMAQsgA0EwaiAEKAIwIgcgBCgCNCIGIAYgB2tBAnUQQCADQTxqIAQoAjwiByAEKAJAIgYgBiAHa0EC.dRBAIANByABqIAQoAkgiByAEKAJMIgYgBiAHa0ECdRBAIAMgBCgCVDYCVCAEKAJcIgchCQJAIAcgBCgCWCIHa0ECdSIGIAMoAmAiCiADKAJYIgRrQQJ1TQRA.IAYgAygCXCAEayIKQQJ1SwRAIAoEQCAEIAcgCvwKAAALIAMoAlwhBCAJIAcgCmoiBmsiBwRAIAQgBiAH/AoAAAsgAyAEIAdqNgJcDAILIAkgB2siBgRAIAQg.ByAG/AoAAAsgAyAEIAZqNgJcDAELIAQEQCADIAQ2AlwgBBAFIANBADYCYCADQgA3AlhBACEKCwJAIAZBgICAgARPDQBB/////wMgCkEBdSIEIAYgBCAGSxsg.CkH8////B08bIgRBgICAgARPDQAgAyAEQQJ0IgYQBiIENgJcIAMgBDYCWCADIAQgBmo2AmAgCSAHayIGBEAgBCAHIAb8CgAACyADIAQgBmo2AlwMAQsQBwAL.CyACQeDgADYCCCACKAJgIgMEQCACIAM2AmQgAxAFCyACKAJQIgMEQCACIAM2AlQgAxAFCyACKAJEIgMEQCACIAM2AkggAxAFCyACKAI4IgMEQCACIAM2Ajwg.AxAFCyACQdDiADYCCCACKAIsIgMEQCADEAULIAIoAiAiAwRAIAMQBQsgAkHwAGokACAFDAMLIANBAEgNBAsgACgC2AEhByAEKAIsIQVB0AAQBiICQgA3Agwg.AkGI5QA2AgAgAkEANgIEIAJCADcCFCACQgA3AhwgAkIANwIkIAJCADcCLCACQQA2AjQgAkEANgJMIAIgBTYCRCACQQA2AkAgAkIANwI4IAJB3NwANgIIIAIg.ByADQZABbGoiA0HoAGoiBDYCSCAIIAQ2AhggCCADQQRqIgQ2AhQgCCACNgIgIAggBTYCHCAIQgA3AkggCEIANwJAIAhCADcCOCAIQgA3AjAgCEIANwIoIAhC.ADcCWCAIQgA3AlAgCEHc3AA2AiQgCCAIKQIUNwMAIAggCCkCHDcDCCAIQSRqIgMgBCAIEOsBIAIgAygCFDYCHCACIAMpAgw3AhQgAiADKQIENwIMIAJBIGog.A0EYahBoIAJBLGogA0EkahBoIAMgAkEIakcEQCACQThqIAMoAjAiBSADKAI0IgQgBCAFa0ECdRBACyADEOoBGgwCCwJ/IwBBQGoiAiQAIAAoAgQoAiwhB0HQ.ABAGIgNCADcCDCADQeTiADYCACADQQA2AgQgA0IANwIUIANCADcCHCADQgA3AiQgA0IANwIsIANBADYCNCADQQA2AkwgAyAENgJIIAMgBzYCRCADQQA2AkAg.A0IANwI4IANBiOQANgIIIAAoAgghBSACQgA3AiggAkIANwIgIAJCADcCGCACQgA3AhAgAkIANwIIIAJBADYCOCACQgA3AjAgAkGI5AA2AgAgAiAFNgIEIAUo.AgAhBiAFKAIEIQkgAkEAOgA/IAJBGGogCSAGa0ECdUEDbiACQT9qIgYQGiACKAIEIgkoAhghCiAJKAIcIQkgAkEAOgA/IAJBJGogCSAKa0ECdSAGEBogAiAH.NgIQIAIgBDYCDCACIAU2AgggAiADNgIUIAMgAikCDDcCFCADIAIpAgQ3AgwgAyADNgIcAkACQCACKAIcIgVFDQAgBUEASA0BIAVBAWsiB0EFdkEBaiIGQQJ0.EAYhBCADIAY2AiggA0EANgIkIAMgBDYCICAHQQN2Qfz///8BcUEEaiIHRQ0AIAQgAigCGCAH/AoAAAsgAyAFNgIkAkAgAigCKCIFRQ0AIAVBAEgNASAFQQFr.IgdBBXZBAWoiBkECdBAGIQQgAyAGNgI0IANBADYCMCADIAQ2AiwgB0EDdkH8////AXFBBGoiB0UNACAEIAIoAiQgB/wKAAALIAMgBTYCMCADQThqIAIoAjAi.BSACKAI0IgQgBCAFa0ECdRBAIAJBiOQANgIAIAIoAjAiBQRAIAIgBTYCNCAFEAULIAJB0OIANgIAIAIoAiQiBQRAIAUQBQsgAigCGCIFBEAgBRAFCyACQUBr.JAAgAwwBCxAHAAsLIgJFDQELQcAAEAYgAhCcASECIAAoAgQhAyACIQACQAJAIAFBAE4EQCADKAIMIAMoAggiAmtBAnUgAUwEfyADQQhqIAFBAWoQUiADKAII.BSACCyABQQJ0aiIDKAIAIQIgAyAANgIAIAINAQwCCyAARQ0BCyACIAIoAgAoAgQRAgALIAFBf3NBH3YhCwsgCEHgAGokACALC9ABAQR/IAAoAtgBIgIgACgC.3AFHBEADQAJAIAIgBEGQAWxqKAIAIgJBAEgNACACIAAoAgQiAygCDCADKAIIIgVrQQJ1Tg0AQQAhAyAFIAJBAnRqKAIAIgIgAigCACgCGBEAAEEATA0AA0Ag.AiADIAIoAgAoAhQRAQAgAUcEQCACIAIoAgAoAhgRAAAgA0EBaiIDSg0BDAILCyAAKALYASAEQZABbGpB6ABqDwsgBEEBaiIEIAAoAtwBIAAoAtgBIgJrQZAB.bUkNAAsLIABBuAFqC9UBAQR/IAAoAtgBIgIgACgC3AFHBEADQAJAIAIgBEGQAWxqKAIAIgJBAEgNACACIAAoAgQiAygCDCADKAIIIgVrQQJ1Tg0AQQAhAyAF.IAJBAnRqKAIAIgIgAigCACgCGBEAAEEATA0AA0AgAiADIAIoAgAoAhQRAQAgAUcEQCACIAIoAgAoAhgRAAAgA0EBaiIDSg0BDAILCyAAKALYASAEQZABbGoi.AEEEakEAIAAtAGQbDwsgBEEBaiIEIAAoAtwBIAAoAtgBIgJrQZABbUkNAAsLQQALCwAgACABNgIEQQELpEMCF38DfiAARQRAQQEPCwJAIAIpAxAiGyACKQMI.WQ0AIAIoAgAgG6dqLQAAIQsgAiAbQgF8NwMQAkACQCALDgIAAQILIAAhBiABIQUgAyEIQQAhACMAQUBqIgkkACAJQQA2AjggCUIANwMwIAlCADcDKCAJQgA3.AyAgCUIANwMYIAlCADcDECAJQgA3AwgCQCAJQQhqIgEgAiINEPABRQ0AIAEgAhDvAUUNACAGBEAgCSgCFEUNAQsgDUEAQQAQQRogBgRAIAVBAnQhESAJKAIk.IRQgCSgCGCEVIAkoAjAhFiAJKAI4IQIgCSgCNCELIAVBAEwhFwNAAkAgAkH//wBLBEAgAiEBDAELIAIhASALIgBBAEwNAANAIAkgAEEBayILNgI0IAkgCyAW.ai0AACACQQh0ciIBNgI4IAJBwABPDQEgAEECSCABIQIgCyEARQ0ACwsgCSAUIBUgAUH/H3EiAEECdGooAgAiCkEDdGoiAigCACABQQx2bCAAaiACKAIEayIC.NgI4AkAgFw0AQQAhACAKQSBLDQMgDS0AJEEBcUUNAyAKRQRAIBEEQCAIIARBAnRqQQAgEfwLAAsgBCAFaiEEDAELIApBPnEhGCAKQQFxIRkgBCAFaiEOIA0o.AiAhAyANKAIcIQwgDSgCGCEQA0AgAyEAQQAhAUEAIRNBACEHQQAhDwJAIApBAUcEQANAAkAgDCAQIABBA3ZqIgdNBEBBACEHDAELIActAAAgDSAAQQFqIgM2.AiAgAEEHcXZBAXEhByADIQALIAcgAXQgD3IhB0EAIQ8gDCAQIABBA3ZqIhJLBEAgEi0AACANIABBAWoiAzYCICAAQQdxdkEBcSEPIAMhAAsgAUEBciESIAFB.AmohASAPIBJ0IAdyIQ8gE0ECaiITIBhHDQALIAEhByAZRQ0BCyAMIBAgAEEDdmoiAUsEfyABLQAAIA0gAEEBaiIDNgIgIABBB3F2QQFxBUEACyAHdCAPciEP.CyAIIARBAnRqIA82AgAgBEEBaiIEIA5HDQALIA4hBAsgBSAaaiIaIAZJDQALCyANQQA6ACQgDSANKQMQIA01AiBCB3xCA4h8NwMQQQEhAAsgCSgCJCIBBEAg.CSABNgIoIAEQBQsgCSgCGCIBBEAgCSABNgIcIAEQBQsgCSgCCCIBBEAgCSABNgIMIAEQBQsgCUFAayQAIAAPCwJ/QQAhAQJAAkACQCACKQMQIhsgAikDCFkN.ACACKAIAIBunai0AACELIAIgG0IBfDcDEAJAAkACQAJAAkACQCALQQFrDhIHBwcHBwcHBwABAgMECAgICAUGCyAAIQsgAyENQQAhAyMAQUBqIgQkACAEQQA2.AjggBEIANwMwIARCADcDKCAEQgA3AyAgBEIANwMYIARCADcDECAEQgA3AwgCQAJ/IARBCGohBwJAIAIvASYiAEUNAAJAIABB/wNNBEAgAikDCCACKQMQIhtC.BHxTDQIgByACKAIAIBunaigAACIGNgIMIAIgAikDEEIEfCIbNwMQDAELQQEgB0EMaiACEC5FDQEgAikDECEbIAcoAgwhBgsgBkEGdq0gAikDCCAbfVUNACAH.IAYQDEEBIAcoAgwiCEUNARogAikDECEbIAIpAwghHEEAIQADQCAbIBxZDQEgAigCACIJIBunai0AACEFIAIgG0IBfCIbNwMQIAVBAnYhAQJAAkACQAJAIAVB.A3EiCg4EAgEBAAELIAAgAWoiASAITw0EIAcoAgAhCSAFQfwBcUEEaiIFRQRAIAEhAAwDCyAJIABBAnRqQQAgBfwLACABIQAMAgsgGyAcIBsgHFUbIR1BACEG.A0BBACAbIB1RDQUaIAkgG6dqLQAAIAIgG0IBfCIbNwMQIAZBA3RBBnJ0IAFyIQEgBkEBaiIGIApHDQALCyAHKAIAIgkgAEECdGogATYCAAsgAEEBaiIAIAco.AgwiCEkNAAsgB0EQakGAwAAQDCAHQRxqIAgQMyAIRQ0AIAcoAhwhEEEAIQVBACEAA0AgCSAFQQJ0aiIGKAIAIQogECAFQQN0aiIMIAAiATYCBCAMIAo2AgAg.BigCACIKIABqIgBBgMAASw0BAkAgACABTQ0AIAcoAhAhDEEAIQYgCkEHcSIRBEADQCAMIAFBAnRqIAU2AgAgAUEBaiEBIAZBAWoiBiARRw0ACwsgCkEBa0EG.TQ0AA0AgDCABQQJ0aiIGIAU2AhwgBiAFNgIYIAYgBTYCFCAGIAU2AhAgBiAFNgIMIAYgBTYCCCAGIAU2AgQgBiAFNgIAIAFBCGoiASAARw0ACwsgBUEBaiIF.IAhHDQALIABBgMAARiEPCyAPC0UNACALBEAgBCgCFEUNAQtBACEHIwBBEGsiBSQAAkACQCACLwEmQf8DTQRAIAIpAwgiHSACKQMQIhxCCHwiG1MNAiACKAIA.IBynaikAACEcIAIgGzcDEAwBC0EBIAVBCGogAhAtRQ0BIAIpAxAhGyACKQMIIR0gBSkDCCEcCyAcIB0gG31WDQAgAiAbIBx8NwMQIBynIgBBAEwNACAEIAIo.AgAgG6dqIgE2AjAgBAJ/AkACQAJAAkAgASAAQQFrIgJqIgYtAABBBnZBAWsOAwECAwALIAQgAjYCNCAGLQAAQT9xDAMLIABBAUYNAyAEIABBAmsiADYCNCAA.IAFqLwAAQf//AHEMAgsgAEEDSQ0CIAQgAEEDazYCNCAAIAFqIgBBAmsvAABBCHRBgP7/AXEgAEEDay0AAHIMAQsgAEEESQ0BIAQgAEEEayIANgI0IAAgAWoo.AABB/////wNxCyIAQYCAAmo2AjggAEGAgP4DSSEHCyAFQRBqJAAgB0UNACAEKAI0IQEgBCgCOCECIAQoAiQhBSAEKAIYIQcgBCgCMCEGA0ACQCACQf//AUsE.QCACIQAMAQsgAiEAIAEiA0EATA0AA0AgBCADQQFrIgE2AjQgBCABIAZqLQAAIAJBCHRyIgA2AjggAkGAAU8NASADQQJIIAAhAiABIQNFDQALCyAEIAUgByAA.Qf8/cSICQQJ0aigCACIDQQN0aiIIKAIAIABBDXZsIAJqIAgoAgRrIgI2AjggDSAOQQJ0aiADNgIAQQEhAyAOQQFqIg4gC0cNAAsLIAQoAiQiAARAIAQgADYC.KCAAEAULIAQoAhgiAARAIAQgADYCHCAAEAULIAQoAggiAARAIAQgADYCDCAAEAULIARBQGskACADDAgLIAAhCyADIQ1BACEDIwBBQGoiBCQAIARBADYCOCAE.QgA3AzAgBEIANwMoIARCADcDICAEQgA3AxggBEIANwMQIARCADcDCAJAAn8gBEEIaiEHAkAgAi8BJiIARQ0AAkAgAEH/A00EQCACKQMIIAIpAxAiG0IEfFMN.AiAHIAIoAgAgG6dqKAAAIgY2AgwgAiACKQMQQgR8Ihs3AxAMAQtBASAHQQxqIAIQLkUNASACKQMQIRsgBygCDCEGCyAGQQZ2rSACKQMIIBt9VQ0AIAcgBhAM.QQEgBygCDCIIRQ0BGiACKQMQIRsgAikDCCEcQQAhAANAIBsgHFkNASACKAIAIgkgG6dqLQAAIQUgAiAbQgF8Ihs3AxAgBUECdiEBAkACQAJAAkAgBUEDcSIK.DgQCAQEAAQsgACABaiIBIAhPDQQgBygCACEJIAVB/AFxQQRqIgVFBEAgASEADAMLIAkgAEECdGpBACAF/AsAIAEhAAwCCyAbIBwgGyAcVRshHUEAIQYDQEEA.IBsgHVENBRogCSAbp2otAAAgAiAbQgF8Ihs3AxAgBkEDdEEGcnQgAXIhASAGQQFqIgYgCkcNAAsLIAcoAgAiCSAAQQJ0aiABNgIACyAAQQFqIgAgBygCDCII.SQ0ACyAHQRBqQYCAAhAMIAdBHGogCBAzIAhFDQAgBygCHCEQQQAhBUEAIQADQCAJIAVBAnRqIgYoAgAhCiAQIAVBA3RqIgwgACIBNgIEIAwgCjYCACAGKAIA.IgogAGoiAEGAgAJLDQECQCAAIAFNDQAgBygCECEMQQAhBiAKQQdxIhEEQANAIAwgAUECdGogBTYCACABQQFqIQEgBkEBaiIGIBFHDQALCyAKQQFrQQZNDQAD.QCAMIAFBAnRqIgYgBTYCHCAGIAU2AhggBiAFNgIUIAYgBTYCECAGIAU2AgwgBiAFNgIIIAYgBTYCBCAGIAU2AgAgAUEIaiIBIABHDQALCyAFQQFqIgUgCEcN.AAsgAEGAgAJGIQ8LIA8LRQ0AIAsEQCAEKAIURQ0BC0EAIQcjAEEQayIFJAACQAJAIAIvASZB/wNNBEAgAikDCCIdIAIpAxAiHEIIfCIbUw0CIAIoAgAgHKdq.KQAAIRwgAiAbNwMQDAELQQEgBUEIaiACEC1FDQEgAikDECEbIAIpAwghHSAFKQMIIRwLIBwgHSAbfVYNACACIBsgHHw3AxAgHKciAEEATA0AIAQgAigCACAb.p2oiATYCMCAEAn8CQAJAAkACQCABIABBAWsiAmoiBi0AAEEGdkEBaw4DAQIDAAsgBCACNgI0IAYtAABBP3EMAwsgAEEBRg0DIAQgAEECayIANgI0IAAgAWov.AABB//8AcQwCCyAAQQNJDQIgBCAAQQNrNgI0IAAgAWoiAEECay8AAEEIdEGA/v8BcSAAQQNrLQAAcgwBCyAAQQRJDQEgBCAAQQRrIgA2AjQgACABaigAAEH/.////A3ELIgBBgIAIajYCOCAAQYCA+A9JIQcLIAVBEGokACAHRQ0AIAQoAjQhASAEKAI4IQIgBCgCJCEFIAQoAhghByAEKAIwIQYDQAJAIAJB//8HSwRAIAIh.AAwBCyACIQAgASIDQQBMDQADQCAEIANBAWsiATYCNCAEIAEgBmotAAAgAkEIdHIiADYCOCACQYAETw0BIANBAkggACECIAEhA0UNAAsLIAQgBSAHIABB//8B.cSICQQJ0aigCACIDQQN0aiIIKAIAIABBD3ZsIAJqIAgoAgRrIgI2AjggDSAOQQJ0aiADNgIAQQEhAyAOQQFqIg4gC0cNAAsLIAQoAiQiAARAIAQgADYCKCAA.EAULIAQoAhgiAARAIAQgADYCHCAAEAULIAQoAggiAARAIAQgADYCDCAAEAULIARBQGskACADDAcLIAAhCyADIQ1BACEDIwBBQGoiBCQAIARBADYCOCAEQgA3.AzAgBEIANwMoIARCADcDICAEQgA3AxggBEIANwMQIARCADcDCAJAAn8gBEEIaiEHAkAgAi8BJiIARQ0AAkAgAEH/A00EQCACKQMIIAIpAxAiG0IEfFMNAiAH.IAIoAgAgG6dqKAAAIgY2AgwgAiACKQMQQgR8Ihs3AxAMAQtBASAHQQxqIAIQLkUNASACKQMQIRsgBygCDCEGCyAGQQZ2rSACKQMIIBt9VQ0AIAcgBhAMQQEg.BygCDCIIRQ0BGiACKQMQIRsgAikDCCEcQQAhAANAIBsgHFkNASACKAIAIgkgG6dqLQAAIQUgAiAbQgF8Ihs3AxAgBUECdiEBAkACQAJAAkAgBUEDcSIKDgQC.AQEAAQsgACABaiIBIAhPDQQgBygCACEJIAVB/AFxQQRqIgVFBEAgASEADAMLIAkgAEECdGpBACAF/AsAIAEhAAwCCyAbIBwgGyAcVRshHUEAIQYDQEEAIBsg.HVENBRogCSAbp2otAAAgAiAbQgF8Ihs3AxAgBkEDdEEGcnQgAXIhASAGQQFqIgYgCkcNAAsLIAcoAgAiCSAAQQJ0aiABNgIACyAAQQFqIgAgBygCDCIISQ0A.CyAHQRBqQYCABBAMIAdBHGogCBAzIAhFDQAgBygCHCEQQQAhBUEAIQADQCAJIAVBAnRqIgYoAgAhCiAQIAVBA3RqIgwgACIBNgIEIAwgCjYCACAGKAIAIgog.AGoiAEGAgARLDQECQCAAIAFNDQAgBygCECEMQQAhBiAKQQdxIhEEQANAIAwgAUECdGogBTYCACABQQFqIQEgBkEBaiIGIBFHDQALCyAKQQFrQQZNDQADQCAM.IAFBAnRqIgYgBTYCHCAGIAU2AhggBiAFNgIUIAYgBTYCECAGIAU2AgwgBiAFNgIIIAYgBTYCBCAGIAU2AgAgAUEIaiIBIABHDQALCyAFQQFqIgUgCEcNAAsg.AEGAgARGIQ8LIA8LRQ0AIAsEQCAEKAIURQ0BC0EAIQcjAEEQayIFJAACQAJAIAIvASZB/wNNBEAgAikDCCIdIAIpAxAiHEIIfCIbUw0CIAIoAgAgHKdqKQAA.IRwgAiAbNwMQDAELQQEgBUEIaiACEC1FDQEgAikDECEbIAIpAwghHSAFKQMIIRwLIBwgHSAbfVYNACACIBsgHHw3AxAgHKciAEEATA0AIAQgAigCACAbp2oi.ATYCMCAEAn8CQAJAAkACQCABIABBAWsiAmoiBi0AAEEGdkEBaw4DAQIDAAsgBCACNgI0IAYtAABBP3EMAwsgAEEBRg0DIAQgAEECayIANgI0IAAgAWovAABB.//8AcQwCCyAAQQNJDQIgBCAAQQNrNgI0IAAgAWoiAEECay8AAEEIdEGA/v8BcSAAQQNrLQAAcgwBCyAAQQRJDQEgBCAAQQRrIgA2AjQgACABaigAAEH/////.A3ELIgBBgIAQajYCOCAAQYCA8B9JIQcLIAVBEGokACAHRQ0AIAQoAjQhASAEKAI4IQIgBCgCJCEFIAQoAhghByAEKAIwIQYDQAJAIAJB//8PSwRAIAIhAAwB.CyACIQAgASIDQQBMDQADQCAEIANBAWsiATYCNCAEIAEgBmotAAAgAkEIdHIiADYCOCACQYAITw0BIANBAkggACECIAEhA0UNAAsLIAQgBSAHIABB//8DcSIC.QQJ0aigCACIDQQN0aiIIKAIAIABBEHZsIAJqIAgoAgRrIgI2AjggDSAOQQJ0aiADNgIAQQEhAyAOQQFqIg4gC0cNAAsLIAQoAiQiAARAIAQgADYCKCAAEAUL.IAQoAhgiAARAIAQgADYCHCAAEAULIAQoAggiAARAIAQgADYCDCAAEAULIARBQGskACADDAYLIAAhCyADIQ1BACEDIwBBQGoiBCQAIARBADYCOCAEQgA3AzAg.BEIANwMoIARCADcDICAEQgA3AxggBEIANwMQIARCADcDCAJAAn8gBEEIaiEHAkAgAi8BJiIARQ0AAkAgAEH/A00EQCACKQMIIAIpAxAiG0IEfFMNAiAHIAIo.AgAgG6dqKAAAIgY2AgwgAiACKQMQQgR8Ihs3AxAMAQtBASAHQQxqIAIQLkUNASACKQMQIRsgBygCDCEGCyAGQQZ2rSACKQMIIBt9VQ0AIAcgBhAMQQEgBygC.DCIIRQ0BGiACKQMQIRsgAikDCCEcQQAhAANAIBsgHFkNASACKAIAIgkgG6dqLQAAIQUgAiAbQgF8Ihs3AxAgBUECdiEBAkACQAJAAkAgBUEDcSIKDgQCAQEA.AQsgACABaiIBIAhPDQQgBygCACEJIAVB/AFxQQRqIgVFBEAgASEADAMLIAkgAEECdGpBACAF/AsAIAEhAAwCCyAbIBwgGyAcVRshHUEAIQYDQEEAIBsgHVEN.BRogCSAbp2otAAAgAiAbQgF8Ihs3AxAgBkEDdEEGcnQgAXIhASAGQQFqIgYgCkcNAAsLIAcoAgAiCSAAQQJ0aiABNgIACyAAQQFqIgAgBygCDCIISQ0ACyAH.QRBqQYCAEBAMIAdBHGogCBAzIAhFDQAgBygCHCEQQQAhBUEAIQADQCAJIAVBAnRqIgYoAgAhCiAQIAVBA3RqIgwgACIBNgIEIAwgCjYCACAGKAIAIgogAGoi.AEGAgBBLDQECQCAAIAFNDQAgBygCECEMQQAhBiAKQQdxIhEEQANAIAwgAUECdGogBTYCACABQQFqIQEgBkEBaiIGIBFHDQALCyAKQQFrQQZNDQADQCAMIAFB.AnRqIgYgBTYCHCAGIAU2AhggBiAFNgIUIAYgBTYCECAGIAU2AgwgBiAFNgIIIAYgBTYCBCAGIAU2AgAgAUEIaiIBIABHDQALCyAFQQFqIgUgCEcNAAsgAEGA.gBBGIQ8LIA8LRQ0AIAsEQCAEKAIURQ0BC0EAIQcjAEEQayIFJAACQAJAIAIvASZB/wNNBEAgAikDCCIdIAIpAxAiHEIIfCIbUw0CIAIoAgAgHKdqKQAAIRwg.AiAbNwMQDAELQQEgBUEIaiACEC1FDQEgAikDECEbIAIpAwghHSAFKQMIIRwLIBwgHSAbfVYNACACIBsgHHw3AxAgHKciAEEATA0AIAQgAigCACAbp2oiATYC.MCAEAn8CQAJAAkACQCABIABBAWsiAmoiBi0AAEEGdkEBaw4DAQIDAAsgBCACNgI0IAYtAABBP3EMAwsgAEEBRg0DIAQgAEECayIANgI0IAAgAWovAABB//8A.cQwCCyAAQQNJDQIgBCAAQQNrNgI0IAAgAWoiAEECay8AAEEIdEGA/v8BcSAAQQNrLQAAcgwBCyAAQQRJDQEgBCAAQQRrIgA2AjQgACABaigAAEH/////A3EL.IgBBgIBAazYCOCAAQYCAwP8ASSEHCyAFQRBqJAAgB0UNACAEKAI0IQEgBCgCOCECIAQoAiQhBSAEKAIYIQcgBCgCMCEGA0ACQCACQf//P0sEQCACIQAMAQsg.AiEAIAEiA0EATA0AA0AgBCADQQFrIgE2AjQgBCABIAZqLQAAIAJBCHRyIgA2AjggAkGAIE8NASADQQJIIAAhAiABIQNFDQALCyAEIAUgByAAQf//D3EiAkEC.dGooAgAiA0EDdGoiCCgCACAAQRJ2bCACaiAIKAIEayICNgI4IA0gDkECdGogAzYCAEEBIQMgDkEBaiIOIAtHDQALCyAEKAIkIgAEQCAEIAA2AiggABAFCyAE.KAIYIgAEQCAEIAA2AhwgABAFCyAEKAIIIgAEQCAEIAA2AgwgABAFCyAEQUBrJAAgAwwFCyAAIQsgAyENQQAhAyMAQUBqIgQkACAEQQA2AjggBEIANwMwIARC.ADcDKCAEQgA3AyAgBEIANwMYIARCADcDECAEQgA3AwgCQAJ/IARBCGohBwJAIAIvASYiAEUNAAJAIABB/wNNBEAgAikDCCACKQMQIhtCBHxTDQIgByACKAIA.IBunaigAACIGNgIMIAIgAikDEEIEfCIbNwMQDAELQQEgB0EMaiACEC5FDQEgAikDECEbIAcoAgwhBgsgBkEGdq0gAikDCCAbfVUNACAHIAYQDEEBIAcoAgwi.CEUNARogAikDECEbIAIpAwghHEEAIQADQCAbIBxZDQEgAigCACIJIBunai0AACEFIAIgG0IBfCIbNwMQIAVBAnYhAQJAAkACQAJAIAVBA3EiCg4EAgEBAAEL.IAAgAWoiASAITw0EIAcoAgAhCSAFQfwBcUEEaiIFRQRAIAEhAAwDCyAJIABBAnRqQQAgBfwLACABIQAMAgsgGyAcIBsgHFUbIR1BACEGA0BBACAbIB1RDQUa.IAkgG6dqLQAAIAIgG0IBfCIbNwMQIAZBA3RBBnJ0IAFyIQEgBkEBaiIGIApHDQALCyAHKAIAIgkgAEECdGogATYCAAsgAEEBaiIAIAcoAgwiCEkNAAsgB0EQ.akGAgCAQDCAHQRxqIAgQMyAIRQ0AIAcoAhwhEEEAIQVBACEAA0AgCSAFQQJ0aiIGKAIAIQogECAFQQN0aiIMIAAiATYCBCAMIAo2AgAgBigCACIKIABqIgBB.gIAgSw0BAkAgACABTQ0AIAcoAhAhDEEAIQYgCkEHcSIRBEADQCAMIAFBAnRqIAU2AgAgAUEBaiEBIAZBAWoiBiARRw0ACwsgCkEBa0EGTQ0AA0AgDCABQQJ0.aiIGIAU2AhwgBiAFNgIYIAYgBTYCFCAGIAU2AhAgBiAFNgIMIAYgBTYCCCAGIAU2AgQgBiAFNgIAIAFBCGoiASAARw0ACwsgBUEBaiIFIAhHDQALIABBgIAg.RiEPCyAPC0UNACALBEAgBCgCFEUNAQtBACEHIwBBEGsiBSQAAkACQCACLwEmQf8DTQRAIAIpAwgiHSACKQMQIhxCCHwiG1MNAiACKAIAIBynaikAACEcIAIg.GzcDEAwBC0EBIAVBCGogAhAtRQ0BIAIpAxAhGyACKQMIIR0gBSkDCCEcCyAcIB0gG31WDQAgAiAbIBx8NwMQIBynIgBBAEwNACAEIAIoAgAgG6dqIgE2AjAg.BAJ/AkACQAJAAkAgASAAQQFrIgJqIgYtAABBBnZBAWsOAwECAwALIAQgAjYCNCAGLQAAQT9xDAMLIABBAUYNAyAEIABBAmsiADYCNCAAIAFqLwAAQf//AHEM.AgsgAEEDSQ0CIAQgAEEDazYCNCAAIAFqIgBBAmsvAABBCHRBgP7/AXEgAEEDay0AAHIMAQsgAEEESQ0BIAQgAEEEayIANgI0IAAgAWooAABB/////wNxCyIA.QYCAgAFqNgI4IABBgICA/wFJIQcLIAVBEGokACAHRQ0AIAQoAjQhASAEKAI4IQIgBCgCJCEFIAQoAhghByAEKAIwIQYDQAJAIAJB////AEsEQCACIQAMAQsg.AiEAIAEiA0EATA0AA0AgBCADQQFrIgE2AjQgBCABIAZqLQAAIAJBCHRyIgA2AjggAkGAwABPDQEgA0ECSCAAIQIgASEDRQ0ACwsgBCAFIAcgAEH//x9xIgJB.AnRqKAIAIgNBA3RqIggoAgAgAEETdmwgAmogCCgCBGsiAjYCOCANIA5BAnRqIAM2AgBBASEDIA5BAWoiDiALRw0ACwsgBCgCJCIABEAgBCAANgIoIAAQBQsg.BCgCGCIABEAgBCAANgIcIAAQBQsgBCgCCCIABEAgBCAANgIMIAAQBQsgBEFAayQAIAMMBAsgACACIAMQ7gEhAQsgAQwCCyAAIQsgAyENQQAhAyMAQUBqIgQk.ACAEQQA2AjggBEIANwMwIARCADcDKCAEQgA3AyAgBEIANwMYIARCADcDECAEQgA3AwgCQCAEQQhqIAIQ8AFFDQAgAARAIAQoAhRFDQELIARBCGogAhDvAUUN.ACAEKAI0IQIgBCgCOCEAIAQoAiQhByAEKAIYIQYgBCgCMCEIA0ACQCAAQf//AEsEQCAAIQEMAQsgACEBIAIiA0EATA0AA0AgBCADQQFrIgI2AjQgBCACIAhq.LQAAIABBCHRyIgE2AjggAEHAAE8NASADQQJIIAEhACACIQNFDQALCyAEIAcgBiABQf8fcSIAQQJ0aigCACIDQQN0aiIOKAIAIAFBDHZsIABqIA4oAgRrIgA2.AjggDSAFQQJ0aiADNgIAQQEhAyAFQQFqIgUgC0cNAAsLIAQoAiQiAARAIAQgADYCKCAAEAULIAQoAhgiAARAIAQgADYCHCAAEAULIAQoAggiAARAIAQgADYC.DCAAEAULIARBQGskACADDAELIAAgAiADEO4BCyENCyANC9wBAQJ/IAFFBEBBAA8LQSgQBiIEQQA2AgAgBEEQaiEDAkAgASwAG0EATgRAIAMgASgCGDYCCCAD.IAEpAhA3AgAMAQsgAyABKAIQIAEoAhQQDQsgBEEcaiEDAkAgASwAJ0EATgRAIAMgASgCJDYCCCADIAEpAhw3AgAMAQsgAyABKAIcIAEoAiAQDQsgACABKAIA.IAIQmAEhAyAAIAEoAgQgAhCYASEAIAEtAAwhASAEIAA2AgQgBCADNgIAIAQgAToADCADBEAgAyAENgIICyAABEAgACAENgIICyAECwQAQQMLBABBfwvSBgIK.fwN+AkAgACAAKAIAKAIsEQAAIghBAEwNACABKAIEIAEoAgBrQQJ1IgYhAyMAQUBqIgUkACAFEEMiBCAAKAIIKAI4IAhB/wFxQQVBACAIQZTqAC0AAGysEGdB.4AAQBiAEEGQiBEEBOgBUIAQgBCgCRDYCSCAEIAMQMhogBCAAKAIIKAI8NgI8IAAoAhAhAyAAIAQ2AhAgAwRAIAMQFwsgBUFAayQAIAAoAhAiBSgCUEUNACAF.KAIAKAIAIgNFDQAgAikDCCIPIAIpAxAiDVcNACAGIAhsIQQgAyAFKAIwaiEFIAIoAgAiAyANp2otAAAhBiACIA1CAXwiDjcDEAJ/AkACQCAGBEAgBCAIIAIg.BRCXAUUNBAwBCyAOIA9ZDQMgAyAOp2otAAAhBiACIA1CAnw3AxAgACgCECgCQCIDKAIEIAMoAgBrIQdBlOoALQAAIAZGBEAgByAEQQJ0IgNJDQQgAikDCCAC.KQMQIg0gA60iDnxTDQQgAwRAIAUgAigCACANp2ogA/wKAAALIAIgAikDECAOfDcDEAwBCyAHIAQgBmxJDQMgAikDCCACKQMQIg19IAatIg4gBK1+Uw0DQQEg.BEUNAhpBACEDA0AgAikDCCANIA58UwRAQQAPCyAGBEAgBSADQQJ0aiACKAIAIA2naiAG/AoAAAsgAiACKQMQIA58Ig03AxAgA0EBaiIDIARHDQALDAELIAQN.AEEBDAELAkAgACgCFCIDBEAgAyADKAIAKAIgEQAADQELQQAhBgJAIARBAEwNACAEQQFHBEAgBEEBcSAEQf7///8HcSEKQQAhAwNAIAUgBkECdCIHaiAFIAdq.KAIAIgtBAXZBACALQQFxa3M2AgAgBSAHQQRyIgdqIAUgB2ooAgAiB0EBdkEAIAdBAXFrczYCACAGQQJqIQYgA0ECaiIDIApHDQALRQ0BCyAFIAZBAnQiA2og.AyAFaigCACIDQQF2QQAgA0EBcWtzNgIACwtBAAshBgJAIAAoAhQiA0UNACADIAQgAygCACgCLBEEACAAKAIUIgMgAiADKAIAKAIoEQEARQ0BIAYNACAAKAIU.IgAgBSAFIAQgCCABKAIAIAAoAgAoAjARCABFDQELQQEhDAsgDAtMACAAQgA3AgQgAEH0DzYCACAAQgA3AgwgAEIANwIUIABCADcCHCAAQgA3AiQgAEHMEjYC.ACAAQgA3AiwgAEIANwI0IAAgATYCPCAACywAIAAgATYCBCABKAIEKAIIIAJBAnRqKAIAIQEgACACNgIMIAAgATYCCEEBC6YCAQl/AkACQCAAKAIEIgMgACgC.ACIIRwRAIAMhAgwBCyAAKAIMIgIgACgCCCIGRwRAIAYgAiAGa0ECdUEBakECbUECdGoiBSAGIANrIgRrIQIgBARAIAIgAyAE/AoAAAsgACAFNgIIDAELQQEg.AiAIa0EBdSADIAZGIgUbIgRBgICAgARPDQEgBEECdCICEAYiCSACaiEKIAkgBEEDakF8cWoiAiEHIAVFBEAgAiAGIANraiEHIAIhBCADIQUDQCAEIAUoAgA2.AgAgBUEEaiEFIARBBGoiBCAHRw0ACwsgACAKNgIMIAAgAjYCBCAAIAk2AgAgACAHNgIIIANFDQAgCBAFIAAoAgQhAgsgAkEEayIDIAEoAgA2AgAgACADNgIE.DwsQDgALnQIBCX8CQAJAIAAoAgwiAiAAKAIIIgZHDQAgACgCBCIEIAAoAgAiB0cEQCAEIAQgB2tBAnVBAWpBfm1BAnQiAmohAyAGIARrIgUEQCADIAQgBfwK.AAALIAAgACgCBCACajYCBCADIAVqIQYMAQtBASACIAdrQQF1IAQgBkYiBRsiA0GAgICABE8NASADQQJ0IgIQBiIJIAJqIQogCSADQXxxaiIDIQggBUUEQCAD.IAYgBGtqIQggAyEFIAQhAgNAIAUgAigCADYCACACQQRqIQIgBUEEaiIFIAhHDQALCyAAIAo2AgwgACADNgIEIAAgCTYCACAAIAg2AgggBEUNACAHEAULIAYg.ASgCADYCACAAIAZBBGo2AggPCxAOAAvuAQEDfyAAQYQRNgIAIAAoAjwiAwRAIAMiASAAKAJAIgJHBEADQCACQQRrIgIoAgAhASACQQA2AgAgAQRAIAEQFwsg.AiADRw0ACyAAKAI8IQELIAAgAzYCQCABEAULIAAoAjAiAQRAIAAgATYCNCABEAULIAAoAiQiAwRAIAMiASAAKAIoIgJHBEADQCACQRhrIgIgAigCACgCABEA.ABogAiADRw0ACyAAKAIkIQELIAAgAzYCKCABEAULIABB9A82AgAgACgCECIBBEAgACABNgIUIAEQBQsgACgCBCIBBEAgACABNgIIIAEQBQsgAAuFAgEIfwJA.IAAoAhAiA0UNACAAQRBqIQUgASgCACEBA0AgAygCECIEIAFKBEAgAygCACIDDQEMAgsgASAESgRAIAMoAgQiAw0BDAILCyADIAVGDQAgAygCGCIBRQ0AIANB.FGohByACKAIAIAIgAiwACyIDQQBIIgQbIQUgAigCBCADIAQbIQMDQCAFIAEoAhAgAUEQaiABLAAbIgRBAEgiBhsiCCABKAIUIAQgBhsiBCADIAMgBEsiBhsi.CRATIgpBAEggAyAESSAKGwR/IAEFIAggBSAJEBMiBEEASCAGIAQbQQFHBEAgByACENYBDwsgAUEEagsoAgAiAQ0ACwsgACACENYBC2sCAn8BfgJAIABBBUsN.ACACKQMQIgUgAikDCFkNACACKAIAIAWnaiwAACEDIAIgBUIBfDcDECABIANBAEgEfyAAQQFqIAEgAhCiAUUNASADQf8AcSABKAIAQQd0cgUgAws2AgBBASEE.CyAEC9QDAQh/IABBADYCGCAAQgA3AhAgAEEANgIIIABCADcCACABKAIEIgIgASgCACIDRgRAIABBADYCHCAAQQA2AgwgAA8LAkAgAiADayIBQRRtQc2Zs+YA.SQRAIAAgARAGIgQ2AhQgACAENgIQIAAgASAEajYCGCABQRRrIgEgAUEUcGtBFGoiAQRAIAQgAyAB/AoAAAtBACEDIABBADYCHCAAIAEgBGo2AhQgAQRAIAFB.FG0iAkEDcSEGQQAhAQJAIAJBBE8EQCACQXxxIQkDQCABIAQgA0EUbGoiAigCECACKAIMbCIFIAEgBUsbIgEgAigCJCACKAIgbCIFIAEgBUsbIgEgAigCOCAC.KAI0bCIFIAEgBUsbIgEgAigCTCACKAJIbCICIAEgAksbIQEgA0EEaiEDIAhBBGoiCCAJRw0ACyAGRQ0BCwNAIAEgBCADQRRsaiICKAIQIAIoAgxsIgIgASAC.SxshASADQQFqIQMgB0EBaiIHIAZHDQALCyABRQRAIABBADYCDCAADwsgAUEASA0CIAEQBiEDIAEEQCADQQAgAfwLAAsgACABIANqIgE2AgggACABNgIEIAAg.AzYCAAsgACADNgIMIAAPCxAHAAsQBwAL6BUCEn8CfgJAIAEpAwggASkDECIWQgR8Uw0AIAAgASgCACAWp2ooAAAiBTYCACABIAEpAxAiFkIEfCIXNwMQIAVB.IEsNACABKQMIIBZCCHxTDQAgACABKAIAIBenaigAACIFNgIEIAEgASkDEEIEfDcDECAFRQRAQQEPCyADIAVJDQAgAEEANgIIIABBEGogARA2RQ0AIABBoARq.IAEQCkUNACAAQbQEaiABEApFDQAgAEHIBGogARAKRQ0AIAAoAgQhECACIQgjAEFAaiIEJAAgACIDKAIMIQAgBEEANgIQIANB9ARqIAAgBEEQaiIAEA8gAygC.DCEBIARBADYCECADQYAFaiIRIAEgABAPIAMgAygCjAU2ApAFIARCADcDICAEQgA3AxggBEIANwMQIAAQCyAEKAIUIAQoAiQiACAEKAIgaiIBQdUCbiICQQJ0.aigCACABIAJB1QJsa0EMbGoiAUIANwIEIAEgEDYCAEEBIQUCQCAAQQFqIgJFDQAgA0GMBWohEiADQRBqIRMDQCAEKAIUIgEgBCgCICIHIAJBAWsiC2oiAEHV.Am4iBUECdGooAgAgACAFQdUCbGtBDGxqIgUoAgghACAFKAIEGiAFKAIAIQYgBCALNgIkIAQoAhgiBSABa0ECdUHVAmxBAWtBACABIAVHGyACIAdqa0EBakGq.BU8EQCAFQQRrKAIAEAUgBCAEKAIYQQRrNgIYCyAAIAxHBEAgACAMSwRAQQAhBQwDCwJAIAMoAowFIgwgAygCkAUiAkYNAANAIAJBEGsiASgCACAASQ0BIAMo.AvQEIAJBDGsiBSgCAEECdGogAkEEaygCADYCACABKAIAIABGDQEgAygCgAUgBSgCAEECdGogAkEIaygCADYCACADIAE2ApAFIAEiAiAMRw0ACwsgACEMC0EA.IQUgBiAQSw0BIAMgBiAREMMBIgcgAygCDE8NAQJAAkAgAygCACIJIAdBAnQiCyADKAKABWooAgAiCkYEQCAGRQ0BIAgoAhAhASAIKAIUIQBBACELA0AgACAB.RiEFIAAhAkEAIQcgASEAAkAgBQ0AA0AgCCgCHCEFIAEgB0EUbGoiCSgCACIKLQBURQRAIAooAkQgBUECdGooAgAhBQsgAiEAIAUgCigCUE8NAQJ/IAMoAvQE.IAkoAgRBAnRqIg0gCSgCDCIAQQNLDQAaQQAhASAIKAIMIgIgCSgCEEUNABoDQCAABEAgAiANIAFBAnRqIAD8CgAACyACIAkoAgwiAGohAiABQQFqIgEgCSgC.EEkNAAsgCCgCDAshASAKKAIoIgAEQCAKKAIAKAIAIAAgBWxqIAEgAPwKAAALIAgoAhQiAiEAIAdBAWoiByACIAgoAhAiAWtBFG1JDQALCyAIIAgoAhxBAWo2.AhwgAyADKAIIQQFqNgIIIAYgC0EBaiILRw0ACwwBCwJAAkACQAJAIAZBAk0EQCADKALoBCIBIAc2AgBBASECIAMoAgwiAEEBSw0BDAQLIAMoAgggAygCBEsN.ByAGZyEBQQAhAEEAIQIDQCATIAJBBHRqEBAgAEEBdHIhACACQQFqIgIgAXNBH0cNAAsgBkEBdiIBIABJDQcgASAAayIAIAYgAGsiAkYEQCAAIQEMAwsgAygC.1AQiASADKALMBEYNASABKAIAIAMgAygC2AQiDUEBaiIONgLYBEGAgICAeCANdnEhBgJAIA5BIEYEQCADQQA2AtgEIAMgAUEEajYC1AQgBg0BDAMLIAZFDQIL.IAAhASACIQAMAgsDQCABIAJBAnRqIgUgBUEEaygCACIFQQFqQQAgBSAAQQFrRxs2AgAgAkEBaiICIAMoAgwiAEkNAAsMAgsgAiEBCyAMQX9GDQRBASAJIApB.f3NqdCEFIAQgDDYCACAEIAc2AgQgBCADKAKABSALaigCADYCCCAEIAMoAvQEIAtqKAIANgIMIAQgAygCkAUiAjYCLCADKAKUBSEGIAQgEjYCOCAEIAQ2AjQg.BCAEQSxqNgIwIAMCfyACIAZJBEAgAiAEKQIINwIIIAIgBCkCADcCACACQRBqDAELIARBMGoQGCAEKAIsCzYCkAUgAygCgAUgC2oiAiACKAIAQQFqNgIAIAMo.AvQEIAtqIgIgAigCACAFajYCACABBEAgBCgCJCIGIAQoAiBqIgUgBCgCGCILIAQoAhQiAmtBAnVB1QJsQQFrQQAgAiALRxtGBEAgBEEQahALIAQoAiQiBiAE.KAIgaiEFIAQoAhQhAgsgAiAFQdUCbiILQQJ0aigCACAFIAtB1QJsa0EMbGoiAiAMNgIIIAIgBzYCBCACIAE2AgAgBCAGQQFqNgIkCyAMQQFqIQwgAEUNASAE.KAIkIgUgBCgCIGoiASAEKAIYIgYgBCgCFCICa0ECdUHVAmxBAWtBACACIAZHG0YEQCAEQRBqEAsgBCgCFCECIAQoAiQiBSAEKAIgaiEBCyACIAFB1QJuIgZB.AnRqKAIAIAEgBkHVAmxrQQxsaiIBIAw2AgggASAHNgIEIAEgADYCACAEIAVBAWoiAjYCJAwCC0EAIQsgBkUNAANAIAMoAgwEQCADKAKABSENIAMoAtwEIQEg.AygC6AQhDkEAIQIDQCABIA4gAkECdGoiBSgCAEECdGpBADYCAAJAIAMoAgAiACANIAUoAgBBAnQiB2ooAgAiCUYNACABIAdqIQcgACAJayIAQSAgAygCsAQi.CWsiD0wEQCADKAKsBCIKIAMoAqQERgRAQQAhBQwJCyAHIAooAgAgCXRBICAAa3Y2AgAgAyADKAKwBCAAaiIANgKwBCAAQSBHDQEgA0EANgKwBCADIApBBGo2.AqwEDAELIAMoAqwEIgpBBGoiFCADKAKkBEYEQEEAIQUMCAsgCigCACEVIAMgFDYCrAQgAyAAIA9rIg82ArAEIAcgCigCBEEgIA9rdiAVIAl0QSAgAGt2cjYC.AAsgASAFKAIAQQJ0IgBqIgUgBSgCACADKAL0BCAAaigCAHI2AgAgAkEBaiICIAMoAgxJDQALC0EAIQcCQCAIKAIQIgIgCCgCFEYNAANAIAgoAhwhBSACIAdB.FGxqIgkoAgAiCi0AVEUEQCAKKAJEIAVBAnRqKAIAIQULIAUgCigCUE8NAQJ/IAMoAtwEIAkoAgRBAnRqIg0gCSgCDCIAQQNLDQAaQQAhASAIKAIMIgIgCSgC.EEUNABoDQCAABEAgAiANIAFBAnRqIAD8CgAACyACIAkoAgwiAGohAiABQQFqIgEgCSgCEEkNAAsgCCgCDAshASAKKAIoIgAEQCAKKAIAKAIAIAAgBWxqIAEg.APwKAAALIAdBAWoiByAIKAIUIAgoAhAiAmtBFG1JDQALCyAIIAgoAhxBAWo2AhwgAyADKAIIQQFqNgIIIAtBAWoiCyAGRw0ACwsgBCgCJCECCyACDQALQQEh.BQsgBEEANgIkIAQoAhgiACAEKAIUIgJrQQJ1IgFBA08EQANAIAIoAgAQBSAEIAQoAhRBBGoiAjYCFCAEKAIYIgAgAmtBAnUiAUECSw0ACwtBqgEhAwJAAkAC.QCABQQFrDgIBAAILQdUCIQMLIAQgAzYCIAsgACACRgR/IAAFA0AgAigCABAFIAJBBGoiAiAARw0ACyAEKAIYIQAgBCgCFAshASAEIAAgACABa0F8cWs2Ahgg.BCgCECIABEAgABAFCyAEQUBrJAAgBSEMCyAMC/cVAhF/An4CQCABKQMIIAEpAxAiFUIEfFMNACAAIAEoAgAgFadqKAAAIgU2AgAgASABKQMQIhVCBHwiFjcD.ECAFQSBLDQAgASkDCCAVQgh8Uw0AIAAgASgCACAWp2ooAAAiBTYCBCABIAEpAxBCBHw3AxAgBUUEQEEBDwsgAyAFSQ0AIABBADYCCCAAQRBqIAEQNkUNACAA.QaAEaiABEApFDQAgAEG0BGogARAKRQ0AIABByARqIAEQCkUNACAAKAIEIRAgAiEJIwBBQGoiBCQAIAAiAygCDCEAIARBADYCECADQfQEaiAAIARBEGoiABAP.IAMoAgwhASAEQQA2AhAgA0GABWogASAAEA8gAyADKAKMBTYCkAUgBEIANwMgIARCADcDGCAEQgA3AxAgABALIAQoAhQgBCgCJCIAIAQoAiBqIgFB1QJuIgJB.AnRqKAIAIAEgAkHVAmxrQQxsaiIBQgA3AgQgASAQNgIAQQEhBQJAIABBAWoiAkUNACADQYwFaiERIANBEGohEgNAIAQoAhQiASAEKAIgIgsgAkEBayIIaiIA.QdUCbiIFQQJ0aigCACAAIAVB1QJsa0EMbGoiBSgCCCEAIAUoAgQhByAFKAIAIQYgBCAINgIkIAQoAhgiBSABa0ECdUHVAmxBAWtBACABIAVHGyACIAtqa0EB.akGqBU8EQCAFQQRrKAIAEAUgBCAEKAIYQQRrNgIYCyAAIAxHBEAgACAMSwRAQQAhBQwDCwJAIAMoAowFIgwgAygCkAUiAkYNAANAIAJBEGsiASgCACAASQ0B.IAMoAvQEIAJBDGsiBSgCAEECdGogAkEEaygCADYCACABKAIAIABGDQEgAygCgAUgBSgCAEECdGogAkEIaygCADYCACADIAE2ApAFIAEiAiAMRw0ACwsgACEM.CyAGIBBLBEBBACEFDAILQQAhBSAHQQFqQQAgByADKAIMIgBBAWtHGyIHIABPDQECQAJAIAMoAgAiCCAHQQJ0IgsgAygCgAVqKAIAIgpGBEAgBkUNASAJKAIQ.IQEgCSgCFCEAQQAhCwNAIAAgAUYhBSAAIQJBACEHIAEhAAJAIAUNAANAIAkoAhwhBSABIAdBFGxqIggoAgAiCi0AVEUEQCAKKAJEIAVBAnRqKAIAIQULIAIh.ACAFIAooAlBPDQECfyADKAL0BCAIKAIEQQJ0aiINIAgoAgwiAEEDSw0AGkEAIQEgCSgCDCICIAgoAhBFDQAaA0AgAARAIAIgDSABQQJ0aiAA/AoAAAsgAiAI.KAIMIgBqIQIgAUEBaiIBIAgoAhBJDQALIAkoAgwLIQEgCigCKCIABEAgCigCACgCACAAIAVsaiABIAD8CgAACyAJKAIUIgIhACAHQQFqIgcgAiAJKAIQIgFr.QRRtSQ0ACwsgCSAJKAIcQQFqNgIcIAMgAygCCEEBajYCCCAGIAtBAWoiC0cNAAsMAQsCQAJAAkACQCAGQQJNBEAgAygC6AQiASAHNgIAQQEhAiADKAIMIgBB.AUsNAQwECyADKAIIIAMoAgRLDQcgBmchAUEAIQBBACECA0AgEiACQQR0ahAQIABBAXRyIQAgAkEBaiICIAFzQR9HDQALIAZBAXYiASAASQ0HIAEgAGsiACAG.IABrIgJGBEAgACEBDAMLIAMoAtQEIgEgAygCzARGDQEgASgCACADIAMoAtgEIg1BAWoiDjYC2ARBgICAgHggDXZxIQYCQCAOQSBGBEAgA0EANgLYBCADIAFB.BGo2AtQEIAYNAQwDCyAGRQ0CCyAAIQEgAiEADAILA0AgASACQQJ0aiIFIAVBBGsoAgAiBUEBakEAIAUgAEEBa0cbNgIAIAJBAWoiAiADKAIMIgBJDQALDAIL.IAIhAQsgDEF/Rg0EQQEgCCAKQX9zanQhBSAEIAw2AgAgBCAHNgIEIAQgAygCgAUgC2ooAgA2AgggBCADKAL0BCALaigCADYCDCAEIAMoApAFIgI2AiwgAygC.lAUhBiAEIBE2AjggBCAENgI0IAQgBEEsajYCMCADAn8gAiAGSQRAIAIgBCkCCDcCCCACIAQpAgA3AgAgAkEQagwBCyAEQTBqEBggBCgCLAs2ApAFIAMoAoAF.IAtqIgIgAigCAEEBajYCACADKAL0BCALaiICIAIoAgAgBWo2AgAgAQRAIAQoAiQiBiAEKAIgaiIFIAQoAhgiCyAEKAIUIgJrQQJ1QdUCbEEBa0EAIAIgC0cb.RgRAIARBEGoQCyAEKAIkIgYgBCgCIGohBSAEKAIUIQILIAIgBUHVAm4iC0ECdGooAgAgBSALQdUCbGtBDGxqIgIgDDYCCCACIAc2AgQgAiABNgIAIAQgBkEB.ajYCJAsgDEEBaiEMIABFDQEgBCgCJCIFIAQoAiBqIgEgBCgCGCIGIAQoAhQiAmtBAnVB1QJsQQFrQQAgAiAGRxtGBEAgBEEQahALIAQoAhQhAiAEKAIkIgUg.BCgCIGohAQsgAiABQdUCbiIGQQJ0aigCACABIAZB1QJsa0EMbGoiASAMNgIIIAEgBzYCBCABIAA2AgAgBCAFQQFqIgI2AiQMAgtBACELIAZFDQADQCADKAIM.BEAgAygCgAUhDSADKALcBCEBIAMoAugEIQ5BACECA0AgASAOIAJBAnRqIgUoAgBBAnRqQQA2AgACQCADKAIAIgAgDSAFKAIAQQJ0IgdqKAIAIghGDQAgASAH.aiEHIAAgCGsiAEEgIAMoArAEIghrIg9MBEAgAygCrAQiCiADKAKkBEYEQEEAIQUMCQsgByAKKAIAIAh0QSAgAGt2NgIAIAMgAygCsAQgAGoiADYCsAQgAEEg.Rw0BIANBADYCsAQgAyAKQQRqNgKsBAwBCyADKAKsBCIKQQRqIhMgAygCpARGBEBBACEFDAgLIAooAgAhFCADIBM2AqwEIAMgACAPayIPNgKwBCAHIAooAgRB.ICAPa3YgFCAIdEEgIABrdnI2AgALIAEgBSgCAEECdCIAaiIFIAUoAgAgAygC9AQgAGooAgByNgIAIAJBAWoiAiADKAIMSQ0ACwtBACEHAkAgCSgCECICIAko.AhRGDQADQCAJKAIcIQUgAiAHQRRsaiIIKAIAIgotAFRFBEAgCigCRCAFQQJ0aigCACEFCyAFIAooAlBPDQECfyADKALcBCAIKAIEQQJ0aiINIAgoAgwiAEED.Sw0AGkEAIQEgCSgCDCICIAgoAhBFDQAaA0AgAARAIAIgDSABQQJ0aiAA/AoAAAsgAiAIKAIMIgBqIQIgAUEBaiIBIAgoAhBJDQALIAkoAgwLIQEgCigCKCIA.BEAgCigCACgCACAAIAVsaiABIAD8CgAACyAHQQFqIgcgCSgCFCAJKAIQIgJrQRRtSQ0ACwsgCSAJKAIcQQFqNgIcIAMgAygCCEEBajYCCCALQQFqIgsgBkcN.AAsLIAQoAiQhAgsgAg0AC0EBIQULIARBADYCJCAEKAIYIgAgBCgCFCICa0ECdSIBQQNPBEADQCACKAIAEAUgBCAEKAIUQQRqIgI2AhQgBCgCGCIAIAJrQQJ1.IgFBAksNAAsLQaoBIQMCQAJAAkAgAUEBaw4CAQACC0HVAiEDCyAEIAM2AiALIAAgAkYEfyAABQNAIAIoAgAQBSACQQRqIgIgAEcNAAsgBCgCGCEAIAQoAhQL.IQEgBCAAIAAgAWtBfHFrNgIYIAQoAhAiAARAIAAQBQsgBEFAayQAIAUhDAsgDAvwFQIRfwJ+AkAgASkDCCABKQMQIhVCBHxTDQAgACABKAIAIBWnaigAACIF.NgIAIAEgASkDECIVQgR8IhY3AxAgBUEgSw0AIAEpAwggFUIIfFMNACAAIAEoAgAgFqdqKAAAIgU2AgQgASABKQMQQgR8NwMQIAVFBEBBAQ8LIAMgBUkNACAA.QQA2AgggAEEQaiABEDZFDQAgAEGgBGogARAKRQ0AIABBtARqIAEQCkUNACAAQcgEaiABEApFDQAgACgCBCEQIAIhCSMAQUBqIgQkACAAIgMoAgwhACAEQQA2.AhAgA0H0BGogACAEQRBqIgAQDyADKAIMIQEgBEEANgIQIANBgAVqIAEgABAPIAMgAygCjAU2ApAFIARCADcDICAEQgA3AxggBEIANwMQIAAQCyAEKAIUIAQo.AiQiACAEKAIgaiIBQdUCbiICQQJ0aigCACABIAJB1QJsa0EMbGoiAUIANwIEIAEgEDYCAEEBIQUCQCAAQQFqIgJFDQAgA0GMBWohESADQRBqIRIDQCAEKAIU.IgEgBCgCICILIAJBAWsiCGoiAEHVAm4iBUECdGooAgAgACAFQdUCbGtBDGxqIgUoAgghACAFKAIEIQcgBSgCACEGIAQgCDYCJCAEKAIYIgUgAWtBAnVB1QJs.QQFrQQAgASAFRxsgAiALamtBAWpBqgVPBEAgBUEEaygCABAFIAQgBCgCGEEEazYCGAsgACAMRwRAIAAgDEsEQEEAIQUMAwsCQCADKAKMBSIMIAMoApAFIgJG.DQADQCACQRBrIgEoAgAgAEkNASADKAL0BCACQQxrIgUoAgBBAnRqIAJBBGsoAgA2AgAgASgCACAARg0BIAMoAoAFIAUoAgBBAnRqIAJBCGsoAgA2AgAgAyAB.NgKQBSABIgIgDEcNAAsLIAAhDAtBACEFIAYgEEsNASAHQQFqQQAgByADKAIMIgBBAWtHGyIHIABPDQECQAJAIAMoAgAiCCAHQQJ0IgsgAygCgAVqKAIAIgpG.BEAgBkUNASAJKAIQIQEgCSgCFCEAQQAhCwNAIAAgAUYhBSAAIQJBACEHIAEhAAJAIAUNAANAIAkoAhwhBSABIAdBFGxqIggoAgAiCi0AVEUEQCAKKAJEIAVB.AnRqKAIAIQULIAIhACAFIAooAlBPDQECfyADKAL0BCAIKAIEQQJ0aiINIAgoAgwiAEEDSw0AGkEAIQEgCSgCDCICIAgoAhBFDQAaA0AgAARAIAIgDSABQQJ0.aiAA/AoAAAsgAiAIKAIMIgBqIQIgAUEBaiIBIAgoAhBJDQALIAkoAgwLIQEgCigCKCIABEAgCigCACgCACAAIAVsaiABIAD8CgAACyAJKAIUIgIhACAHQQFq.IgcgAiAJKAIQIgFrQRRtSQ0ACwsgCSAJKAIcQQFqNgIcIAMgAygCCEEBajYCCCAGIAtBAWoiC0cNAAsMAQsCQAJAAkACQCAGQQJNBEAgAygC6AQiASAHNgIA.QQEhAiADKAIMIgBBAUsNAQwECyADKAIIIAMoAgRLDQcgBmchAUEAIQBBACECA0AgEiACQQR0ahAQIABBAXRyIQAgAkEBaiICIAFzQR9HDQALIAZBAXYiASAA.SQ0HIAEgAGsiACAGIABrIgJGBEAgACEBDAMLIAMoAtQEIgEgAygCzARGDQEgASgCACADIAMoAtgEIg1BAWoiDjYC2ARBgICAgHggDXZxIQYCQCAOQSBGBEAg.A0EANgLYBCADIAFBBGo2AtQEIAYNAQwDCyAGRQ0CCyAAIQEgAiEADAILA0AgASACQQJ0aiIFIAVBBGsoAgAiBUEBakEAIAUgAEEBa0cbNgIAIAJBAWoiAiAD.KAIMIgBJDQALDAILIAIhAQsgDEF/Rg0EQQEgCCAKQX9zanQhBSAEIAw2AgAgBCAHNgIEIAQgAygCgAUgC2ooAgA2AgggBCADKAL0BCALaigCADYCDCAEIAMo.ApAFIgI2AiwgAygClAUhBiAEIBE2AjggBCAENgI0IAQgBEEsajYCMCADAn8gAiAGSQRAIAIgBCkCCDcCCCACIAQpAgA3AgAgAkEQagwBCyAEQTBqEBggBCgC.LAs2ApAFIAMoAoAFIAtqIgIgAigCAEEBajYCACADKAL0BCALaiICIAIoAgAgBWo2AgAgAQRAIAQoAiQiBiAEKAIgaiIFIAQoAhgiCyAEKAIUIgJrQQJ1QdUC.bEEBa0EAIAIgC0cbRgRAIARBEGoQCyAEKAIkIgYgBCgCIGohBSAEKAIUIQILIAIgBUHVAm4iC0ECdGooAgAgBSALQdUCbGtBDGxqIgIgDDYCCCACIAc2AgQg.AiABNgIAIAQgBkEBajYCJAsgDEEBaiEMIABFDQEgBCgCJCIFIAQoAiBqIgEgBCgCGCIGIAQoAhQiAmtBAnVB1QJsQQFrQQAgAiAGRxtGBEAgBEEQahALIAQo.AhQhAiAEKAIkIgUgBCgCIGohAQsgAiABQdUCbiIGQQJ0aigCACABIAZB1QJsa0EMbGoiASAMNgIIIAEgBzYCBCABIAA2AgAgBCAFQQFqIgI2AiQMAgtBACEL.IAZFDQADQCADKAIMBEAgAygCgAUhDSADKALcBCEBIAMoAugEIQ5BACECA0AgASAOIAJBAnRqIgUoAgBBAnRqQQA2AgACQCADKAIAIgAgDSAFKAIAQQJ0Igdq.KAIAIghGDQAgASAHaiEHIAAgCGsiAEEgIAMoArAEIghrIg9MBEAgAygCrAQiCiADKAKkBEYEQEEAIQUMCQsgByAKKAIAIAh0QSAgAGt2NgIAIAMgAygCsAQg.AGoiADYCsAQgAEEgRw0BIANBADYCsAQgAyAKQQRqNgKsBAwBCyADKAKsBCIKQQRqIhMgAygCpARGBEBBACEFDAgLIAooAgAhFCADIBM2AqwEIAMgACAPayIP.NgKwBCAHIAooAgRBICAPa3YgFCAIdEEgIABrdnI2AgALIAEgBSgCAEECdCIAaiIFIAUoAgAgAygC9AQgAGooAgByNgIAIAJBAWoiAiADKAIMSQ0ACwtBACEH.AkAgCSgCECICIAkoAhRGDQADQCAJKAIcIQUgAiAHQRRsaiIIKAIAIgotAFRFBEAgCigCRCAFQQJ0aigCACEFCyAFIAooAlBPDQECfyADKALcBCAIKAIEQQJ0.aiINIAgoAgwiAEEDSw0AGkEAIQEgCSgCDCICIAgoAhBFDQAaA0AgAARAIAIgDSABQQJ0aiAA/AoAAAsgAiAIKAIMIgBqIQIgAUEBaiIBIAgoAhBJDQALIAko.AgwLIQEgCigCKCIABEAgCigCACgCACAAIAVsaiABIAD8CgAACyAHQQFqIgcgCSgCFCAJKAIQIgJrQRRtSQ0ACwsgCSAJKAIcQQFqNgIcIAMgAygCCEEBajYC.CCALQQFqIgsgBkcNAAsLIAQoAiQhAgsgAg0AC0EBIQULIARBADYCJCAEKAIYIgAgBCgCFCICa0ECdSIBQQNPBEADQCACKAIAEAUgBCAEKAIUQQRqIgI2AhQg.BCgCGCIAIAJrQQJ1IgFBAksNAAsLQaoBIQMCQAJAAkAgAUEBaw4CAQACC0HVAiEDCyAEIAM2AiALIAAgAkYEfyAABQNAIAIoAgAQBSACQQRqIgIgAEcNAAsg.BCgCGCEAIAQoAhQLIQEgBCAAIAAgAWtBfHFrNgIYIAQoAhAiAARAIAAQBQsgBEFAayQAIAUhDAsgDAu/FQIRfwJ+AkAgASkDCCABKQMQIhVCBHxTDQAgACAB.KAIAIBWnaigAACIFNgIAIAEgASkDECIVQgR8IhY3AxAgBUEgSw0AIAEpAwggFUIIfFMNACAAIAEoAgAgFqdqKAAAIgU2AgQgASABKQMQQgR8NwMQIAVFBEBB.AQ8LIAMgBUkNACAAQQA2AgggAEEQaiABEAhFDQAgAEEgaiABEApFDQAgAEE0aiABEApFDQAgAEHIAGogARAKRQ0AIAAoAgQhECACIQkjAEHQAGsiBCQAIAAi.AygCDCEAIARBADYCICADQfQAaiAAIARBIGoiABAPIAMoAgwhASAEQQA2AiAgA0GAAWogASAAEA8gAyADKAKMATYCkAEgBEIANwMwIARCADcDKCAEQgA3AyAg.ABALIAQoAiQgBCgCNCIAIAQoAjBqIgFB1QJuIgJBAnRqKAIAIAEgAkHVAmxrQQxsaiIBQgA3AgQgASAQNgIAQQEhBgJAIABBAWoiAEUNACADQYwBaiERIANB.EGohEgNAIAQoAiQiAiAEKAIwIgYgAEEBayIHaiIBQdUCbiIFQQJ0aigCACABIAVB1QJsa0EMbGoiBSgCCCEBIAUoAgQhCyAFKAIAIQggBCAHNgI0IAQoAigi.BSACa0ECdUHVAmxBAWtBACACIAVHGyAAIAZqa0EBakGqBU8EQCAFQQRrKAIAEAUgBCAEKAIoQQRrNgIoCyABIAxHBEAgASAMSwRAQQAhBgwDCwJAIAMoAowB.IgUgAygCkAEiAEYNAANAIABBEGsiAigCACABSQ0BIAMoAnQgAEEMayIGKAIAQQJ0aiAAQQRrKAIANgIAIAIoAgAgAUYNASADKAKAASAGKAIAQQJ0aiAAQQhr.KAIANgIAIAMgAjYCkAEgAiIAIAVHDQALCyABIQwLIAggEEsEQEEAIQYMAgtBACEGIAtBAWpBACALIAMoAgwiAEEBa0cbIgsgAE8NAQJAIAMoAgAiByALQQJ0.IgUgAygCgAFqKAIAIgpGBEAgCEUNASAJKAIQIQUgCSgCFCEBQQAhCwNAIAEgBUYhAiABIQBBACEGIAUhAQJAIAINAANAIAkoAhwhAiAFIAZBFGxqIgcoAgAi.Ci0AVEUEQCAKKAJEIAJBAnRqKAIAIQILIAAhASACIAooAlBPDQECfyADKAJ0IAcoAgRBAnRqIg0gBygCDCIBQQNLDQAaQQAhBSAJKAIMIgAgBygCEEUNABoD.QCABBEAgACANIAVBAnRqIAH8CgAACyAAIAcoAgwiAWohACAFQQFqIgUgBygCEEkNAAsgCSgCDAshASAKKAIoIgAEQCAKKAIAKAIAIAAgAmxqIAEgAPwKAAAL.IAkoAhQiACEBIAZBAWoiBiAAIAkoAhAiBWtBFG1JDQALCyAJIAkoAhxBAWo2AhwgAyADKAIIQQFqNgIIIAggC0EBaiILRw0ACwwBCwJAAkACQAJAIAhBAk0E.QCADKAJoIgIgCzYCAEEBIQAgAygCDCIBQQFLDQEMBAsgAygCCCADKAIESw0GIARBADYCHCASIAhnQR9zIARBHGoQaiAIQQF2IgAgBCgCHCIBSQ0GIAAgAWsi.ACAIIABrIgFGBEAgACECDAMLIAMoAlQiAiADKAJMRg0BIAIoAgAgAyADKAJYIg1BAWoiDjYCWEGAgICAeCANdnEhCAJAIA5BIEYEQCADQQA2AlggAyACQQRq.NgJUIAgNAQwDCyAIRQ0CCyAAIQIgASEADAILA0AgAiAAQQJ0aiIFIAVBBGsoAgAiBUEBakEAIAUgAUEBa0cbNgIAIABBAWoiACADKAIMIgFJDQALDAILIAEh.AgsgDEF/Rg0DQQEgByAKQX9zanQhBiAEIAw2AgwgBCALNgIQIAQgAygCgAEgBWooAgA2AhQgBCADKAJ0IAVqKAIANgIYIAQgAygCkAEiATYCPCADKAKUASEI.IAQgETYCSCAEIARBDGo2AkQgBCAEQTxqNgJAIAMCfyABIAhJBEAgASAEKQIUNwIIIAEgBCkCDDcCACABQRBqDAELIARBQGsQGCAEKAI8CzYCkAEgAygCgAEg.BWoiASABKAIAQQFqNgIAIAMoAnQgBWoiASABKAIAIAZqNgIAIAIEQCAEKAI0IgYgBCgCMGoiBSAEKAIoIgggBCgCJCIBa0ECdUHVAmxBAWtBACABIAhHG0YE.QCAEQSBqEAsgBCgCNCIGIAQoAjBqIQUgBCgCJCEBCyABIAVB1QJuIghBAnRqKAIAIAUgCEHVAmxrQQxsaiIBIAw2AgggASALNgIEIAEgAjYCACAEIAZBAWo2.AjQLIAxBAWohDCAARQ0BIAQoAjQiBiAEKAIwaiIFIAQoAigiAiAEKAIkIgFrQQJ1QdUCbEEBa0EAIAEgAkcbRgRAIARBIGoQCyAEKAI0IgYgBCgCMGohBSAE.KAIkIQELIAEgBUHVAm4iAkECdGooAgAgBSACQdUCbGtBDGxqIgEgDDYCCCABIAs2AgQgASAANgIAIAQgBkEBajYCNAwBC0EAIQsgCEUNAANAIAMoAgwEQCAD.KAKAASENIAMoAlwhAiADKAJoIQ5BACEAA0AgAiAOIABBAnRqIgUoAgBBAnRqQQA2AgACQCADKAIAIgEgDSAFKAIAQQJ0IgZqKAIAIgdGDQAgAiAGaiEGIAEg.B2siAUEgIAMoAjAiB2siD0wEQCADKAIsIgogAygCJEYEQEEAIQYMCAsgBiAKKAIAIAd0QSAgAWt2NgIAIAMgAygCMCABaiIBNgIwIAFBIEcNASADQQA2AjAg.AyAKQQRqNgIsDAELIAMoAiwiCkEEaiITIAMoAiRGBEBBACEGDAcLIAooAgAhFCADIBM2AiwgAyABIA9rIg82AjAgBiAKKAIEQSAgD2t2IBQgB3RBICABa3Zy.NgIACyACIAUoAgBBAnQiAWoiBSAFKAIAIAMoAnQgAWooAgByNgIAIABBAWoiACADKAIMSQ0ACwtBACEGAkAgCSgCECIAIAkoAhRGDQADQCAJKAIcIQIgACAG.QRRsaiIHKAIAIgotAFRFBEAgCigCRCACQQJ0aigCACECCyACIAooAlBPDQECfyADKAJcIAcoAgRBAnRqIg0gBygCDCIBQQNLDQAaQQAhBSAJKAIMIgAgBygC.EEUNABoDQCABBEAgACANIAVBAnRqIAH8CgAACyAAIAcoAgwiAWohACAFQQFqIgUgBygCEEkNAAsgCSgCDAshASAKKAIoIgAEQCAKKAIAKAIAIAAgAmxqIAEg.APwKAAALIAZBAWoiBiAJKAIUIAkoAhAiAGtBFG1JDQALCyAJIAkoAhxBAWo2AhwgAyADKAIIQQFqNgIIIAtBAWoiCyAIRw0ACwsgBCgCNCIADQALQQEhBgsg.BEEANgI0IAQoAigiASAEKAIkIgBrQQJ1IgVBA08EQANAIAAoAgAQBSAEIAQoAiRBBGoiADYCJCAEKAIoIgEgAGtBAnUiBUECSw0ACwtBqgEhAgJAAkACQCAF.QQFrDgIBAAILQdUCIQILIAQgAjYCMAsgACABRgR/IAEFA0AgACgCABAFIABBBGoiACABRw0ACyAEKAIoIQEgBCgCJAshACAEIAEgASAAa0F8cWs2AiggBCgC.ICIABEAgABAFCyAEQdAAaiQACyAGC7gVAhF/An4CQCABKQMIIAEpAxAiFUIEfFMNACAAIAEoAgAgFadqKAAAIgU2AgAgASABKQMQIhVCBHwiFjcDECAFQSBL.DQAgASkDCCAVQgh8Uw0AIAAgASgCACAWp2ooAAAiBTYCBCABIAEpAxBCBHw3AxAgBUUEQEEBDwsgAyAFSQ0AIABBADYCCCAAQRBqIAEQCEUNACAAQSBqIAEQ.CkUNACAAQTRqIAEQCkUNACAAQcgAaiABEApFDQAgACgCBCEQIAIhCSMAQdAAayIEJAAgACIDKAIMIQAgBEEANgIgIANB9ABqIAAgBEEgaiIAEA8gAygCDCEB.IARBADYCICADQYABaiABIAAQDyADIAMoAowBNgKQASAEQgA3AzAgBEIANwMoIARCADcDICAAEAsgBCgCJCAEKAI0IgAgBCgCMGoiAUHVAm4iAkECdGooAgAg.ASACQdUCbGtBDGxqIgFCADcCBCABIBA2AgBBASEGAkAgAEEBaiIARQ0AIANBjAFqIREgA0EQaiESA0AgBCgCJCICIAQoAjAiBiAAQQFrIgdqIgFB1QJuIgVB.AnRqKAIAIAEgBUHVAmxrQQxsaiIFKAIIIQEgBSgCBCELIAUoAgAhCCAEIAc2AjQgBCgCKCIFIAJrQQJ1QdUCbEEBa0EAIAIgBUcbIAAgBmprQQFqQaoFTwRA.IAVBBGsoAgAQBSAEIAQoAihBBGs2AigLIAEgDEcEQCABIAxLBEBBACEGDAMLAkAgAygCjAEiBSADKAKQASIARg0AA0AgAEEQayICKAIAIAFJDQEgAygCdCAA.QQxrIgYoAgBBAnRqIABBBGsoAgA2AgAgAigCACABRg0BIAMoAoABIAYoAgBBAnRqIABBCGsoAgA2AgAgAyACNgKQASACIgAgBUcNAAsLIAEhDAtBACEGIAgg.EEsNASALQQFqQQAgCyADKAIMIgBBAWtHGyILIABPDQECQCADKAIAIgcgC0ECdCIFIAMoAoABaigCACIKRgRAIAhFDQEgCSgCECEFIAkoAhQhAUEAIQsDQCAB.IAVGIQIgASEAQQAhBiAFIQECQCACDQADQCAJKAIcIQIgBSAGQRRsaiIHKAIAIgotAFRFBEAgCigCRCACQQJ0aigCACECCyAAIQEgAiAKKAJQTw0BAn8gAygC.dCAHKAIEQQJ0aiINIAcoAgwiAUEDSw0AGkEAIQUgCSgCDCIAIAcoAhBFDQAaA0AgAQRAIAAgDSAFQQJ0aiAB/AoAAAsgACAHKAIMIgFqIQAgBUEBaiIFIAco.AhBJDQALIAkoAgwLIQEgCigCKCIABEAgCigCACgCACAAIAJsaiABIAD8CgAACyAJKAIUIgAhASAGQQFqIgYgACAJKAIQIgVrQRRtSQ0ACwsgCSAJKAIcQQFq.NgIcIAMgAygCCEEBajYCCCAIIAtBAWoiC0cNAAsMAQsCQAJAAkACQCAIQQJNBEAgAygCaCICIAs2AgBBASEAIAMoAgwiAUEBSw0BDAQLIAMoAgggAygCBEsN.BiAEQQA2AhwgEiAIZ0EfcyAEQRxqEGogCEEBdiIAIAQoAhwiAUkNBiAAIAFrIgAgCCAAayIBRgRAIAAhAgwDCyADKAJUIgIgAygCTEYNASACKAIAIAMgAygC.WCINQQFqIg42AlhBgICAgHggDXZxIQgCQCAOQSBGBEAgA0EANgJYIAMgAkEEajYCVCAIDQEMAwsgCEUNAgsgACECIAEhAAwCCwNAIAIgAEECdGoiBSAFQQRr.KAIAIgVBAWpBACAFIAFBAWtHGzYCACAAQQFqIgAgAygCDCIBSQ0ACwwCCyABIQILIAxBf0YNA0EBIAcgCkF/c2p0IQYgBCAMNgIMIAQgCzYCECAEIAMoAoAB.IAVqKAIANgIUIAQgAygCdCAFaigCADYCGCAEIAMoApABIgE2AjwgAygClAEhCCAEIBE2AkggBCAEQQxqNgJEIAQgBEE8ajYCQCADAn8gASAISQRAIAEgBCkC.FDcCCCABIAQpAgw3AgAgAUEQagwBCyAEQUBrEBggBCgCPAs2ApABIAMoAoABIAVqIgEgASgCAEEBajYCACADKAJ0IAVqIgEgASgCACAGajYCACACBEAgBCgC.NCIGIAQoAjBqIgUgBCgCKCIIIAQoAiQiAWtBAnVB1QJsQQFrQQAgASAIRxtGBEAgBEEgahALIAQoAjQiBiAEKAIwaiEFIAQoAiQhAQsgASAFQdUCbiIIQQJ0.aigCACAFIAhB1QJsa0EMbGoiASAMNgIIIAEgCzYCBCABIAI2AgAgBCAGQQFqNgI0CyAMQQFqIQwgAEUNASAEKAI0IgYgBCgCMGoiBSAEKAIoIgIgBCgCJCIB.a0ECdUHVAmxBAWtBACABIAJHG0YEQCAEQSBqEAsgBCgCNCIGIAQoAjBqIQUgBCgCJCEBCyABIAVB1QJuIgJBAnRqKAIAIAUgAkHVAmxrQQxsaiIBIAw2Aggg.ASALNgIEIAEgADYCACAEIAZBAWo2AjQMAQtBACELIAhFDQADQCADKAIMBEAgAygCgAEhDSADKAJcIQIgAygCaCEOQQAhAANAIAIgDiAAQQJ0aiIFKAIAQQJ0.akEANgIAAkAgAygCACIBIA0gBSgCAEECdCIGaigCACIHRg0AIAIgBmohBiABIAdrIgFBICADKAIwIgdrIg9MBEAgAygCLCIKIAMoAiRGBEBBACEGDAgLIAYg.CigCACAHdEEgIAFrdjYCACADIAMoAjAgAWoiATYCMCABQSBHDQEgA0EANgIwIAMgCkEEajYCLAwBCyADKAIsIgpBBGoiEyADKAIkRgRAQQAhBgwHCyAKKAIA.IRQgAyATNgIsIAMgASAPayIPNgIwIAYgCigCBEEgIA9rdiAUIAd0QSAgAWt2cjYCAAsgAiAFKAIAQQJ0IgFqIgUgBSgCACADKAJ0IAFqKAIAcjYCACAAQQFq.IgAgAygCDEkNAAsLQQAhBgJAIAkoAhAiACAJKAIURg0AA0AgCSgCHCECIAAgBkEUbGoiBygCACIKLQBURQRAIAooAkQgAkECdGooAgAhAgsgAiAKKAJQTw0B.An8gAygCXCAHKAIEQQJ0aiINIAcoAgwiAUEDSw0AGkEAIQUgCSgCDCIAIAcoAhBFDQAaA0AgAQRAIAAgDSAFQQJ0aiAB/AoAAAsgACAHKAIMIgFqIQAgBUEB.aiIFIAcoAhBJDQALIAkoAgwLIQEgCigCKCIABEAgCigCACgCACAAIAJsaiABIAD8CgAACyAGQQFqIgYgCSgCFCAJKAIQIgBrQRRtSQ0ACwsgCSAJKAIcQQFq.NgIcIAMgAygCCEEBajYCCCALQQFqIgsgCEcNAAsLIAQoAjQiAA0AC0EBIQYLIARBADYCNCAEKAIoIgEgBCgCJCIAa0ECdSIFQQNPBEADQCAAKAIAEAUgBCAE.KAIkQQRqIgA2AiQgBCgCKCIBIABrQQJ1IgVBAksNAAsLQaoBIQICQAJAAkAgBUEBaw4CAQACC0HVAiECCyAEIAI2AjALIAAgAUYEfyABBQNAIAAoAgAQBSAA.QQRqIgAgAUcNAAsgBCgCKCEBIAQoAiQLIQAgBCABIAEgAGtBfHFrNgIoIAQoAiAiAARAIAAQBQsgBEHQAGokAAsgBgvQFgIQfwJ+AkAgASkDCCABKQMQIhRC.BHxTDQAgACABKAIAIBSnaigAACIHNgIAIAEgASkDECIVQgR8IhQ3AxAgB0EgSw0AIAEpAwggFUIIfFMNACAAIAEoAgAgFKdqKAAAIgc2AgQgASABKQMQQgR8.NwMQIAdFBEBBAQ8LIAMgB0kNACAAQQA2AgggAEEQaiABEApFDQAgAEEkaiABEApFDQAgAEE4aiABEApFDQAgAEHMAGogARAKRQ0AIAAoAgQhEiACIQgjAEFA.aiIFJAAgACIEKAIMIQAgBUEANgIQIARB+ABqIAAgBUEQaiIBEA8gBCgCDCEAIAVBADYCECAEQYQBaiAAIAEQDyAEIAQoApABNgKUASAFQgA3AyAgBUIANwMY.IAVCADcDECABEAsgBSgCFCAFKAIkIgIgBSgCIGoiAUHVAm4iAEECdGooAgAgASAAQdUCbGtBDGxqIgBCADcCBCAAIBI2AgBBASEHAkAgAkEBaiIBRQ0AIARB.kAFqIRMDQCAFKAIUIgcgBSgCICIGIAFBAWsiA2oiAkHVAm4iAEECdGooAgAgAiAAQdUCbGtBDGxqIgAoAgghAiAAKAIEIQsgACgCACEMIAUgAzYCJCAFKAIY.IgAgB2tBAnVB1QJsQQFrQQAgACAHRxsgASAGamtBAWpBqgVPBEAgAEEEaygCABAFIAUgBSgCGEEEazYCGAsgAiAORwRAIAIgDksEQEEAIQcMAwsCQCAEKAKQ.ASIGIAQoApQBIgFGDQADQCABQRBrIgAoAgAgAkkNASAEKAJ4IAFBDGsiAygCAEECdGogAUEEaygCADYCACAAKAIAIAJGDQEgBCgChAEgAygCAEECdGogAUEI.aygCADYCACAEIAA2ApQBIAAiASAGRw0ACwsgAiEOCyAMIBJLBEBBACEHDAILQQAhByALQQFqQQAgCyAEKAIMIgBBAWtHGyIPIABPDQECQAJAIAQoAgAiCSAP.QQJ0IhAgBCgChAFqIgooAgAiC0YEQCAMRQ0BIAgoAhAhBiAIKAIUIQADQCAAIAZGIQIgACEBQQAhAyAGIQACQCACDQADQCAIKAIcIQIgBiADQRRsaiIJKAIA.IgotAFRFBEAgCigCRCACQQJ0aigCACECCyABIQAgAiAKKAJQTw0BAn8gBCgCeCAJKAIEQQJ0aiILIAkoAgwiAEEDSw0AGkEAIQYgCCgCDCIBIAkoAhBFDQAa.A0AgAARAIAEgCyAGQQJ0aiAA/AoAAAsgASAJKAIMIgBqIQEgBkEBaiIGIAkoAhBJDQALIAgoAgwLIQAgCigCKCIBBEAgCigCACgCACABIAJsaiAAIAH8CgAA.CyAIKAIUIgEhACADQQFqIgMgASAIKAIQIgZrQRRtSQ0ACwsgCCAIKAIcQQFqNgIcIAQgBCgCCEEBajYCCCAMIAdBAWoiB0cNAAsMAQsCQAJAAkACQCAMQQJN.BEAgBCgCbCIDIA82AgBBASEBIAQoAgwiAEEBSw0BDAQLIAQoAgggBCgCBEsNBwJAAkACQCAMZ0EfcyINQSAgBCgCICIGayICTARAIAQoAhwiAyAEKAIURg0C.IAMoAgAgBCAGIA1qIgA2AiAgBnRBICANa3YhAiAAQSBHDQEgBEEANgIgIAQgA0EEajYCHAwBCyAEKAIcIgNBBGoiACAEKAIURg0BIAMoAgAhASAEIAA2Ahwg.BCANIAJrIgA2AiAgAygCBEEgIABrdiABIAZ0QSAgDWt2ciECCyAMQQF2IgMgAkkNCQwBCyAMQQF2IQNBACECCyADIAJrIgIgDCACayIARgRAIAIhAwwDCyAE.KAJYIg0gBCgCUEYNASANKAIAIAQgBCgCXCIDQQFqIgE2AlxBgICAgHggA3ZxIQMCQCABQSBGBEAgBEEANgJcIAQgDUEEajYCWCADDQEMAwsgA0UNAgsgAiED.IAAhAgwCCwNAIAMgAUECdGoiAiACQQRrKAIAIgJBAWpBACACIABBAWtHGzYCACABQQFqIgEgBCgCDCIASQ0ACwwCCyAAIQMLIA5Bf0YNBEEBIAkgC0F/c2p0.IQEgBSAONgIAIAUgDzYCBCAFIAooAgA2AgggBSAEKAJ4IBBqKAIANgIMIAUgBCgClAEiBjYCLCAEKAKYASEAIAUgEzYCOCAFIAU2AjQgBSAFQSxqNgIwIAQC.fyAAIAZLBEAgBiAFKQIINwIIIAYgBSkCADcCACAGQRBqDAELIAVBMGoQGCAFKAIsCzYClAEgBCgChAEgEGoiACAAKAIAQQFqNgIAIAQoAnggEGoiACAAKAIA.IAFqNgIAIAMEQCAFKAIkIgcgBSgCIGoiBiAFKAIYIgEgBSgCFCIAa0ECdUHVAmxBAWtBACAAIAFHG0YEQCAFQRBqEAsgBSgCJCIHIAUoAiBqIQYgBSgCFCEA.CyAAIAZB1QJuIgFBAnRqKAIAIAYgAUHVAmxrQQxsaiIAIA42AgggACAPNgIEIAAgAzYCACAFIAdBAWo2AiQLIA5BAWohDiACRQ0BIAUoAiQiByAFKAIgaiIG.IAUoAhgiASAFKAIUIgBrQQJ1QdUCbEEBa0EAIAAgAUcbRgRAIAVBEGoQCyAFKAIkIgcgBSgCIGohBiAFKAIUIQALIAAgBkHVAm4iAUECdGooAgAgBiABQdUC.bGtBDGxqIgAgDjYCCCAAIA82AgQgACACNgIAIAUgB0EBaiIBNgIkDAILIAxFDQADQCAEKAIMBEAgBCgChAEhCyAEKAJgIQ8gBCgCbCEGQQAhAQNAIA8gBiAB.QQJ0aiIQKAIAQQJ0akEANgIAAkAgBCgCACIDIAsgECgCAEECdCICaigCACIARg0AIAIgD2ohDSADIABrIhFBICAEKAI0IglrIgNMBEAgBCgCMCICIAQoAihG.BEBBACEHDAkLIA0gAigCACAJdEEgIBFrdjYCACAEIAQoAjQgEWoiADYCNCAAQSBHDQEgBEEANgI0IAQgAkEEajYCMAwBCyAEKAIwIgpBBGoiACAEKAIoRgRA.QQAhBwwICyAKKAIAIQIgBCAANgIwIAQgESADayIANgI0IA0gCigCBEEgIABrdiACIAl0QSAgEWt2cjYCAAsgDyAQKAIAQQJ0IgJqIgAgACgCACAEKAJ4IAJq.KAIAcjYCACABQQFqIgEgBCgCDEkNAAsLQQAhAwJAIAgoAhAiASAIKAIURg0AA0AgCCgCHCECIAEgA0EUbGoiCSgCACIKLQBURQRAIAooAkQgAkECdGooAgAh.AgsgAiAKKAJQTw0BAn8gBCgCYCAJKAIEQQJ0aiILIAkoAgwiAEEDSw0AGkEAIQYgCCgCDCIBIAkoAhBFDQAaA0AgAARAIAEgCyAGQQJ0aiAA/AoAAAsgASAJ.KAIMIgBqIQEgBkEBaiIGIAkoAhBJDQALIAgoAgwLIQAgCigCKCIBBEAgCigCACgCACABIAJsaiAAIAH8CgAACyADQQFqIgMgCCgCFCAIKAIQIgFrQRRtSQ0A.CwsgCCAIKAIcQQFqNgIcIAQgBCgCCEEBajYCCCAHQQFqIgcgDEcNAAsLIAUoAiQhAQsgAQ0AC0EBIQcLIAVBADYCJCAFKAIYIgAgBSgCFCIBa0ECdSIGQQNP.BEADQCABKAIAEAUgBSAFKAIUQQRqIgE2AhQgBSgCGCIAIAFrQQJ1IgZBAksNAAsLQaoBIQICQAJAAkAgBkEBaw4CAQACC0HVAiECCyAFIAI2AiALIAAgAUYE.fyAABQNAIAEoAgAQBSABQQRqIgEgAEcNAAsgBSgCGCEAIAUoAhQLIQEgBSAAIAAgAWtBfHFrNgIYIAUoAhAiAARAIAAQBQsgBUFAayQAIAchBgsgBgvJFgIQ.fwJ+AkAgASkDCCABKQMQIhRCBHxTDQAgACABKAIAIBSnaigAACIHNgIAIAEgASkDECIVQgR8IhQ3AxAgB0EgSw0AIAEpAwggFUIIfFMNACAAIAEoAgAgFKdq.KAAAIgc2AgQgASABKQMQQgR8NwMQIAdFBEBBAQ8LIAMgB0kNACAAQQA2AgggAEEQaiABEApFDQAgAEEkaiABEApFDQAgAEE4aiABEApFDQAgAEHMAGogARAK.RQ0AIAAoAgQhEiACIQgjAEFAaiIFJAAgACIEKAIMIQAgBUEANgIQIARB+ABqIAAgBUEQaiIBEA8gBCgCDCEAIAVBADYCECAEQYQBaiAAIAEQDyAEIAQoApAB.NgKUASAFQgA3AyAgBUIANwMYIAVCADcDECABEAsgBSgCFCAFKAIkIgIgBSgCIGoiAUHVAm4iAEECdGooAgAgASAAQdUCbGtBDGxqIgBCADcCBCAAIBI2AgBB.ASEHAkAgAkEBaiIBRQ0AIARBkAFqIRMDQCAFKAIUIgcgBSgCICIGIAFBAWsiA2oiAkHVAm4iAEECdGooAgAgAiAAQdUCbGtBDGxqIgAoAgghAiAAKAIEIQsg.ACgCACEMIAUgAzYCJCAFKAIYIgAgB2tBAnVB1QJsQQFrQQAgACAHRxsgASAGamtBAWpBqgVPBEAgAEEEaygCABAFIAUgBSgCGEEEazYCGAsgAiAORwRAIAIg.DksEQEEAIQcMAwsCQCAEKAKQASIGIAQoApQBIgFGDQADQCABQRBrIgAoAgAgAkkNASAEKAJ4IAFBDGsiAygCAEECdGogAUEEaygCADYCACAAKAIAIAJGDQEg.BCgChAEgAygCAEECdGogAUEIaygCADYCACAEIAA2ApQBIAAiASAGRw0ACwsgAiEOC0EAIQcgDCASSw0BIAtBAWpBACALIAQoAgwiAEEBa0cbIg8gAE8NAQJA.AkAgBCgCACIJIA9BAnQiECAEKAKEAWoiCigCACILRgRAIAxFDQEgCCgCECEGIAgoAhQhAANAIAAgBkYhAiAAIQFBACEDIAYhAAJAIAINAANAIAgoAhwhAiAG.IANBFGxqIgkoAgAiCi0AVEUEQCAKKAJEIAJBAnRqKAIAIQILIAEhACACIAooAlBPDQECfyAEKAJ4IAkoAgRBAnRqIgsgCSgCDCIAQQNLDQAaQQAhBiAIKAIM.IgEgCSgCEEUNABoDQCAABEAgASALIAZBAnRqIAD8CgAACyABIAkoAgwiAGohASAGQQFqIgYgCSgCEEkNAAsgCCgCDAshACAKKAIoIgEEQCAKKAIAKAIAIAEg.AmxqIAAgAfwKAAALIAgoAhQiASEAIANBAWoiAyABIAgoAhAiBmtBFG1JDQALCyAIIAgoAhxBAWo2AhwgBCAEKAIIQQFqNgIIIAwgB0EBaiIHRw0ACwwBCwJA.AkACQAJAIAxBAk0EQCAEKAJsIgMgDzYCAEEBIQEgBCgCDCIAQQFLDQEMBAsgBCgCCCAEKAIESw0HAkACQAJAIAxnQR9zIg1BICAEKAIgIgZrIgJMBEAgBCgC.HCIDIAQoAhRGDQIgAygCACAEIAYgDWoiADYCICAGdEEgIA1rdiECIABBIEcNASAEQQA2AiAgBCADQQRqNgIcDAELIAQoAhwiA0EEaiIAIAQoAhRGDQEgAygC.ACEBIAQgADYCHCAEIA0gAmsiADYCICADKAIEQSAgAGt2IAEgBnRBICANa3ZyIQILIAxBAXYiAyACSQ0JDAELIAxBAXYhA0EAIQILIAMgAmsiAiAMIAJrIgBG.BEAgAiEDDAMLIAQoAlgiDSAEKAJQRg0BIA0oAgAgBCAEKAJcIgNBAWoiATYCXEGAgICAeCADdnEhAwJAIAFBIEYEQCAEQQA2AlwgBCANQQRqNgJYIAMNAQwD.CyADRQ0CCyACIQMgACECDAILA0AgAyABQQJ0aiICIAJBBGsoAgAiAkEBakEAIAIgAEEBa0cbNgIAIAFBAWoiASAEKAIMIgBJDQALDAILIAAhAwsgDkF/Rg0E.QQEgCSALQX9zanQhASAFIA42AgAgBSAPNgIEIAUgCigCADYCCCAFIAQoAnggEGooAgA2AgwgBSAEKAKUASIGNgIsIAQoApgBIQAgBSATNgI4IAUgBTYCNCAF.IAVBLGo2AjAgBAJ/IAAgBksEQCAGIAUpAgg3AgggBiAFKQIANwIAIAZBEGoMAQsgBUEwahAYIAUoAiwLNgKUASAEKAKEASAQaiIAIAAoAgBBAWo2AgAgBCgC.eCAQaiIAIAAoAgAgAWo2AgAgAwRAIAUoAiQiByAFKAIgaiIGIAUoAhgiASAFKAIUIgBrQQJ1QdUCbEEBa0EAIAAgAUcbRgRAIAVBEGoQCyAFKAIkIgcgBSgC.IGohBiAFKAIUIQALIAAgBkHVAm4iAUECdGooAgAgBiABQdUCbGtBDGxqIgAgDjYCCCAAIA82AgQgACADNgIAIAUgB0EBajYCJAsgDkEBaiEOIAJFDQEgBSgC.JCIHIAUoAiBqIgYgBSgCGCIBIAUoAhQiAGtBAnVB1QJsQQFrQQAgACABRxtGBEAgBUEQahALIAUoAiQiByAFKAIgaiEGIAUoAhQhAAsgACAGQdUCbiIBQQJ0.aigCACAGIAFB1QJsa0EMbGoiACAONgIIIAAgDzYCBCAAIAI2AgAgBSAHQQFqIgE2AiQMAgsgDEUNAANAIAQoAgwEQCAEKAKEASELIAQoAmAhDyAEKAJsIQZB.ACEBA0AgDyAGIAFBAnRqIhAoAgBBAnRqQQA2AgACQCAEKAIAIgMgCyAQKAIAQQJ0IgJqKAIAIgBGDQAgAiAPaiENIAMgAGsiEUEgIAQoAjQiCWsiA0wEQCAE.KAIwIgIgBCgCKEYEQEEAIQcMCQsgDSACKAIAIAl0QSAgEWt2NgIAIAQgBCgCNCARaiIANgI0IABBIEcNASAEQQA2AjQgBCACQQRqNgIwDAELIAQoAjAiCkEE.aiIAIAQoAihGBEBBACEHDAgLIAooAgAhAiAEIAA2AjAgBCARIANrIgA2AjQgDSAKKAIEQSAgAGt2IAIgCXRBICARa3ZyNgIACyAPIBAoAgBBAnQiAmoiACAA.KAIAIAQoAnggAmooAgByNgIAIAFBAWoiASAEKAIMSQ0ACwtBACEDAkAgCCgCECIBIAgoAhRGDQADQCAIKAIcIQIgASADQRRsaiIJKAIAIgotAFRFBEAgCigC.RCACQQJ0aigCACECCyACIAooAlBPDQECfyAEKAJgIAkoAgRBAnRqIgsgCSgCDCIAQQNLDQAaQQAhBiAIKAIMIgEgCSgCEEUNABoDQCAABEAgASALIAZBAnRq.IAD8CgAACyABIAkoAgwiAGohASAGQQFqIgYgCSgCEEkNAAsgCCgCDAshACAKKAIoIgEEQCAKKAIAKAIAIAEgAmxqIAAgAfwKAAALIANBAWoiAyAIKAIUIAgo.AhAiAWtBFG1JDQALCyAIIAgoAhxBAWo2AhwgBCAEKAIIQQFqNgIIIAdBAWoiByAMRw0ACwsgBSgCJCEBCyABDQALQQEhBwsgBUEANgIkIAUoAhgiACAFKAIU.IgFrQQJ1IgZBA08EQANAIAEoAgAQBSAFIAUoAhRBBGoiATYCFCAFKAIYIgAgAWtBAnUiBkECSw0ACwtBqgEhAgJAAkACQCAGQQFrDgIBAAILQdUCIQILIAUg.AjYCIAsgACABRgR/IAAFA0AgASgCABAFIAFBBGoiASAARw0ACyAFKAIYIQAgBSgCFAshASAFIAAgACABa0F8cWs2AhggBSgCECIABEAgABAFCyAFQUBrJAAg.ByEGCyAGCzcBAn8gAEHk9gA2AgAgACgCBCICQQRrIgEgASgCAEEBayIBNgIAIAFBAEgEQCACQQxrEAULIAAL3QEBCH8CQCAAKAIIIgMoAgQgAygCACIFayIE.QQJ1IgZBAWoiAUGAgICABEkEQEH/////AyADKAIIIAVrIgJBAXUiByABIAEgB0kbIAJB/P///wdPGyICQYCAgIAETw0BIAAoAgQhASACQQJ0IgcQBiECIAEo.AgAhCCABQQA2AgAgAiAEaiIBIAg2AgAgASAGQQJ0ayEGIAQEQCAGIAUgBPwKAAALIAMgAiAHajYCCCADIAFBBGoiBDYCBCADIAY2AgAgBQRAIAUQBQsgACgC.ACAENgIADwsQBwALEA4AC9cCAgl9An8CQCACKAIcQQlHDQAgAi0AGEEDRw0AIAAoAgQiAEECa0EcSw0AQQEhDCACKAJQIg1FDQBDAAAAQEEBIAB0QQJrs5Uh.CCACKAIAKAIAIAIoAjBqIQIgASgCACgCACABKAIwaiEAQQAhAQNAQwAAAAAhA0MAAAAAIQlDAAAAACEKIAAoAgSyIAiUQwAAgL+SIgRDAAAAAEMAAIA/IAAo.AgCyIAiUQwAAgL+SIgWLkyAEi5MiBowgBkMAAAAAXhsiByAHjCILIARDAAAAAF0bkiIEIASUIAYgBpQgBSAHIAsgBUMAAAAAXRuSIgUgBZSSkiIHu0SN7bWg.98awPmNFBEAgBEMAAIA/IAeRlSIDlCEKIAUgA5QhCSAGIAOUIQMLIABBCGohACACIAo4AAggAiAJOAAEIAIgAzgAACACQQxqIQIgAUEBaiIBIA1HDQALCyAM.C5oBACAAQQE6ADUCQCACIAAoAgRHDQAgAEEBOgA0AkAgACgCECICRQRAIABBATYCJCAAIAM2AhggACABNgIQIANBAUcNAiAAKAIwQQFGDQEMAgsgASACRgRA.IAAoAhgiAkECRgRAIAAgAzYCGCADIQILIAAoAjBBAUcNAiACQQFGDQEMAgsgACAAKAIkQQFqNgIkCyAAQQE6ADYLC3YBAX8gACgCJCIDRQRAIAAgAjYCGCAA.IAE2AhAgAEEBNgIkIAAgACgCODYCFA8LAkACQCAAKAIUIAAoAjhHDQAgACgCECABRw0AIAAoAhhBAkcNASAAIAI2AhgPCyAAQQE6ADYgAEECNgIYIAAgA0EB.ajYCJAsLAgALsgEBAX8jAEEgayIHJAAgB0EUaiAAIAEgAmoQswEQeCAAKAIAIAAgACwAC0EASBshAgJAIAVFIgENACABDQAgBygCFCAGIAX8CgAACyADIARr.IQECQCADIARGDQAgAUUNACAHKAIUIAVqIAIgBGogAfwKAAALIAcgASAFaiIBNgIYIAcoAhQgAWpBADoAACAHIAcoAhw2AhAgByAHKQIUNwMIIAAgB0EIahC1.ASAHQSBqJAALUQECfyAAQeT2ADYCACABEBkiA0ENahAGIgJBADYCCCACIAM2AgQgAiADNgIAIAJBDGohAiADQQFqIgMEQCACIAEgA/wKAAALIAAgAjYCBCAA.C0wBAX8gAUH3////B08EQBA8AAtB9v///wcgAUEKIAAoAghB/////wdxQQFrIAAsAAtBAE4bIgBBAXQiAiABIAJLGyAAQfP///8DSxsLXgEBfyMAQRBrIgIk.ACABQff///8HSQRAAkAgAUEKTQRAIAAgAToACwwBCyACQQRqIAEQeCAAIAIoAgw2AgggACACKQIENwIAIAAoAgAhAAsgAkEQaiQAIAAPCxA8AAsuACAALAAL.QQBIBEAgACgCCBogACgCABAFCyAAIAEoAgg2AgggACABKQIANwIAC2gBA38jAEEQayIDJAAgA0EAOgAOIAEgAGtBAnUhASACKAIAIQQDQCABBEAgASABQQF2.IgJBf3NqIAIgACACQQJ0aiICKAIAIARJIgUbIQEgAkEEaiAAIAUbIQAMAQsLIANBEGokACAAC+IMAQl/IwBBEGsiBCQAIAQgADYCDAJAIABB0wFNBEBBkO8A.QdDwACAEQQxqELYBKAIAIQAMAQsgAEF8TwRAEL0BAAsgBCAAIABB0gFuIgZB0gFsIgBrNgIIQdDwAEGQ8gAgBEEIahC2ASIBKAIAIABqIQAgAUHQ8ABrQQJ1.IQcDQEEFIQMgBSEBAkACQANAIAEhBSADQS9GBEBB0wEhAwNAIAAgA24iASADSQ0GIAAgASADbEYNAyAAIANBCmoiAW4iAiABSQ0GIAAgASACbEYNAyAAIANB.DGoiAW4iAiABSQ0GIAAgASACbEYNAyAAIANBEGoiAW4iAiABSQ0GIAAgASACbEYNAyAAIANBEmoiAW4iAiABSQ0GIAAgASACbEYNAyAAIANBFmoiAW4iAiAB.SQ0GIAAgASACbEYNAyAAIANBHGoiAW4iAiABSQ0GIAAgASACbEYNAyAAIANBHmoiAW4iAiABSQ0GIAAgASACbEYNAyAAIANBJGoiAW4iAiABSQ0GIAAgASAC.bEYNAyAAIANBKGoiAW4iAiABSQ0GIAAgASACbEYNAyAAIANBKmoiAW4iAiABSQ0GIAAgASACbEYNAyAAIANBLmoiAW4iAiABSQ0GIAAgASACbEYNAyAAIANB.NGoiAW4iAiABSQ0GIAAgASACbEYNAyAAIANBOmoiAW4iAiABSQ0GIAAgASACbEYNAyAAIANBPGoiAW4iAiABSQ0GIAAgASACbEYNAyAAIANBwgBqIgFuIgIg.AUkNBiAAIAEgAmxGDQMgACADQcYAaiIBbiICIAFJDQYgACABIAJsRg0DIAAgA0HIAGoiAW4iAiABSQ0GIAAgASACbEYNAyAAIANBzgBqIgFuIgIgAUkNBiAA.IAEgAmxGDQMgACADQdIAaiIBbiICIAFJDQYgACABIAJsRg0DIAAgA0HYAGoiAW4iAiABSQ0GIAAgASACbEYNAyAAIANB4ABqIgFuIgIgAUkNBiAAIAEgAmxG.DQMgACADQeQAaiIBbiICIAFJDQYgACABIAJsRg0DIAAgA0HmAGoiAW4iAiABSQ0GIAAgASACbEYNAyAAIANB6gBqIgFuIgIgAUkNBiAAIAEgAmxGDQMgACAD.QewAaiIBbiICIAFJDQYgACABIAJsRg0DIAAgA0HwAGoiAW4iAiABSQ0GIAAgASACbEYNAyAAIANB+ABqIgFuIgIgAUkNBiAAIAEgAmxGDQMgACADQf4AaiIB.biICIAFJDQYgACABIAJsRg0DIAAgA0GCAWoiAW4iAiABSQ0GIAAgASACbEYNAyAAIANBiAFqIgFuIgIgAUkNBiAAIAEgAmxGDQMgACADQYoBaiIBbiICIAFJ.DQYgACABIAJsRg0DIAAgA0GOAWoiAW4iAiABSQ0GIAAgASACbEYNAyAAIANBlAFqIgFuIgIgAUkNBiAAIAEgAmxGDQMgACADQZYBaiIBbiICIAFJDQYgACAB.IAJsRg0DIAAgA0GcAWoiAW4iAiABSQ0GIAAgASACbEYNAyAAIANBogFqIgFuIgIgAUkNBiAAIAEgAmxGDQMgACADQaYBaiIBbiICIAFJDQYgACABIAJsRg0D.IAAgA0GoAWoiAW4iAiABSQ0GIAAgASACbEYNAyAAIANBrAFqIgFuIgIgAUkNBiAAIAEgAmxGDQMgACADQbIBaiIBbiICIAFJDQYgACABIAJsRg0DIAAgA0G0.AWoiAW4iAiABSQ0GIAAgASACbEYNAyAAIANBugFqIgFuIgIgAUkNBiAAIAEgAmxGDQMgACADQb4BaiIBbiICIAFJDQYgACABIAJsRg0DIAAgA0HAAWoiAW4i.AiABSQ0GIAAgASACbEYNAyAAIANBxAFqIgFuIgIgAUkNBiAAIAEgAmxGDQMgACADQcYBaiIBbiICIAFJDQYgACABIAJsRg0DIAAgA0HQAWoiAW4iAiABSQ0G.IANB0gFqIQMgACABIAJsRw0ACwwCCyAAIANBAnQoApBvIgFuIgIgAU8hCCABIAJsIQkgASACSyICRQRAIAUgACAIGyEBIANBAWohAyAAIAlHDQELCyAAIAlH.DQEgAg0BC0EAIAdBAWoiACAAQTBGIgAbIgdBAnQoAtBwIAAgBmoiBkHSAWxqIQAMAQsLIAUgACAIGyEACyAEQRBqJAAgAAuZAgAgAEUEQEEADwsCfwJAIAAE.fyABQf8ATQ0BAkBBsPoAKAIAKAIARQRAIAFBgH9xQYC/A0YNAwwBCyABQf8PTQRAIAAgAUE/cUGAAXI6AAEgACABQQZ2QcABcjoAAEECDAQLIAFBgEBxQYDA.A0cgAUGAsANPcUUEQCAAIAFBP3FBgAFyOgACIAAgAUEMdkHgAXI6AAAgACABQQZ2QT9xQYABcjoAAUEDDAQLIAFBgIAEa0H//z9NBEAgACABQT9xQYABcjoA.AyAAIAFBEnZB8AFyOgAAIAAgAUEGdkE/cUGAAXI6AAIgACABQQx2QT9xQYABcjoAAUEEDAQLC0GA+wBBGTYCAEF/BUEBCwwBCyAAIAE6AABBAQsLtAIAAkAC.QAJAAkACQAJAAkACQAJAAkACQCABQQlrDhIACAkKCAkBAgMECgkKCggJBQYHCyACIAIoAgAiAUEEajYCACAAIAEoAgA2AgAPCyACIAIoAgAiAUEEajYCACAA.IAEyAQA3AwAPCyACIAIoAgAiAUEEajYCACAAIAEzAQA3AwAPCyACIAIoAgAiAUEEajYCACAAIAEwAAA3AwAPCyACIAIoAgAiAUEEajYCACAAIAExAAA3AwAP.CyACIAIoAgBBB2pBeHEiAUEIajYCACAAIAErAwA5AwAPCwALDwsgAiACKAIAIgFBBGo2AgAgACABNAIANwMADwsgAiACKAIAIgFBBGo2AgAgACABNQIANwMA.DwsgAiACKAIAQQdqQXhxIgFBCGo2AgAgACABKQMANwMACwQAQQELbwEFfyAAKAIAIgMsAABBMGsiAUEJSwRAQQAPCwNAQX8hBCACQcyZs+YATQRAQX8gASAC.QQpsIgVqIAEgBUH/////B3NLGyEECyAAIANBAWoiBTYCACADLAABIAQhAiAFIQNBMGsiAUEKSQ0ACyACC5MVAhJ/A34jAEFAaiIGJAAgBiABNgI8IAZBKWoh.FCAGQSdqIRUgBkEoaiEQAkACQAJAAkADQEEAIQEDQCABIAtB/////wdzSg0CIAEgC2ohCyAGKAI8IgohAQJAAkACQAJAIAotAAAiBwRAA0ACQAJAIAdB/wFx.IgVFBEAgASEIDAELIAVBJUcNASABIQcDQCAHLQABQSVHBEAgByEIDAILIAFBAWohASAHLQACIAdBAmoiCCEHQSVGDQALCyAGIAg2AjwgASAKayIBIAtB////./wdzIhZKDQkgAARAIAAgCiABED4LIAENByAIQQFqIQFBfyEPAkAgCCwAAUEwayIFQQlLDQAgCC0AAkEkRw0AIAhBA2ohAUEBIREgBSEPCyAGIAE2AjxBACEM.AkAgASwAACIHQSBrIghBH0sEQCABIQUMAQsgASEFQQEgCHQiCEGJ0QRxRQ0AA0AgBiABQQFqIgU2AjwgCCAMciEMIAEsAAEiB0EgayIIQSBPDQEgBSEBQQEg.CHQiCEGJ0QRxDQALCwJAIAdBKkYEQAJ/AkAgBSwAAUEwayIBQQlLDQAgBS0AAkEkRw0AAn8gAEUEQCAEIAFBAnRqQQo2AgBBAAwBCyADIAFBA3RqKAIACyEN.IAVBA2ohAUEBDAELIBENBiAFQQFqIQEgAEUEQCAGIAE2AjxBACERQQAhDQwDCyACIAIoAgAiBUEEajYCACAFKAIAIQ1BAAshESAGIAE2AjwgDUEATg0BQQAg.DWshDSAMQYDAAHIhDAwBCyAGQTxqELsBIg1BAEgNCiAGKAI8IQELQQAhBUF/IQkCf0EAIAEtAABBLkcNABogAS0AAUEqRgRAAn8CQCABLAACQTBrIgdBCUsN.ACABLQADQSRHDQAgAUEEaiEBAn8gAEUEQCAEIAdBAnRqQQo2AgBBAAwBCyADIAdBA3RqKAIACwwBCyARDQYgAUECaiEBQQAgAEUNABogAiACKAIAIgdBBGo2.AgAgBygCAAshCSAGIAE2AjwgCUEATgwBCyAGIAFBAWo2AjwgBkE8ahC7ASEJIAYoAjwhAUEBCyESA0AgBSEOQRwhCCABIhMsAAAiBUH7AGtBRkkNCyABQQFq.IQEgDkE6bCAFakHv6gBqLQAAIgVBAWtB/wFxQQhJDQALIAYgATYCPAJAIAVBG0cEQCAFRQ0MIA9BAE4EQCAARQRAIAQgD0ECdGogBTYCAAwMCyAGIAMgD0ED.dGopAwA3AzAMAgsgAEUNCCAGQTBqIAUgAhC5AQwBCyAPQQBODQtBACEBIABFDQgLIAAtAABBIHENCyAMQf//e3EiByAMIAxBgMAAcRshBUEAIQxB6wghDyAQ.IQgCQAJAAn8CQAJAAkACQAJAAkACfwJAAkACQAJAAkACQAJAIBMtAAAiE8AiAUFTcSABIBNBD3FBA0YbIAEgDhsiAUHYAGsOIQQWFhYWFhYWFhAWCQYQEBAW.BhYWFhYCBQMWFgoWARYWBAALAkAgAUHBAGsOBxAWCxYQEBAACyABQdMARg0LDBULIAYpAzAhGEHrCAwFC0EAIQECQAJAAkACQAJAAkACQCAODggAAQIDBBwF.BhwLIAYoAjAgCzYCAAwbCyAGKAIwIAs2AgAMGgsgBigCMCALrDcDAAwZCyAGKAIwIAs7AQAMGAsgBigCMCALOgAADBcLIAYoAjAgCzYCAAwWCyAGKAIwIAus.NwMADBULQQggCSAJQQhNGyEJIAVBCHIhBUH4ACEBCyAQIQcgBikDMCIYIhdCAFIEQCABQSBxIQoDQCAHQQFrIgcgF6dBD3EtAIBvIApyOgAAIBdCBIgiF0IA.Ug0ACwsgByEKIBhQDQMgBUEIcUUNAyABQQR2QesIaiEPQQIhDAwDCyAQIQEgBikDMCIYIhdCAFIEQANAIAFBAWsiASAXp0EHcUEwcjoAACAXQgOIIhdCAFIN.AAsLIAEhCiAFQQhxRQ0CIAkgFCABayIBIAEgCUgbIQkMAgsgBikDMCIYQgBTBEAgBkIAIBh9Ihg3AzBBASEMQesIDAELIAVBgBBxBEBBASEMQewIDAELQe0I.QesIIAVBAXEiDBsLIQ8gECEBIBgiF0KAgICAEFoEQANAIAFBAWsiASAXIhkgF0IKgCIXQgp+fadBMHI6AAAgGUL/////nwFWDQALCyAXpyEHIBdCCloEQANA.IAFBAWsiASAHIgogB0EKbiIHQQpsa0EwcjoAACAKQeMASw0ACwsgBwRAIAFBAWsiASAHQTByOgAACyABIQoLIBIgCUEASHENESAFQf//e3EgBSASGyEFAkAg.GEIAUg0AIAkNACAQIQpBACEJDA4LIAkgGFAgECAKa2oiASABIAlIGyEJDA0LIAYtADAhAQwLCwJ/Qf////8HIAkgCUH/////B08bIg4iBUEARyEIAkACQAJA.IAYoAjAiAUGBDSABGyIKIgFBA3FFDQAgBUUNAANAIAEtAABFDQIgBUEBayIFQQBHIQggAUEBaiIBQQNxRQ0BIAUNAAsLIAhFDQECQCABLQAARQ0AIAVBBEkN.AANAQYCChAggASgCACIIayAIckGAgYKEeHFBgIGChHhHDQIgAUEEaiEBIAVBBGsiBUEDSw0ACwsgBUUNAQsDQCABIAEtAABFDQIaIAFBAWohASAFQQFrIgUN.AAsLQQALIgEgCmsgDiABGyIBIApqIQggCUEATgRAIAchBSABIQkMDAsgByEFIAEhCSAILQAADQ8MCwsgBikDMCIXQgBSDQFBACEBDAkLIAkEQCAGKAIwDAIL.QQAhASAAQSAgDUEAIAUQLwwCCyAGQQA2AgwgBiAXPgIIIAYgBkEIaiIBNgIwQX8hCSABCyEHQQAhAQNAAkAgBygCACIKRQ0AIAZBBGogChC4ASIKQQBIDQ8g.CiAJIAFrSw0AIAdBBGohByABIApqIgEgCUkNAQsLQT0hCCABQQBIDQwgAEEgIA0gASAFEC8gAUUEQEEAIQEMAQtBACEIIAYoAjAhBwNAIAcoAgAiCkUNASAG.QQRqIgkgChC4ASIKIAhqIgggAUsNASAAIAkgChA+IAdBBGohByABIAhLDQALCyAAQSAgDSABIAVBgMAAcxAvIA0gASABIA1IGyEBDAgLIBIgCUEASHENCUE9.IQggBisDMAALIAEtAAEhByABQQFqIQEMAAsACyAADQkgEUUNA0EBIQEDQCAEIAFBAnRqKAIAIgAEQCADIAFBA3RqIAAgAhC5AUEBIQsgAUEBaiIBQQpHDQEM.CwsLIAFBCk8EQEEBIQsMCgsDQCAEIAFBAnRqKAIADQFBASELIAFBAWoiAUEKRw0ACwwJC0EcIQgMBgsgBiABOgAnQQEhCSAVIQogByEFCyAJIAggCmsiDiAJ.IA5KGyIJIAxB/////wdzSg0DQT0hCCANIAkgDGoiByAHIA1IGyIBIBZLDQQgAEEgIAEgByAFEC8gACAPIAwQPiAAQTAgASAHIAVBgIAEcxAvIABBMCAJIA5B.ABAvIAAgCiAOED4gAEEgIAEgByAFQYDAAHMQLwwBCwsLQQAhCwwDC0E9IQgLQYD7ACAINgIAC0F/IQsLIAZBQGskACALCwUAEAQAC9gCAQN/IwBBEGsiBCQA.IAQgATYCDCMAQdABayICJAAgAiABNgLMASACQaABaiIBQQBBKPwLACACIAIoAswBNgLIAUEAIAAgAkHIAWogAkHQAGogARC8AUEASAR/QX8FQaD5AEGg+QAo.AgAiAUFfcTYCAAJ/AkACQEHQ+QAoAgBFBEBB0PkAQdAANgIAQbz5AEEANgIAQbD5AEIANwMAQcz5ACgCACEDQcz5ACACNgIADAELQbD5ACgCAA0BC0F/QaD5.ABDBAQ0BGgtBoPkAIAAgAkHIAWogAkHQAGogAkGgAWoQvAELIQAgAwR/QaD5AEEAQQBBxPkAKAIAEQMAGkHQ+QBBADYCAEHM+QAgAzYCAEG8+QBBADYCAEG0.+QAoAgAaQbD5AEIANwMAQQAFIAALGkGg+QBBoPkAKAIAIAFBIHFyNgIAQQALGiACQdABaiQAIARBEGokAAsaACABIAAgASACEMABIgBGBEAPCyAAIAFuGgvJ.AQEDfwJAIAIoAhAiAwR/IAMFIAIQwQENASACKAIQCyACKAIUIgRrIAFJBEAgAiAAIAEgAigCJBEDAA8LAkACQCACKAJQQQBIDQAgAUUNACABIQMDQCAAIANq.IgVBAWstAABBCkcEQCADQQFrIgMNAQwCCwsgAiAAIAMgAigCJBEDACIEIANJDQIgASADayEBIAIoAhQhBAwBCyAAIQVBACEDCyABBEAgBCAFIAH8CgAACyAC.IAIoAhQgAWo2AhQgASADaiEECyAEC1kBAX8gACAAKAJIIgFBAWsgAXI2AkggACgCACIBQQhxBEAgACABQSByNgIAQX8PCyAAQgA3AgQgACAAKAIsIgE2Ahwg.ACABNgIUIAAgASAAKAIwajYCEEEAC+SNAQIWfwJ+IwBBoAVrIhQkAAJAIAEpAwggASkDECIZQgR8Uw0AIAAgASgCACAZp2ooAAAiBTYCACABIAEpAxAiGUIE.fCIaNwMQIAVBH0sNACABKQMIIBlCCHxTDQAgACABKAIAIBqnaigAADYCBCABIAEpAxAiGUIEfCIaNwMQIAEpAwggGUIIfFMNACAAIAEoAgAgGqdqKAAAIgY2.AgwgASABKQMQIhlCBHwiGjcDECAAKAIUIgVBACAFIAZHGw0AIAEpAwggGUIIfFMNACAAIAEoAgAgGqdqKAAAIgU2AhAgASABKQMQQgR8NwMQIAVBB08EQCAU.IAU2AgBB5A0gFBC+AQwBCyAUIAI2ApwFAkAgBkUNAAJAIAYgAigCCCACKAIAIgVrQQxtTQ0AIAZB1qrVqgFJBEAgAigCBCERIAZBDGwiBhAGIgQgBmohAyAE.IBEgBWsiBmoiByAGQXRtQQxsaiEKIAUgEUcEQCAFIQYgCiEEA0AgBCAGKAIANgIAIAQgBigCBDYCBCAEIAYoAgg2AgggBEEMaiEEIAZBDGoiBiARRw0ACwsg.AiADNgIIIAIgBzYCBCACIAo2AgAgBUUNASAFEAUMAQsQBwALAkACQAJAAkACQAJAAkAgACgCEA4HAAECAwQFBggLIBRBBGpBAxA5IQQgFEGcBWohEQJAIAEp.AwggASkDECIZQgR8Uw0AIAQgASgCACAZp2ooAAAiBTYCACABIAEpAxAiGUIEfCIaNwMQIAVBIEsNACABKQMIIBlCCHxTDQAgBCABKAIAIBqnaigAACIFNgIE.IAEgASkDEEIEfDcDECAFRQ0AIARBADYCCCAEQRBqIAEQCkUNACAEQSRqIAEQCkUNACAEQThqIAEQCkUNACAEQcwAaiABEApFDQAgBCgCBCENQQAhCiMAQUBq.IgMkACAEKAIMIQEgA0EANgIQIARB+ABqIAEgA0EQaiIBEA8gBCgCDCEFIANBADYCECAEQYQBaiAFIAEQDyAEIAQoApABNgKUASADQgA3AyAgA0IANwMYIANC.ADcDECABEAsgAygCFCADKAIkIgEgAygCIGoiBUHVAm4iBkECdGooAgAgBSAGQdUCbGtBDGxqIgVCADcCBCAFIA02AgACQCABQQFqIgFFDQAgBEGQAWohFgNA.IAMoAhQiBiADKAIgIgwgAUEBayILaiIFQdUCbiIHQQJ0aigCACAFIAdB1QJsa0EMbGoiBygCCCEFIAcoAgQhCSAHKAIAIQggAyALNgIkIAMoAhgiByAGa0EC.dUHVAmxBAWtBACAGIAdHGyABIAxqa0EBakGqBU8EQCAHQQRrKAIAEAUgAyADKAIYQQRrNgIYCyAFIApHBEAgBSAKSw0CAkAgBCgCkAEiCiAEKAKUASIBRg0A.A0AgAUEQayIGKAIAIAVJDQEgBCgCeCABQQxrIgcoAgBBAnRqIAFBBGsoAgA2AgAgBigCACAFRg0BIAQoAoQBIAcoAgBBAnRqIAFBCGsoAgA2AgAgBCAGNgKU.ASAGIgEgCkcNAAsLIAUhCgtBACEGIAggDUsNASAJQQFqQQAgCSAEKAIMIgFBAWtHGyIJIAFPDQECQAJAIAQoAgAiDCAJQQJ0IgcgBCgChAFqIgsoAgAiDkYE.QCAIRQ0BA0AgAyAEKAJ4IgEoAgAiBzYCMCADIAEoAgQiCTYCNCADIAEoAggiDDYCOCADIBEoAgAiBSgCBCIBNgIsIAUoAgghCyADIAU2AgggAyADQTBqNgIE.IAMgA0EsajYCACAFAn8gASALSQRAIAEgDDYCCCABIAk2AgQgASAHNgIAIAFBDGoMAQsgAxAUIAMoAiwLNgIEIAQgBCgCCEEBajYCCCAIIAZBAWoiBkcNAAsM.AQsCQAJAAkACQCAIQQJNBEAgBCgCbCIFIAk2AgBBASEBIAQoAgwiB0EBSw0BDAQLIAQoAgggBCgCBEsNBwJAAkACQCAIZ0EfcyIBQSAgBCgCICIFayIQTARA.IAQoAhwiBiAEKAIURg0CIAYoAgAgBCABIAVqIg82AiAgBXRBICABa3YhBSAPQSBHDQEgBEEANgIgIAQgBkEEajYCHAwBCyAEKAIcIgZBBGoiDyAEKAIURg0B.IAYoAgAhEiAEIA82AhwgBCABIBBrIhA2AiAgBigCBEEgIBBrdiASIAV0QSAgAWt2ciEFCyAIQQF2IgEgBUkNCQwBCyAIQQF2IQFBACEFCyABIAVrIgUgCCAF.ayIGRgRAIAUhAQwDCyAEKAJYIgEgBCgCUEYNASABKAIAIAQgBCgCXCIQQQFqIg82AlxBgICAgHggEHZxIQgCQCAPQSBGBEAgBEEANgJcIAQgAUEEajYCWCAI.DQEMAwsgCEUNAgsgBSEBIAYhBQwCCwNAIAUgAUECdGoiBiAGQQRrKAIAIgZBAWpBACAGIAdBAWtHGzYCACABQQFqIgEgBCgCDCIHSQ0ACwwCCyAGIQELIApB.f0YNBEEBIAwgDkF/c2p0IQggAyAKNgIAIAMgCTYCBCADIAsoAgA2AgggAyAEKAJ4IAdqKAIANgIMIAMgBCgClAEiBjYCLCAEKAKYASEMIAMgFjYCOCADIAM2.AjQgAyADQSxqNgIwIAQCfyAGIAxJBEAgBiADKQIINwIIIAYgAykCADcCACAGQRBqDAELIANBMGoQGCADKAIsCzYClAEgBCgChAEgB2oiBiAGKAIAQQFqNgIA.IAQoAnggB2oiBiAGKAIAIAhqNgIAIAEEQCADKAIkIgggAygCIGoiBiADKAIYIgwgAygCFCIHa0ECdUHVAmxBAWtBACAHIAxHG0YEQCADQRBqEAsgAygCFCEH.IAMoAiQiCCADKAIgaiEGCyAHIAZB1QJuIgxBAnRqKAIAIAYgDEHVAmxrQQxsaiIGIAo2AgggBiAJNgIEIAYgATYCACADIAhBAWo2AiQLIApBAWohCiAFRQ0B.IAMoAiQiCCADKAIgaiIGIAMoAhgiASADKAIUIgdrQQJ1QdUCbEEBa0EAIAEgB0cbRgRAIANBEGoQCyADKAIUIQcgAygCJCIIIAMoAiBqIQYLIAcgBkHVAm4i.AUECdGooAgAgBiABQdUCbGtBDGxqIgEgCjYCCCABIAk2AgQgASAFNgIAIAMgCEEBaiIBNgIkDAILQQAhBiAIRQ0AA0AgBCgCDARAIAQoAoQBIRAgBCgCYCEH.IAQoAmwhD0EAIQEDQCAHIA8gAUECdGoiCSgCAEECdGpBADYCAAJAIAQoAgAiBSAQIAkoAgBBAnQiDGooAgAiC0YNACAHIAxqIQwgBSALayIFQSAgBCgCNCIL.ayISTARAIAQoAjAiDiAEKAIoRg0IIAwgDigCACALdEEgIAVrdjYCACAEIAQoAjQgBWoiBTYCNCAFQSBHDQEgBEEANgI0IAQgDkEEajYCMAwBCyAEKAIwIg5B.BGoiEyAEKAIoRg0HIA4oAgAhFSAEIBM2AjAgBCAFIBJrIhI2AjQgDCAOKAIEQSAgEmt2IBUgC3RBICAFa3ZyNgIACyAHIAkoAgBBAnQiBWoiCSAJKAIAIAQo.AnggBWooAgByNgIAIAFBAWoiASAEKAIMSQ0ACwsgAyAEKAJgIgEoAgAiBzYCMCADIAEoAgQiCTYCNCADIAEoAggiDDYCOCADIBEoAgAiBSgCBCIBNgIsIAUo.AgghCyADIAU2AgggAyADQTBqNgIEIAMgA0EsajYCACAFAn8gASALSQRAIAEgDDYCCCABIAk2AgQgASAHNgIAIAFBDGoMAQsgAxAUIAMoAiwLNgIEIAQgBCgC.CEEBajYCCCAGQQFqIgYgCEcNAAsLIAMoAiQhAQsgAQ0ACwsgA0EANgIkIAMoAhgiASADKAIUIgVrQQJ1IgdBA08EQANAIAUoAgAQBSADIAMoAhRBBGoiBTYC.FCADKAIYIgEgBWtBAnUiB0ECSw0ACwtBqgEhCAJAAkACQCAHQQFrDgIBAAILQdUCIQgLIAMgCDYCIAsgASAFRgR/IAEFA0AgBSgCABAFIAVBBGoiBSABRw0A.CyADKAIYIQEgAygCFAshBSADIAEgASAFa0F8cWs2AhggAygCECIBBEAgARAFCyADQUBrJAALIAQQOgwGCyAUQQRqQQMQOSEEIBRBnAVqIRECQCABKQMIIAEp.AxAiGUIEfFMNACAEIAEoAgAgGadqKAAAIgU2AgAgASABKQMQIhlCBHwiGjcDECAFQSBLDQAgASkDCCAZQgh8Uw0AIAQgASgCACAap2ooAAAiBTYCBCABIAEp.AxBCBHw3AxAgBUUNACAEQQA2AgggBEEQaiABEApFDQAgBEEkaiABEApFDQAgBEE4aiABEApFDQAgBEHMAGogARAKRQ0AIAQoAgQhDUEAIQojAEFAaiIDJAAg.BCgCDCEBIANBADYCECAEQfgAaiABIANBEGoiARAPIAQoAgwhBSADQQA2AhAgBEGEAWogBSABEA8gBCAEKAKQATYClAEgA0IANwMgIANCADcDGCADQgA3AxAg.ARALIAMoAhQgAygCJCIBIAMoAiBqIgVB1QJuIgZBAnRqKAIAIAUgBkHVAmxrQQxsaiIFQgA3AgQgBSANNgIAAkAgAUEBaiIBRQ0AIARBkAFqIRYDQCADKAIU.IgYgAygCICIMIAFBAWsiC2oiBUHVAm4iB0ECdGooAgAgBSAHQdUCbGtBDGxqIgcoAgghBSAHKAIEIQkgBygCACEIIAMgCzYCJCADKAIYIgcgBmtBAnVB1QJs.QQFrQQAgBiAHRxsgASAMamtBAWpBqgVPBEAgB0EEaygCABAFIAMgAygCGEEEazYCGAsgBSAKRwRAIAUgCksNAgJAIAQoApABIgogBCgClAEiAUYNAANAIAFB.EGsiBigCACAFSQ0BIAQoAnggAUEMayIHKAIAQQJ0aiABQQRrKAIANgIAIAYoAgAgBUYNASAEKAKEASAHKAIAQQJ0aiABQQhrKAIANgIAIAQgBjYClAEgBiIB.IApHDQALCyAFIQoLIAggDUsNAUEAIQYgCUEBakEAIAkgBCgCDCIBQQFrRxsiCSABTw0BAkACQCAEKAIAIgwgCUECdCIHIAQoAoQBaiILKAIAIg5GBEAgCEUN.AQNAIAMgBCgCeCIBKAIAIgc2AjAgAyABKAIEIgk2AjQgAyABKAIIIgw2AjggAyARKAIAIgUoAgQiATYCLCAFKAIIIQsgAyAFNgIIIAMgA0EwajYCBCADIANB.LGo2AgAgBQJ/IAEgC0kEQCABIAw2AgggASAJNgIEIAEgBzYCACABQQxqDAELIAMQFCADKAIsCzYCBCAEIAQoAghBAWo2AgggCCAGQQFqIgZHDQALDAELAkAC.QAJAAkAgCEECTQRAIAQoAmwiBSAJNgIAQQEhASAEKAIMIgdBAUsNAQwECyAEKAIIIAQoAgRLDQcCQAJAAkAgCGdBH3MiAUEgIAQoAiAiBWsiEEwEQCAEKAIc.IgYgBCgCFEYNAiAGKAIAIAQgASAFaiIPNgIgIAV0QSAgAWt2IQUgD0EgRw0BIARBADYCICAEIAZBBGo2AhwMAQsgBCgCHCIGQQRqIg8gBCgCFEYNASAGKAIA.IRIgBCAPNgIcIAQgASAQayIQNgIgIAYoAgRBICAQa3YgEiAFdEEgIAFrdnIhBQsgCEEBdiIBIAVJDQkMAQsgCEEBdiEBQQAhBQsgASAFayIFIAggBWsiBkYE.QCAFIQEMAwsgBCgCWCIBIAQoAlBGDQEgASgCACAEIAQoAlwiEEEBaiIPNgJcQYCAgIB4IBB2cSEIAkAgD0EgRgRAIARBADYCXCAEIAFBBGo2AlggCA0BDAML.IAhFDQILIAUhASAGIQUMAgsDQCAFIAFBAnRqIgYgBkEEaygCACIGQQFqQQAgBiAHQQFrRxs2AgAgAUEBaiIBIAQoAgwiB0kNAAsMAgsgBiEBCyAKQX9GDQRB.ASAMIA5Bf3NqdCEIIAMgCjYCACADIAk2AgQgAyALKAIANgIIIAMgBCgCeCAHaigCADYCDCADIAQoApQBIgY2AiwgBCgCmAEhDCADIBY2AjggAyADNgI0IAMg.A0EsajYCMCAEAn8gBiAMSQRAIAYgAykCCDcCCCAGIAMpAgA3AgAgBkEQagwBCyADQTBqEBggAygCLAs2ApQBIAQoAoQBIAdqIgYgBigCAEEBajYCACAEKAJ4.IAdqIgYgBigCACAIajYCACABBEAgAygCJCIIIAMoAiBqIgYgAygCGCIMIAMoAhQiB2tBAnVB1QJsQQFrQQAgByAMRxtGBEAgA0EQahALIAMoAhQhByADKAIk.IgggAygCIGohBgsgByAGQdUCbiIMQQJ0aigCACAGIAxB1QJsa0EMbGoiBiAKNgIIIAYgCTYCBCAGIAE2AgAgAyAIQQFqNgIkCyAKQQFqIQogBUUNASADKAIk.IgggAygCIGoiBiADKAIYIgEgAygCFCIHa0ECdUHVAmxBAWtBACABIAdHG0YEQCADQRBqEAsgAygCFCEHIAMoAiQiCCADKAIgaiEGCyAHIAZB1QJuIgFBAnRq.KAIAIAYgAUHVAmxrQQxsaiIBIAo2AgggASAJNgIEIAEgBTYCACADIAhBAWoiATYCJAwCC0EAIQYgCEUNAANAIAQoAgwEQCAEKAKEASEQIAQoAmAhByAEKAJs.IQ9BACEBA0AgByAPIAFBAnRqIgkoAgBBAnRqQQA2AgACQCAEKAIAIgUgECAJKAIAQQJ0IgxqKAIAIgtGDQAgByAMaiEMIAUgC2siBUEgIAQoAjQiC2siEkwE.QCAEKAIwIg4gBCgCKEYNCCAMIA4oAgAgC3RBICAFa3Y2AgAgBCAEKAI0IAVqIgU2AjQgBUEgRw0BIARBADYCNCAEIA5BBGo2AjAMAQsgBCgCMCIOQQRqIhMg.BCgCKEYNByAOKAIAIRUgBCATNgIwIAQgBSASayISNgI0IAwgDigCBEEgIBJrdiAVIAt0QSAgBWt2cjYCAAsgByAJKAIAQQJ0IgVqIgkgCSgCACAEKAJ4IAVq.KAIAcjYCACABQQFqIgEgBCgCDEkNAAsLIAMgBCgCYCIBKAIAIgc2AjAgAyABKAIEIgk2AjQgAyABKAIIIgw2AjggAyARKAIAIgUoAgQiATYCLCAFKAIIIQsg.AyAFNgIIIAMgA0EwajYCBCADIANBLGo2AgAgBQJ/IAEgC0kEQCABIAw2AgggASAJNgIEIAEgBzYCACABQQxqDAELIAMQFCADKAIsCzYCBCAEIAQoAghBAWo2.AgggBkEBaiIGIAhHDQALCyADKAIkIQELIAENAAsLIANBADYCJCADKAIYIgEgAygCFCIFa0ECdSIHQQNPBEADQCAFKAIAEAUgAyADKAIUQQRqIgU2AhQgAygC.GCIBIAVrQQJ1IgdBAksNAAsLQaoBIQgCQAJAAkAgB0EBaw4CAQACC0HVAiEICyADIAg2AiALIAEgBUYEfyABBQNAIAUoAgAQBSAFQQRqIgUgAUcNAAsgAygC.GCEBIAMoAhQLIQUgAyABIAEgBWtBfHFrNgIYIAMoAhAiAQRAIAEQBQsgA0FAayQACyAEEDoMBQsgFEEEakEDEDchBCAUQZwFaiERAkAgASkDCCABKQMQIhlC.BHxTDQAgBCABKAIAIBmnaigAACIFNgIAIAEgASkDECIZQgR8Iho3AxAgBUEgSw0AIAEpAwggGUIIfFMNACAEIAEoAgAgGqdqKAAAIgU2AgQgASABKQMQQgR8.NwMQIAVFDQAgBEEANgIIIARBEGoiECABEAhFDQAgBEEgaiABEApFDQAgBEE0aiABEApFDQAgBEHIAGogARAKRQ0AIAQoAgQhDUEAIQojAEHQAGsiAyQAIAQo.AgwhASADQQA2AiAgBEH0AGogASADQSBqIgEQDyAEKAIMIQUgA0EANgIgIARBgAFqIAUgARAPIAQgBCgCjAE2ApABIANCADcDMCADQgA3AyggA0IANwMgIAEQ.CyADKAIkIAMoAjQiASADKAIwaiIFQdUCbiIGQQJ0aigCACAFIAZB1QJsa0EMbGoiBUIANwIEIAUgDTYCAAJAIAFBAWoiAUUNACAEQYwBaiEWA0AgAygCJCIG.IAMoAjAiDCABQQFrIgtqIgVB1QJuIgdBAnRqKAIAIAUgB0HVAmxrQQxsaiIHKAIIIQUgBygCBCEJIAcoAgAhCCADIAs2AjQgAygCKCIHIAZrQQJ1QdUCbEEB.a0EAIAYgB0cbIAEgDGprQQFqQaoFTwRAIAdBBGsoAgAQBSADIAMoAihBBGs2AigLIAUgCkcEQCAFIApLDQICQCAEKAKMASIKIAQoApABIgFGDQADQCABQRBr.IgYoAgAgBUkNASAEKAJ0IAFBDGsiBygCAEECdGogAUEEaygCADYCACAGKAIAIAVGDQEgBCgCgAEgBygCAEECdGogAUEIaygCADYCACAEIAY2ApABIAYiASAK.Rw0ACwsgBSEKC0EAIQYgCCANSw0BIAlBAWpBACAJIAQoAgwiAUEBa0cbIgkgAU8NAQJAIAQoAgAiDCAJQQJ0IgcgBCgCgAFqKAIAIgtGBEAgCEUNAQNAIAMg.BCgCdCIBKAIAIgc2AkAgAyABKAIEIgk2AkQgAyABKAIIIgw2AkggAyARKAIAIgUoAgQiATYCPCAFKAIIIQsgAyAFNgIQIAMgA0FAazYCDCADIANBPGo2Aggg.BQJ/IAEgC0kEQCABIAw2AgggASAJNgIEIAEgBzYCACABQQxqDAELIANBCGoQFCADKAI8CzYCBCAEIAQoAghBAWo2AgggCCAGQQFqIgZHDQALDAELAkACQAJA.AkAgCEECTQRAIAQoAmgiBSAJNgIAQQEhASAEKAIMIgdBAUsNAQwECyAEKAIIIAQoAgRLDQYgA0EANgIcIBAgCGdBH3MgA0EcahBqIAhBAXYiASADKAIcIgVJ.DQYgASAFayIFIAggBWsiBkYEQCAFIQEMAwsgBCgCVCIBIAQoAkxGDQEgASgCACAEIAQoAlgiDkEBaiIPNgJYQYCAgIB4IA52cSEIAkAgD0EgRgRAIARBADYC.WCAEIAFBBGo2AlQgCA0BDAMLIAhFDQILIAUhASAGIQUMAgsDQCAFIAFBAnRqIgYgBkEEaygCACIGQQFqQQAgBiAHQQFrRxs2AgAgAUEBaiIBIAQoAgwiB0kN.AAsMAgsgBiEBCyAKQX9GDQNBASAMIAtBf3NqdCEIIAMgCjYCCCADIAk2AgwgAyAEKAKAASAHaigCADYCECADIAQoAnQgB2ooAgA2AhQgAyAEKAKQASIGNgI8.IAQoApQBIQwgAyAWNgJIIAMgA0EIajYCRCADIANBPGo2AkAgBAJ/IAYgDEkEQCAGIAMpAhA3AgggBiADKQIINwIAIAZBEGoMAQsgA0FAaxAYIAMoAjwLNgKQ.ASAEKAKAASAHaiIGIAYoAgBBAWo2AgAgBCgCdCAHaiIGIAYoAgAgCGo2AgAgAQRAIAMoAjQiCCADKAIwaiIGIAMoAigiDCADKAIkIgdrQQJ1QdUCbEEBa0EA.IAcgDEcbRgRAIANBIGoQCyADKAIkIQcgAygCNCIIIAMoAjBqIQYLIAcgBkHVAm4iDEECdGooAgAgBiAMQdUCbGtBDGxqIgYgCjYCCCAGIAk2AgQgBiABNgIA.IAMgCEEBajYCNAsgCkEBaiEKIAVFDQEgAygCNCIIIAMoAjBqIgYgAygCKCIBIAMoAiQiB2tBAnVB1QJsQQFrQQAgASAHRxtGBEAgA0EgahALIAMoAiQhByAD.KAI0IgggAygCMGohBgsgByAGQdUCbiIBQQJ0aigCACAGIAFB1QJsa0EMbGoiASAKNgIIIAEgCTYCBCABIAU2AgAgAyAIQQFqNgI0DAELQQAhBiAIRQ0AA0Ag.BCgCDARAIAQoAoABIQ8gBCgCXCEHIAQoAmghEkEAIQEDQCAHIBIgAUECdGoiCSgCAEECdGpBADYCAAJAIAQoAgAiBSAPIAkoAgBBAnQiDGooAgAiC0YNACAH.IAxqIQwgBSALayIFQSAgBCgCMCILayITTARAIAQoAiwiDiAEKAIkRg0HIAwgDigCACALdEEgIAVrdjYCACAEIAQoAjAgBWoiBTYCMCAFQSBHDQEgBEEANgIw.IAQgDkEEajYCLAwBCyAEKAIsIg5BBGoiFSAEKAIkRg0GIA4oAgAhFyAEIBU2AiwgBCAFIBNrIhM2AjAgDCAOKAIEQSAgE2t2IBcgC3RBICAFa3ZyNgIACyAH.IAkoAgBBAnQiBWoiCSAJKAIAIAQoAnQgBWooAgByNgIAIAFBAWoiASAEKAIMSQ0ACwsgAyAEKAJcIgEoAgAiBzYCQCADIAEoAgQiCTYCRCADIAEoAggiDDYC.SCADIBEoAgAiBSgCBCIBNgI8IAUoAgghCyADIAU2AhAgAyADQUBrNgIMIAMgA0E8ajYCCCAFAn8gASALSQRAIAEgDDYCCCABIAk2AgQgASAHNgIAIAFBDGoM.AQsgA0EIahAUIAMoAjwLNgIEIAQgBCgCCEEBajYCCCAGQQFqIgYgCEcNAAsLIAMoAjQiAQ0ACwsgA0EANgI0IAMoAigiASADKAIkIgVrQQJ1IgdBA08EQANA.IAUoAgAQBSADIAMoAiRBBGoiBTYCJCADKAIoIgEgBWtBAnUiB0ECSw0ACwtBqgEhCAJAAkACQCAHQQFrDgIBAAILQdUCIQgLIAMgCDYCMAsgASAFRgR/IAEF.A0AgBSgCABAFIAVBBGoiBSABRw0ACyADKAIoIQEgAygCJAshBSADIAEgASAFa0F8cWs2AiggAygCICIBBEAgARAFCyADQdAAaiQACyAEEDgMBAsgFEEEakED.EDchBCAUQZwFaiERAkAgASkDCCABKQMQIhlCBHxTDQAgBCABKAIAIBmnaigAACIFNgIAIAEgASkDECIZQgR8Iho3AxAgBUEgSw0AIAEpAwggGUIIfFMNACAE.IAEoAgAgGqdqKAAAIgU2AgQgASABKQMQQgR8NwMQIAVFDQAgBEEANgIIIARBEGoiECABEAhFDQAgBEEgaiABEApFDQAgBEE0aiABEApFDQAgBEHIAGogARAK.RQ0AIAQoAgQhDUEAIQojAEHQAGsiAyQAIAQoAgwhASADQQA2AiAgBEH0AGogASADQSBqIgEQDyAEKAIMIQUgA0EANgIgIARBgAFqIAUgARAPIAQgBCgCjAE2.ApABIANCADcDMCADQgA3AyggA0IANwMgIAEQCyADKAIkIAMoAjQiASADKAIwaiIFQdUCbiIGQQJ0aigCACAFIAZB1QJsa0EMbGoiBUIANwIEIAUgDTYCAAJA.IAFBAWoiAUUNACAEQYwBaiEWA0AgAygCJCIGIAMoAjAiDCABQQFrIgtqIgVB1QJuIgdBAnRqKAIAIAUgB0HVAmxrQQxsaiIHKAIIIQUgBygCBCEJIAcoAgAh.CCADIAs2AjQgAygCKCIHIAZrQQJ1QdUCbEEBa0EAIAYgB0cbIAEgDGprQQFqQaoFTwRAIAdBBGsoAgAQBSADIAMoAihBBGs2AigLIAUgCkcEQCAFIApLDQIC.QCAEKAKMASIKIAQoApABIgFGDQADQCABQRBrIgYoAgAgBUkNASAEKAJ0IAFBDGsiBygCAEECdGogAUEEaygCADYCACAGKAIAIAVGDQEgBCgCgAEgBygCAEEC.dGogAUEIaygCADYCACAEIAY2ApABIAYiASAKRw0ACwsgBSEKCyAIIA1LDQFBACEGIAlBAWpBACAJIAQoAgwiAUEBa0cbIgkgAU8NAQJAIAQoAgAiDCAJQQJ0.IgcgBCgCgAFqKAIAIgtGBEAgCEUNAQNAIAMgBCgCdCIBKAIAIgc2AkAgAyABKAIEIgk2AkQgAyABKAIIIgw2AkggAyARKAIAIgUoAgQiATYCPCAFKAIIIQsg.AyAFNgIQIAMgA0FAazYCDCADIANBPGo2AgggBQJ/IAEgC0kEQCABIAw2AgggASAJNgIEIAEgBzYCACABQQxqDAELIANBCGoQFCADKAI8CzYCBCAEIAQoAghB.AWo2AgggCCAGQQFqIgZHDQALDAELAkACQAJAAkAgCEECTQRAIAQoAmgiBSAJNgIAQQEhASAEKAIMIgdBAUsNAQwECyAEKAIIIAQoAgRLDQYgA0EANgIcIBAg.CGdBH3MgA0EcahBqIAhBAXYiASADKAIcIgVJDQYgASAFayIFIAggBWsiBkYEQCAFIQEMAwsgBCgCVCIBIAQoAkxGDQEgASgCACAEIAQoAlgiDkEBaiIPNgJY.QYCAgIB4IA52cSEIAkAgD0EgRgRAIARBADYCWCAEIAFBBGo2AlQgCA0BDAMLIAhFDQILIAUhASAGIQUMAgsDQCAFIAFBAnRqIgYgBkEEaygCACIGQQFqQQAg.BiAHQQFrRxs2AgAgAUEBaiIBIAQoAgwiB0kNAAsMAgsgBiEBCyAKQX9GDQNBASAMIAtBf3NqdCEIIAMgCjYCCCADIAk2AgwgAyAEKAKAASAHaigCADYCECAD.IAQoAnQgB2ooAgA2AhQgAyAEKAKQASIGNgI8IAQoApQBIQwgAyAWNgJIIAMgA0EIajYCRCADIANBPGo2AkAgBAJ/IAYgDEkEQCAGIAMpAhA3AgggBiADKQII.NwIAIAZBEGoMAQsgA0FAaxAYIAMoAjwLNgKQASAEKAKAASAHaiIGIAYoAgBBAWo2AgAgBCgCdCAHaiIGIAYoAgAgCGo2AgAgAQRAIAMoAjQiCCADKAIwaiIG.IAMoAigiDCADKAIkIgdrQQJ1QdUCbEEBa0EAIAcgDEcbRgRAIANBIGoQCyADKAIkIQcgAygCNCIIIAMoAjBqIQYLIAcgBkHVAm4iDEECdGooAgAgBiAMQdUC.bGtBDGxqIgYgCjYCCCAGIAk2AgQgBiABNgIAIAMgCEEBajYCNAsgCkEBaiEKIAVFDQEgAygCNCIIIAMoAjBqIgYgAygCKCIBIAMoAiQiB2tBAnVB1QJsQQFr.QQAgASAHRxtGBEAgA0EgahALIAMoAiQhByADKAI0IgggAygCMGohBgsgByAGQdUCbiIBQQJ0aigCACAGIAFB1QJsa0EMbGoiASAKNgIIIAEgCTYCBCABIAU2.AgAgAyAIQQFqNgI0DAELQQAhBiAIRQ0AA0AgBCgCDARAIAQoAoABIQ8gBCgCXCEHIAQoAmghEkEAIQEDQCAHIBIgAUECdGoiCSgCAEECdGpBADYCAAJAIAQo.AgAiBSAPIAkoAgBBAnQiDGooAgAiC0YNACAHIAxqIQwgBSALayIFQSAgBCgCMCILayITTARAIAQoAiwiDiAEKAIkRg0HIAwgDigCACALdEEgIAVrdjYCACAE.IAQoAjAgBWoiBTYCMCAFQSBHDQEgBEEANgIwIAQgDkEEajYCLAwBCyAEKAIsIg5BBGoiFSAEKAIkRg0GIA4oAgAhFyAEIBU2AiwgBCAFIBNrIhM2AjAgDCAO.KAIEQSAgE2t2IBcgC3RBICAFa3ZyNgIACyAHIAkoAgBBAnQiBWoiCSAJKAIAIAQoAnQgBWooAgByNgIAIAFBAWoiASAEKAIMSQ0ACwsgAyAEKAJcIgEoAgAi.BzYCQCADIAEoAgQiCTYCRCADIAEoAggiDDYCSCADIBEoAgAiBSgCBCIBNgI8IAUoAgghCyADIAU2AhAgAyADQUBrNgIMIAMgA0E8ajYCCCAFAn8gASALSQRA.IAEgDDYCCCABIAk2AgQgASAHNgIAIAFBDGoMAQsgA0EIahAUIAMoAjwLNgIEIAQgBCgCCEEBajYCCCAGQQFqIgYgCEcNAAsLIAMoAjQiAQ0ACwsgA0EANgI0.IAMoAigiASADKAIkIgVrQQJ1IgdBA08EQANAIAUoAgAQBSADIAMoAiRBBGoiBTYCJCADKAIoIgEgBWtBAnUiB0ECSw0ACwtBqgEhCAJAAkACQCAHQQFrDgIB.AAILQdUCIQgLIAMgCDYCMAsgASAFRgR/IAEFA0AgBSgCABAFIAVBBGoiBSABRw0ACyADKAIoIQEgAygCJAshBSADIAEgASAFa0F8cWs2AiggAygCICIBBEAg.ARAFCyADQdAAaiQACyAEEDgMAwsgFEEEakEDECchBCAUQZwFaiERAkAgASkDCCABKQMQIhlCBHxTDQAgBCABKAIAIBmnaigAACIFNgIAIAEgASkDECIZQgR8.Iho3AxAgBUEgSw0AIAEpAwggGUIIfFMNACAEIAEoAgAgGqdqKAAAIgU2AgQgASABKQMQQgR8NwMQIAVFDQAgBEEANgIIIARBEGoiECABEDZFDQAgBEGgBGog.ARAKRQ0AIARBtARqIAEQCkUNACAEQcgEaiABEApFDQAgBCgCBCEMQQAhCiMAQUBqIgMkACAEKAIMIQEgA0EANgIQIARB9ARqIAEgA0EQaiIBEA8gBCgCDCEF.IANBADYCECAEQYAFaiAFIAEQDyAEIAQoAowFNgKQBSADQgA3AyAgA0IANwMYIANCADcDECABEAsgAygCFCADKAIkIgEgAygCIGoiBUHVAm4iBkECdGooAgAg.BSAGQdUCbGtBDGxqIgVCADcCBCAFIAw2AgACQCABQQFqIgZFDQAgBEGMBWohFgNAIAMoAhQiBSADKAIgIg0gBkEBayILaiIBQdUCbiIHQQJ0aigCACABIAdB.1QJsa0EMbGoiBygCCCEBIAcoAgQhCSAHKAIAIQggAyALNgIkIAMoAhgiByAFa0ECdUHVAmxBAWtBACAFIAdHGyAGIA1qa0EBakGqBU8EQCAHQQRrKAIAEAUg.AyADKAIYQQRrNgIYCyABIApHBEAgASAKSw0CAkAgBCgCjAUiCiAEKAKQBSIGRg0AA0AgBkEQayIFKAIAIAFJDQEgBCgC9AQgBkEMayIHKAIAQQJ0aiAGQQRr.KAIANgIAIAUoAgAgAUYNASAEKAKABSAHKAIAQQJ0aiAGQQhrKAIANgIAIAQgBTYCkAUgBSIGIApHDQALCyABIQoLQQAhByAIIAxLDQEgCUEBakEAIAkgBCgC.DCIBQQFrRxsiCSABTw0BAkACQCAEKAIAIgsgCUECdCINIAQoAoAFaigCACIORgRAIAhFDQEDQCADIAQoAvQEIgEoAgAiBjYCMCADIAEoAgQiCTYCNCADIAEo.AggiDTYCOCADIBEoAgAiBSgCBCIBNgIsIAUoAgghCyADIAU2AgggAyADQTBqNgIEIAMgA0EsajYCACAFAn8gASALSQRAIAEgDTYCCCABIAk2AgQgASAGNgIA.IAFBDGoMAQsgAxAUIAMoAiwLNgIEIAQgBCgCCEEBajYCCCAIIAdBAWoiB0cNAAsMAQsCQAJAAkACQCAIQQJNBEAgBCgC6AQiBSAJNgIAQQEhBiAEKAIMIgFB.AUsNAQwECyAEKAIIIAQoAgRLDQcgCGchBUEAIQFBACEGA0AgECAGQQR0ahAQIAFBAXRyIQEgBkEBaiIGIAVzQR9HDQALIAhBAXYiBSABSQ0HIAUgAWsiASAI.IAFrIgZGBEAgASEFDAMLIAQoAtQEIgUgBCgCzARGDQEgBSgCACAEIAQoAtgEIghBAWoiDzYC2ARBgICAgHggCHZxIQcCQCAPQSBGBEAgBEEANgLYBCAEIAVB.BGo2AtQEIAcNAQwDCyAHRQ0CCyABIQUgBiEBDAILA0AgBSAGQQJ0aiIHIAdBBGsoAgAiB0EBakEAIAcgAUEBa0cbNgIAIAZBAWoiBiAEKAIMIgFJDQALDAIL.IAYhBQsgCkF/Rg0EQQEgCyAOQX9zanQhByADIAo2AgAgAyAJNgIEIAMgBCgCgAUgDWooAgA2AgggAyAEKAL0BCANaigCADYCDCADIAQoApAFIgY2AiwgBCgC.lAUhCCADIBY2AjggAyADNgI0IAMgA0EsajYCMCAEAn8gBiAISQRAIAYgAykCCDcCCCAGIAMpAgA3AgAgBkEQagwBCyADQTBqEBggAygCLAs2ApAFIAQoAoAF.IA1qIgYgBigCAEEBajYCACAEKAL0BCANaiIGIAYoAgAgB2o2AgAgBQRAIAMoAiQiCCADKAIgaiIHIAMoAhgiDSADKAIUIgZrQQJ1QdUCbEEBa0EAIAYgDUcb.RgRAIANBEGoQCyADKAIkIgggAygCIGohByADKAIUIQYLIAYgB0HVAm4iDUECdGooAgAgByANQdUCbGtBDGxqIgYgCjYCCCAGIAk2AgQgBiAFNgIAIAMgCEEB.ajYCJAsgCkEBaiEKIAFFDQEgAygCJCIIIAMoAiBqIgcgAygCGCIFIAMoAhQiBmtBAnVB1QJsQQFrQQAgBSAGRxtGBEAgA0EQahALIAMoAiQiCCADKAIgaiEH.IAMoAhQhBgsgBiAHQdUCbiIFQQJ0aigCACAHIAVB1QJsa0EMbGoiBSAKNgIIIAUgCTYCBCAFIAE2AgAgAyAIQQFqIgY2AiQMAgtBACEHIAhFDQADQCAEKAIM.BEAgBCgCgAUhDyAEKALcBCEFIAQoAugEIRJBACEGA0AgBSASIAZBAnRqIgkoAgBBAnRqQQA2AgACQCAEKAIAIgEgDyAJKAIAQQJ0Ig1qKAIAIgtGDQAgBSAN.aiENIAEgC2siAUEgIAQoArAEIgtrIhNMBEAgBCgCrAQiDiAEKAKkBEYNCCANIA4oAgAgC3RBICABa3Y2AgAgBCAEKAKwBCABaiIBNgKwBCABQSBHDQEgBEEA.NgKwBCAEIA5BBGo2AqwEDAELIAQoAqwEIg5BBGoiFSAEKAKkBEYNByAOKAIAIRcgBCAVNgKsBCAEIAEgE2siEzYCsAQgDSAOKAIEQSAgE2t2IBcgC3RBICAB.a3ZyNgIACyAFIAkoAgBBAnQiAWoiCSAJKAIAIAQoAvQEIAFqKAIAcjYCACAGQQFqIgYgBCgCDEkNAAsLIAMgBCgC3AQiASgCACIGNgIwIAMgASgCBCIJNgI0.IAMgASgCCCINNgI4IAMgESgCACIFKAIEIgE2AiwgBSgCCCELIAMgBTYCCCADIANBMGo2AgQgAyADQSxqNgIAIAUCfyABIAtJBEAgASANNgIIIAEgCTYCBCAB.IAY2AgAgAUEMagwBCyADEBQgAygCLAs2AgQgBCAEKAIIQQFqNgIIIAdBAWoiByAIRw0ACwsgAygCJCEGCyAGDQALCyADQQA2AiQgAygCGCIGIAMoAhQiBWtB.AnUiAUEDTwRAA0AgBSgCABAFIAMgAygCFEEEaiIFNgIUIAMoAhgiBiAFa0ECdSIBQQJLDQALC0GqASEIAkACQAJAIAFBAWsOAgEAAgtB1QIhCAsgAyAINgIg.CyAFIAZGBH8gBgUDQCAFKAIAEAUgBUEEaiIFIAZHDQALIAMoAhghBiADKAIUCyEBIAMgBiAGIAFrQXxxazYCGCADKAIQIgEEQCABEAULIANBQGskAAsgBBAo.DAILIBRBBGpBAxAnIQQgFEGcBWohEQJAIAEpAwggASkDECIZQgR8Uw0AIAQgASgCACAZp2ooAAAiBTYCACABIAEpAxAiGUIEfCIaNwMQIAVBIEsNACABKQMI.IBlCCHxTDQAgBCABKAIAIBqnaigAACIFNgIEIAEgASkDEEIEfDcDECAFRQ0AIARBADYCCCAEQRBqIhAgARA2RQ0AIARBoARqIAEQCkUNACAEQbQEaiABEApF.DQAgBEHIBGogARAKRQ0AIAQoAgQhDEEAIQojAEFAaiIDJAAgBCgCDCEBIANBADYCECAEQfQEaiABIANBEGoiARAPIAQoAgwhBSADQQA2AhAgBEGABWogBSAB.EA8gBCAEKAKMBTYCkAUgA0IANwMgIANCADcDGCADQgA3AxAgARALIAMoAhQgAygCJCIBIAMoAiBqIgVB1QJuIgZBAnRqKAIAIAUgBkHVAmxrQQxsaiIFQgA3.AgQgBSAMNgIAAkAgAUEBaiIGRQ0AIARBjAVqIRYDQCADKAIUIgUgAygCICINIAZBAWsiC2oiAUHVAm4iB0ECdGooAgAgASAHQdUCbGtBDGxqIgcoAgghASAH.KAIEIQkgBygCACEIIAMgCzYCJCADKAIYIgcgBWtBAnVB1QJsQQFrQQAgBSAHRxsgBiANamtBAWpBqgVPBEAgB0EEaygCABAFIAMgAygCGEEEazYCGAsgASAK.RwRAIAEgCksNAgJAIAQoAowFIgogBCgCkAUiBkYNAANAIAZBEGsiBSgCACABSQ0BIAQoAvQEIAZBDGsiBygCAEECdGogBkEEaygCADYCACAFKAIAIAFGDQEg.BCgCgAUgBygCAEECdGogBkEIaygCADYCACAEIAU2ApAFIAUiBiAKRw0ACwsgASEKCyAIIAxLDQFBACEHIAlBAWpBACAJIAQoAgwiAUEBa0cbIgkgAU8NAQJA.AkAgBCgCACILIAlBAnQiDSAEKAKABWooAgAiDkYEQCAIRQ0BA0AgAyAEKAL0BCIBKAIAIgY2AjAgAyABKAIEIgk2AjQgAyABKAIIIg02AjggAyARKAIAIgUo.AgQiATYCLCAFKAIIIQsgAyAFNgIIIAMgA0EwajYCBCADIANBLGo2AgAgBQJ/IAEgC0kEQCABIA02AgggASAJNgIEIAEgBjYCACABQQxqDAELIAMQFCADKAIs.CzYCBCAEIAQoAghBAWo2AgggCCAHQQFqIgdHDQALDAELAkACQAJAAkAgCEECTQRAIAQoAugEIgUgCTYCAEEBIQYgBCgCDCIBQQFLDQEMBAsgBCgCCCAEKAIE.Sw0HIAhnIQVBACEBQQAhBgNAIBAgBkEEdGoQECABQQF0ciEBIAZBAWoiBiAFc0EfRw0ACyAIQQF2IgUgAUkNByAFIAFrIgEgCCABayIGRgRAIAEhBQwDCyAE.KALUBCIFIAQoAswERg0BIAUoAgAgBCAEKALYBCIIQQFqIg82AtgEQYCAgIB4IAh2cSEHAkAgD0EgRgRAIARBADYC2AQgBCAFQQRqNgLUBCAHDQEMAwsgB0UN.AgsgASEFIAYhAQwCCwNAIAUgBkECdGoiByAHQQRrKAIAIgdBAWpBACAHIAFBAWtHGzYCACAGQQFqIgYgBCgCDCIBSQ0ACwwCCyAGIQULIApBf0YNBEEBIAsg.DkF/c2p0IQcgAyAKNgIAIAMgCTYCBCADIAQoAoAFIA1qKAIANgIIIAMgBCgC9AQgDWooAgA2AgwgAyAEKAKQBSIGNgIsIAQoApQFIQggAyAWNgI4IAMgAzYC.NCADIANBLGo2AjAgBAJ/IAYgCEkEQCAGIAMpAgg3AgggBiADKQIANwIAIAZBEGoMAQsgA0EwahAYIAMoAiwLNgKQBSAEKAKABSANaiIGIAYoAgBBAWo2AgAg.BCgC9AQgDWoiBiAGKAIAIAdqNgIAIAUEQCADKAIkIgggAygCIGoiByADKAIYIg0gAygCFCIGa0ECdUHVAmxBAWtBACAGIA1HG0YEQCADQRBqEAsgAygCJCII.IAMoAiBqIQcgAygCFCEGCyAGIAdB1QJuIg1BAnRqKAIAIAcgDUHVAmxrQQxsaiIGIAo2AgggBiAJNgIEIAYgBTYCACADIAhBAWo2AiQLIApBAWohCiABRQ0B.IAMoAiQiCCADKAIgaiIHIAMoAhgiBSADKAIUIgZrQQJ1QdUCbEEBa0EAIAUgBkcbRgRAIANBEGoQCyADKAIkIgggAygCIGohByADKAIUIQYLIAYgB0HVAm4i.BUECdGooAgAgByAFQdUCbGtBDGxqIgUgCjYCCCAFIAk2AgQgBSABNgIAIAMgCEEBaiIGNgIkDAILQQAhByAIRQ0AA0AgBCgCDARAIAQoAoAFIQ8gBCgC3AQh.BSAEKALoBCESQQAhBgNAIAUgEiAGQQJ0aiIJKAIAQQJ0akEANgIAAkAgBCgCACIBIA8gCSgCAEECdCINaigCACILRg0AIAUgDWohDSABIAtrIgFBICAEKAKw.BCILayITTARAIAQoAqwEIg4gBCgCpARGDQggDSAOKAIAIAt0QSAgAWt2NgIAIAQgBCgCsAQgAWoiATYCsAQgAUEgRw0BIARBADYCsAQgBCAOQQRqNgKsBAwB.CyAEKAKsBCIOQQRqIhUgBCgCpARGDQcgDigCACEXIAQgFTYCrAQgBCABIBNrIhM2ArAEIA0gDigCBEEgIBNrdiAXIAt0QSAgAWt2cjYCAAsgBSAJKAIAQQJ0.IgFqIgkgCSgCACAEKAL0BCABaigCAHI2AgAgBkEBaiIGIAQoAgxJDQALCyADIAQoAtwEIgEoAgAiBjYCMCADIAEoAgQiCTYCNCADIAEoAggiDTYCOCADIBEo.AgAiBSgCBCIBNgIsIAUoAgghCyADIAU2AgggAyADQTBqNgIEIAMgA0EsajYCACAFAn8gASALSQRAIAEgDTYCCCABIAk2AgQgASAGNgIAIAFBDGoMAQsgAxAU.IAMoAiwLNgIEIAQgBCgCCEEBajYCCCAHQQFqIgcgCEcNAAsLIAMoAiQhBgsgBg0ACwsgA0EANgIkIAMoAhgiBiADKAIUIgVrQQJ1IgFBA08EQANAIAUoAgAQ.BSADIAMoAhRBBGoiBTYCFCADKAIYIgYgBWtBAnUiAUECSw0ACwtBqgEhCAJAAkACQCABQQFrDgIBAAILQdUCIQgLIAMgCDYCIAsgBSAGRgR/IAYFA0AgBSgC.ABAFIAVBBGoiBSAGRw0ACyADKAIYIQYgAygCFAshASADIAYgBiABa0F8cWs2AhggAygCECIBBEAgARAFCyADQUBrJAALIAQQKAwBCyAUQQRqQQMQJyEEIBRB.nAVqIRECQCABKQMIIAEpAxAiGUIEfFMNACAEIAEoAgAgGadqKAAAIgU2AgAgASABKQMQIhlCBHwiGjcDECAFQSBLDQAgASkDCCAZQgh8Uw0AIAQgASgCACAa.p2ooAAAiBTYCBCABIAEpAxBCBHw3AxAgBUUNACAEQQA2AgggBEEQaiIPIAEQNkUNACAEQaAEaiABEApFDQAgBEG0BGogARAKRQ0AIARByARqIAEQCkUNACAE.KAIEIQxBACEKIwBBQGoiAyQAIAQoAgwhASADQQA2AhAgBEH0BGogASADQRBqIgEQDyAEKAIMIQUgA0EANgIQIARBgAVqIhYgBSABEA8gBCAEKAKMBTYCkAUg.A0IANwMgIANCADcDGCADQgA3AxAgARALIAMoAhQgAygCJCIBIAMoAiBqIgVB1QJuIgZBAnRqKAIAIAUgBkHVAmxrQQxsaiIFQgA3AgQgBSAMNgIAAkAgAUEB.aiIGRQ0AIARBjAVqIRADQCADKAIUIgUgAygCICIJIAZBAWsiDWoiAUHVAm4iB0ECdGooAgAgASAHQdUCbGtBDGxqIgcoAgghASAHKAIEGiAHKAIAIQggAyAN.NgIkIAMoAhgiByAFa0ECdUHVAmxBAWtBACAFIAdHGyAGIAlqa0EBakGqBU8EQCAHQQRrKAIAEAUgAyADKAIYQQRrNgIYCyABIApHBEAgASAKSw0CAkAgBCgC.jAUiCiAEKAKQBSIGRg0AA0AgBkEQayIFKAIAIAFJDQEgBCgC9AQgBkEMayIHKAIAQQJ0aiAGQQRrKAIANgIAIAUoAgAgAUYNASAEKAKABSAHKAIAQQJ0aiAG.QQhrKAIANgIAIAQgBTYCkAUgBSIGIApHDQALCyABIQoLQQAhByAIIAxLDQEgBCAIIBYQwwEiCSAEKAIMTw0BAkACQCAEKAIAIgsgCUECdCINIAQoAoAFaigC.ACIORgRAIAhFDQEDQCADIAQoAvQEIgEoAgAiBjYCMCADIAEoAgQiCTYCNCADIAEoAggiDTYCOCADIBEoAgAiBSgCBCIBNgIsIAUoAgghCyADIAU2AgggAyAD.QTBqNgIEIAMgA0EsajYCACAFAn8gASALSQRAIAEgDTYCCCABIAk2AgQgASAGNgIAIAFBDGoMAQsgAxAUIAMoAiwLNgIEIAQgBCgCCEEBajYCCCAIIAdBAWoi.B0cNAAsMAQsCQAJAAkACQCAIQQJNBEAgBCgC6AQiBSAJNgIAQQEhBiAEKAIMIgFBAUsNAQwECyAEKAIIIAQoAgRLDQcgCGchBUEAIQFBACEGA0AgDyAGQQR0.ahAQIAFBAXRyIQEgBkEBaiIGIAVzQR9HDQALIAhBAXYiBSABSQ0HIAUgAWsiASAIIAFrIgZGBEAgASEFDAMLIAQoAtQEIgUgBCgCzARGDQEgBSgCACAEIAQo.AtgEIghBAWoiEjYC2ARBgICAgHggCHZxIQcCQCASQSBGBEAgBEEANgLYBCAEIAVBBGo2AtQEIAcNAQwDCyAHRQ0CCyABIQUgBiEBDAILA0AgBSAGQQJ0aiIH.IAdBBGsoAgAiB0EBakEAIAcgAUEBa0cbNgIAIAZBAWoiBiAEKAIMIgFJDQALDAILIAYhBQsgCkF/Rg0EQQEgCyAOQX9zanQhByADIAo2AgAgAyAJNgIEIAMg.BCgCgAUgDWooAgA2AgggAyAEKAL0BCANaigCADYCDCADIAQoApAFIgY2AiwgBCgClAUhCCADIBA2AjggAyADNgI0IAMgA0EsajYCMCAEAn8gBiAISQRAIAYg.AykCCDcCCCAGIAMpAgA3AgAgBkEQagwBCyADQTBqEBggAygCLAs2ApAFIAQoAoAFIA1qIgYgBigCAEEBajYCACAEKAL0BCANaiIGIAYoAgAgB2o2AgAgBQRA.IAMoAiQiCCADKAIgaiIHIAMoAhgiDSADKAIUIgZrQQJ1QdUCbEEBa0EAIAYgDUcbRgRAIANBEGoQCyADKAIkIgggAygCIGohByADKAIUIQYLIAYgB0HVAm4i.DUECdGooAgAgByANQdUCbGtBDGxqIgYgCjYCCCAGIAk2AgQgBiAFNgIAIAMgCEEBajYCJAsgCkEBaiEKIAFFDQEgAygCJCIIIAMoAiBqIgcgAygCGCIFIAMo.AhQiBmtBAnVB1QJsQQFrQQAgBSAGRxtGBEAgA0EQahALIAMoAiQiCCADKAIgaiEHIAMoAhQhBgsgBiAHQdUCbiIFQQJ0aigCACAHIAVB1QJsa0EMbGoiBSAK.NgIIIAUgCTYCBCAFIAE2AgAgAyAIQQFqIgY2AiQMAgtBACEHIAhFDQADQCAEKAIMBEAgBCgCgAUhEiAEKALcBCEFIAQoAugEIRNBACEGA0AgBSATIAZBAnRq.IgkoAgBBAnRqQQA2AgACQCAEKAIAIgEgEiAJKAIAQQJ0Ig1qKAIAIgtGDQAgBSANaiENIAEgC2siAUEgIAQoArAEIgtrIhVMBEAgBCgCrAQiDiAEKAKkBEYN.CCANIA4oAgAgC3RBICABa3Y2AgAgBCAEKAKwBCABaiIBNgKwBCABQSBHDQEgBEEANgKwBCAEIA5BBGo2AqwEDAELIAQoAqwEIg5BBGoiFyAEKAKkBEYNByAO.KAIAIRggBCAXNgKsBCAEIAEgFWsiFTYCsAQgDSAOKAIEQSAgFWt2IBggC3RBICABa3ZyNgIACyAFIAkoAgBBAnQiAWoiCSAJKAIAIAQoAvQEIAFqKAIAcjYC.ACAGQQFqIgYgBCgCDEkNAAsLIAMgBCgC3AQiASgCACIGNgIwIAMgASgCBCIJNgI0IAMgASgCCCINNgI4IAMgESgCACIFKAIEIgE2AiwgBSgCCCELIAMgBTYC.CCADIANBMGo2AgQgAyADQSxqNgIAIAUCfyABIAtJBEAgASANNgIIIAEgCTYCBCABIAY2AgAgAUEMagwBCyADEBQgAygCLAs2AgQgBCAEKAIIQQFqNgIIIAdB.AWoiByAIRw0ACwsgAygCJCEGCyAGDQALCyADQQA2AiQgAygCGCIGIAMoAhQiBWtBAnUiAUEDTwRAA0AgBSgCABAFIAMgAygCFEEEaiIFNgIUIAMoAhgiBiAF.a0ECdSIBQQJLDQALC0GqASEIAkACQAJAIAFBAWsOAgEAAgtB1QIhCAsgAyAINgIgCyAFIAZGBH8gBgUDQCAFKAIAEAUgBUEEaiIFIAZHDQALIAMoAhghBiAD.KAIUCyEBIAMgBiAGIAFrQXxxazYCGCADKAIQIgEEQCABEAULIANBQGskAAsgBBAoCyAAKAIMIAIoAgQgAigCAGtBDG1GIQgLIBRBoAVqJAAgCAvvAwEQfwJA.IAFBP00EQCAAKAIMIgBBAkkEQEEADwsgAEEBayIDQQNxIQUgAigCACIEKAIAIQECQCAAQQJrQQNJBEBBASEAQQAhAwwBCyADQXxxIQ1BACEDQQEhAANAIAEi.AiAEIABBAnRqKAIAIgYgASAGSRsiByAEIABBAWoiDkECdGooAgAiCCAHIAhJGyIJIAQgAEECaiIPQQJ0aigCACIKIAkgCkkbIgsgBCAAQQNqIhBBAnRqKAIA.IgwgCyAMSRshASAQIA8gDiAAIAMgAiAGSxsgByAISxsgCSAKSxsgCyAMSxshAyAAQQRqIQAgEUEEaiIRIA1HDQALIAVFDQILA0AgACADIAEgBCAAQQJ0aigC.ACICSxshAyAAQQFqIQAgASACIAEgAkkbIQEgEkEBaiISIAVHDQALDAELQSAgACgCxAQiAWsiA0EETgRAIAAoAsAEIgIgACgCuARGBEBBAA8LIAIoAgAgACAB.QQRqIgQ2AsQEIAF0QRx2IQMgBEEgRw0BIABBADYCxAQgACACQQRqNgLABCADDwsgACgCwAQiAkEEaiIEIAAoArgERgRAQQAPCyACKAIAIQUgACAENgLABCAA.IAFBHGs2AsQEIAIoAgRBPCABayIAdiAFIAF0IAAgA2t2ciEDCyADC9ILAQp/AkAgAUEASA0AIAEgACgCDCIDIAAoAggiAmtBAnVPDQAgAiABQQJ0aiIEKAIA.IgIoAjwhBiACKAI4IQggAyAEQQRqIgJHBEADQCACKAIAIQUgAkEANgIAIAQoAgAhByAEIAU2AgAgBwRAIAcQFwsgBEEEaiEEIAJBBGoiAiADRw0ACyAAKAIM.IQMLIAMgBEcEQANAIANBBGsiAygCACECIANBADYCACACBEAgAhAXCyADIARHDQALCyAAIAQ2AgwCQCAAKAIEIgRFDQAgBkEASA0AIAQoAhgiAyAEKAIcIgJG.DQADQCAGIAMoAgAoAhhGBEAjAEEQayIJJAACQCADQQRqIgYgBCgCHCIKRgRAIAMhAgwBCyADIQIDQCAGKAIAIQUgBkEANgIAIAIoAgAhCyACIAU2AgAgCwRA.IAsoAhAhBSAJIAtBDGo2AgwgCUEMaiIHIAUQHiALKAIEIQUgCSALNgIMIAcgBRAhIAsQBQsgAkEEaiECIAZBBGoiBiAKRw0ACyAEKAIcIQoLIAogAyACIANr.aiIFRwRAA0AgCkEEayIKKAIAIQcgCkEANgIAIAcEQCAHKAIQIQIgCSAHQQxqNgIMIAlBDGoiAyACEB4gBygCBCECIAkgBzYCDCADIAIQISAHEAULIAUgCkcN.AAsLIAQgBTYCHCAJQRBqJAAMAgsgA0EEaiIDIAJHDQALCwJAIAhBBEoNAAJ/IAAgCEEMbGoiBygCFCEDIAcoAhgiBSADa0ECdSIEBEADQCADIAEgAygCAEYN.AhogA0EEaiEDIARBAWsiBA0ACwtBAAsiAiAFIAIbIgggBygCGCIFRg0AIAUgCEEEaiIDayICBEAgCCADIAL8CgAACyAHIAVBBGs2AhgLAkAgACgCGCICIAAo.AhQiBEYNAEEAIQMgAiAEa0ECdSICQQJPBEAgAkEBcSACQX5xIQdBACECA0AgASAEIANBAnRqIgYoAgAiBUgEQCAGIAVBAWs2AgALIAEgBigCBCIFSARAIAYg.BUEBazYCBAsgA0ECaiEDIAJBAmoiAiAHRw0AC0UNAQsgBCADQQJ0aiIDKAIAIgIgAUwNACADIAJBAWs2AgALAkAgACgCJCICIAAoAiAiBEYNAEEAIQMgAiAE.a0ECdSICQQJPBEAgAkEBcSACQX5xIQdBACECA0AgASAEIANBAnRqIgYoAgAiBUgEQCAGIAVBAWs2AgALIAEgBigCBCIFSARAIAYgBUEBazYCBAsgA0ECaiED.IAJBAmoiAiAHRw0AC0UNAQsgBCADQQJ0aiIDKAIAIgIgAUwNACADIAJBAWs2AgALAkAgACgCMCICIAAoAiwiBEYNAEEAIQMgAiAEa0ECdSICQQJPBEAgAkEB.cSACQX5xIQdBACECA0AgASAEIANBAnRqIgYoAgAiBUgEQCAGIAVBAWs2AgALIAEgBigCBCIFSARAIAYgBUEBazYCBAsgA0ECaiEDIAJBAmoiAiAHRw0AC0UN.AQsgBCADQQJ0aiIDKAIAIgIgAUwNACADIAJBAWs2AgALAkAgACgCPCICIAAoAjgiBEYNAEEAIQMgAiAEa0ECdSICQQJPBEAgAkEBcSACQX5xIQdBACECA0Ag.ASAEIANBAnRqIgYoAgAiBUgEQCAGIAVBAWs2AgALIAEgBigCBCIFSARAIAYgBUEBazYCBAsgA0ECaiEDIAJBAmoiAiAHRw0AC0UNAQsgBCADQQJ0aiIDKAIA.IgIgAUwNACADIAJBAWs2AgALIAAoAkgiAiAAKAJEIgZGDQBBACEDIAIgBmtBAnUiAEECTwRAIABBAXEgAEF+cSEFQQAhAgNAIAEgBiADQQJ0aiIIKAIAIgBI.BEAgCCAAQQFrNgIACyABIAgoAgQiAEgEQCAIIABBAWs2AgQLIANBAmohAyACQQJqIgIgBUcNAAtFDQELIAEgBiADQQJ0aiICKAIAIgBODQAgAiAAQQFrNgIA.CwuOBAEIfyMAQSBrIgUkACAFIAE2AgggASAAKAIMIgQgACgCCCIGa0ECdU4EQAJAAkACQCABQQFqIgMgBCAGayIJQQJ1IgdLBEAgACgCECAGayIIQQJ1IANP.BEAgAyAHa0ECdCIDBEAgBEEAIAP8CwALIAAgAyAEajYCDAwECyADQYCAgIAETw0BQf////8DIAhBAXUiBCADIAMgBEkbIAhB/P///wdPGyIEQYCAgIAETw0C.IARBAnQiCBAGIgogCWohBCADIAdrQQJ0IgMEQCAEQQAgA/wLAAsgBCAHQQJ0ayEHIAkEQCAHIAYgCfwKAAALIAAgCCAKajYCECAAIAMgBGo2AgwgACAHNgII.IAZFDQMgBhAFDAMLIAMgB08NAiAEIAYgA0ECdGoiA0cEQANAIARBBGsiBCgCACEGIARBADYCACAGBEAgBhAXCyADIARHDQALCyAAIAM2AgwMAgsQBwALEA4A.CwsgAigCOCIDQQRMBEAgBSAAIANBDGxqIgMoAhgiBDYCDCADKAIcIQYgBSADQRRqNgIYIAUgBUEIajYCFCAFIAVBDGo2AhAgAwJ/IAQgBkkEQCAEIAE2AgAg.BEEEagwBCyAFQRBqEBwgBSgCDAs2AhggBSgCCCEBCyACIAE2AjwgACgCCCABQQJ0aiIBKAIAIQAgASACNgIAIAAEQCAAEBcLIAVBIGokAAtWAQJ/IAAoAgwi.AiAAKAIIIgNHBEBBASACIANrQQJ1IgAgAEEBTRshAkEAIQADQCABIAMgAEECdGooAgAoAjxGBEAgAA8LIABBAWoiACACRw0ACwtBfws8AQF/QX8hAgJAIAFB.f0YNACABQQRKDQAgACABQQxsaiIAKAIYIAAoAhQiAGtBAEwNACAAKAIAIQILIAILiAIBB38gACgCBCIDRQRAQQAPCyAAQQRqIQYgASgCACABIAEsAAsiAEEA.SCIEGyEFIAEoAgQgACAEGyEAAkADQCAFIAMoAhAgA0EQaiADLAAbIgFBAEgiBBsiByADKAIUIAEgBBsiASAAIAAgAUsiBBsiCBATIglBAEggACABSSAJG0EB.RgRAIAMoAgAiAw0BQQAPCyAHIAUgCBATIgFBAEggBCABG0EBRw0BIAMoAgQiAw0AC0EADwtBACEBAkAgAyAGRg0AIAMoAhwiACADKAIgIgVGDQAgAiAFIABr.EHcgAhB2IQAgAygCICADKAIcIgFrIgIEQCAAIAEgAvwKAAALQQEhAQsgAQvbAQEGfyMAQRBrIgMkAAJAIAAoAhgiBCAAKAIcIgdGBEBBACEEDAELAkADQCAD.QQA2AgggA0IANwMAIAQoAgAgASADEMgBIQUgAywACyEAAkAgBUUNACADKAIEIAAgAEEASCIFGyIIIAIoAgQgAiwACyIGIAZBAEgiBhtHDQAgAygCACADIAUb.IAIoAgAgAiAGGyAIEBNFDQILIABBAEgEQCADKAIAEAULIARBBGoiBCAHRw0AC0EAIQQMAQsgBCgCACEEIABBAE4NACADKAIAEAULIANBEGokACAEC5UhAhV/.A34jAEEgayIMJABBDBAGIg5BADYCCCAOIAE2AgQgDkEANgIAIA5BDGoiASESAkACQAJAA0AgAUEEaygCACEWAkACQAJAAkACQAJAIAFBDGsiECgCACIRBEBB.ACEFIBZB6AdKDQggDEEANgIYIAxCADcDECAAKAIAIgIpAwggAikDECIXVw0IIAIoAgAgF6dqLQAAIQEgAiAXQgF8NwMQIAxBEGoiAyABEHcgAQRAIAAoAgAh.AiADEHYhAyACKQMIIAIpAxAiFyABrSIYfFMNAyABBEAgAyACKAIAIBenaiAB/AoAAAsgAiACKQMQIBh8NwMQC0EYEAYiCkIANwIQIApCADcCBCAKIApBBGo2.AgAgCiAKQRBqNgIMIAxBEGohAiMAQSBrIgQkAAJAAn8CQAJAIBEoAhAiAUUNACARQRBqIQkgAigCACACIAIsAAsiA0EASCIIGyEHIAIoAgQgAyAIGyEDA0Ag.ByABKAIQIAFBEGogASwAGyIIQQBIIgsbIgYgASgCFCAIIAsbIgggAyADIAhLIgsbIg0QEyITQQBIIAMgCEkgExtBAUYEQCABKAIAIgENAQwCCyAGIAcgDRAT.IghBAEggCyAIG0EBRgRAIAEoAgQiAQ0BDAILCyABIAlHDQELIAQgAjYCECAEIBFBDGo2AhwgAiEBAkACQCAEKAIcIgcoAgQiAkUEQCAHQQRqIgMhAQwBCyAB.KAIAIAEgASwACyIDQQBIIggbIQkgASgCBCADIAgbIQgDQCAJIAIiASgCECACQRBqIAIsABsiAkEASCIDGyILIAEoAhQgAiADGyICIAggAiAISSIGGyINEBMi.A0EASCACIAhLIAMbQQFGBEAgASIDKAIAIgINAQwCC0EAIQMgCyAJIA0QEyICQQBIIAYgAhtBAUcEQCABIQIMAwsgASgCBCICDQALIAFBBGohAwtBIBAGIgJB.ADYCACACQRBqIQkCQCAEKAIQIggsAAtBAE4EQCAJIAgoAgg2AgggCSAIKQIANwIADAELIAkgCCgCACAIKAIEEA0LIAIgATYCCCACQgA3AgAgAkEANgIcIAMg.AjYCACAHKAIAKAIAIgEEQCAHIAE2AgALIAcoAgQgAhBpQQEhAyAHIAcoAghBAWo2AggLIAQgAzoAGCAEIAI2AhQgBCgCFCICKAIcIQEgAiAKNgIcIAFFBEBB.ASECDAMLIAEoAhAhAiAEIAFBDGo2AhQgBEEUaiIDIAIQHiABKAIEIQIgBCABNgIUIAMgAhAhQQEMAQsgCkUEQEEAIQIMAgsgCigCECEBIAQgCkEMajYCFCAE.QRRqIgIgARAeIAooAgQhASAEIAo2AhQgAiABECEgCiEBQQALIQIgARAFCyAEQSBqJAAgDCwAG0EASARAIAwoAhAQBQsgAg0BDAgLIAFBCGsoAgAiCkUNAwsg.DEEANgIQQQEgDEEQaiAAKAIAED9FDQJBACEBIAwoAhAiE0UNAQNAAn9BACEFIwBBIGsiCSQAIAlBADYCGCAJQgA3AxACQAJAIAAoAgAiAykDCCADKQMQIhdX.DQAgAygCACAXp2otAAAhAiADIBdCAXw3AxAgCUEQaiIEIAIQdyACBEAgACgCACEDIAQQdiEEIAMpAwggAykDECIXIAKtIhh8Uw0BIAIEQCAEIAMoAgAgF6dq.IAL8CgAACyADIAMpAxAgGHw3AxALIAlBADYCDEEBIAlBDGogACgCABA/RQ0AIAkoAgwiAkUNACACrSIZIAAoAgAiAykDCCIXIAMpAxAiGH1VDQAgAkEASA0B.IAkgAhAGIgU2AgAgCSACIAVqIgQ2AgggBUEAIAL8CwAgCSAENgIEAkAgGCAZfCIZIBdXBEAgBSADKAIAIBinaiAC/AoAACADIBk3AxAgCUEQaiICIQsjAEEw.ayIIJAACQCAKKAIEIgRFDQAgCkEEaiEGIAIoAgAgAiACLAALIgJBAEgiAxshBSALKAIEIAIgAxshAyAEIQIDQCAFIAIoAhAgAkEQaiACLAAbIgdBAEgiDRsi.DyACKAIUIAcgDRsiByADIAMgB0siDRsiFBATIhVBAEggAyAHSSAVG0EBRgRAIAIoAgAiAg0BDAILIA8gBSAUEBMiB0EASCANIAcbQQFGBEAgAigCBCICDQEM.AgsLIAIgBkYNAAJAIAIoAgQiBUUEQCACIQMDQCADIAMoAggiAygCAEcNAAsMAQsDQCAFIgMoAgAiBQ0ACwsgAiAKKAIARgRAIAogAzYCAAsgCiAKKAIIQQFr.NgIIAn8CQCACIgciAygCACIFBEAgAigCBCICRQ0BA0AgAiIDKAIAIgINAAsLIAMoAgQiBQ0AIAMoAgghBkEAIQVBAQwBCyAFIAMoAggiBjYCCEEACyENAkAg.BigCACICIANGBEAgBiAFNgIAIAMgBEYEQEEAIQIgBSEEDAILIAYoAgQhAgwBCyAGIAU2AgQLIAMtAAwhDyADIAdHBEAgAyAHKAIIIgY2AggCQCAGKAIAIAdG.BEAgBiADNgIADAELIAYgAzYCBAsgAyAHKAIAIgY2AgAgBiADNgIIIAMgBygCBCIGNgIEIAYEQCAGIAM2AggLIAMgBy0ADDoADCADIAQgBCAHRhshBAsCQCAE.RQ0AIA9BAXFFDQAgDQRAA0AgAi0ADCEGAkAgAigCCCIDKAIAIgUgAkcEQCAGQQFxRQRAIAJBAToADCADQQA6AAwgAyADKAIEIgUoAgAiBjYCBCAGBEAgBiAD.NgIICyAFIAMoAggiBjYCCAJAIAYoAgAgA0YEQCAGIAU2AgAMAQsgBiAFNgIECyAFIAM2AgAgAyAFNgIIIAIgBCAEIAIoAgAiAkYbIQQgAigCBCECCwJAAkAC.QAJAIAIoAgAiAwRAIAMtAAxBAUcNAQsgAigCBCIFBEAgBS0ADEEBRw0CCyACQQA6AAwgBCACKAIIIgJHBEAgAi0ADA0GCyACQQE6AAwMCAsgAigCBCIFRQ0B.CyAFLQAMQQFGDQAgAiEDDAELIANBAToADCACQQA6AAwgAiADKAIEIgQ2AgAgBARAIAQgAjYCCAsgAyACKAIIIgQ2AggCQCAEKAIAIAJGBEAgBCADNgIADAEL.IAQgAzYCBAsgAyACNgIEIAIgAzYCCCACIQULIAMgAygCCCICLQAMOgAMIAJBAToADCAFQQE6AAwgAiACKAIEIgMoAgAiBDYCBCAEBEAgBCACNgIICyADIAIo.AggiBDYCCAJAIAQoAgAgAkYEQCAEIAM2AgAMAQsgBCADNgIECyADIAI2AgAgAiADNgIIDAQLIAZBAXFFBEAgAkEBOgAMIANBADoADCADIAUoAgQiBjYCACAG.BEAgBiADNgIICyAFIAMoAggiBjYCCAJAIAYoAgAgA0YEQCAGIAU2AgAMAQsgBiAFNgIECyAFIAM2AgQgAyAFNgIIIAIgBCAEIAIoAgQiAkYbIQQgAigCACEC.CwJAAkAgAigCACIFRQ0AIAUtAAxBAUYNACACIQMMAQsCQCACKAIEIgMEQCADLQAMQQFHDQELIAJBADoADCACKAIIIgItAAxBAUYgAiAER3ENAiACQQE6AAwM.BQsgBQRAIAUtAAxBAUcEQCACIQMMAgsgAigCBCEDCyADQQE6AAwgAkEAOgAMIAIgAygCACIENgIEIAQEQCAEIAI2AggLIAMgAigCCCIENgIIAkAgBCgCACAC.RgRAIAQgAzYCAAwBCyAEIAM2AgQLIAMgAjYCACACIAM2AgggAiEFCyADIAMoAggiAi0ADDoADCACQQE6AAwgBUEBOgAMIAIgAigCACIDKAIEIgQ2AgAgBARA.IAQgAjYCCAsgAyACKAIIIgQ2AggCQCAEKAIAIAJGBEAgBCADNgIADAELIAQgAzYCBAsgAyACNgIEIAIgAzYCCAwDCyACKAIIIgNBBEEAIAIgAygCAEYbaigC.ACECDAALAAsgBUEBOgAMCyAHKAIcIgIEQCAHIAI2AiAgAhAFCyAHLAAbQQBIBEAgBygCEBAFCyAHEAULIAkoAgQiAiAJKAIAIgRrIQMCQAJAAn8gAiAERgRA.QQAhAkEADAELIANBAEgNASADEAYhAiADBEAgAkEAIAP8CwALIAIgA2oLIQcgAwRAIAIgBCAD/AoAAAsCQCALLAALQQBOBEAgCCALKAIINgIQIAggCykCADcD.CAwBCyAIQQhqIAsoAgAgCygCBBANC0EAIQUgCEEANgIcIAhCADcCFCAHIAJrIQMgAiAHRwRAIANBAEgNASADEAYhBSADBEAgBUEAIAP8CwALIAggAyAFaiIE.NgIcIAggBDYCGCAIIAU2AhQLIAMEQCAFIAIgA/wKAAALIAggCjYCLCAIQQhqIgUhAwJAAkACQAJAIAgoAiwiCygCBCIERQRAIAtBBGoiByEDDAELIAMoAgAg.AyADLAALIgdBAEgiBhshDSADKAIEIAcgBhshBgNAIA0gBCIDKAIQIANBEGogAywAGyIEQQBIIgcbIg8gAygCFCAEIAcbIgQgBiAEIAZJIhQbIhUQEyIHQQBI.IAQgBksgBxtBAUYEQCADIgcoAgAiBA0BDAILQQAhByAPIA0gFRATIgRBAEggFCAEG0EBRwRAIAMhBAwDCyADKAIEIgQNAAsgA0EEaiEHC0EAIQZBKBAGIgRB.ADYCACAEIAUoAgg2AhggBCAFKQIANwIQIAVCADcCACAFQQA2AgggBEEANgIkIARCADcCHCAFKAIQIg8gBSgCDCINayEFIA0gD0cEQCAFQQBIDQIgBRAGIQYg.BQRAIAZBACAF/AsACyAEIAUgBmoiDzYCJCAEIA82AiAgBCAGNgIcCyAFBEAgBiANIAX8CgAACyAEIAM2AgggBEIANwIAIAcgBDYCACALKAIAKAIAIgMEQCAL.IAM2AgALIAsoAgQgBBBpQQEhByALIAsoAghBAWo2AggLIAggBzoAKCAIIAQ2AiQMAQsQBwALIAgoAhQiAwRAIAggAzYCGCADEAULIAgsABNBAEgEQCAIKAII.EAULIAIEQCACEAULIAhBMGokAAwBCxAHAAsgCSgCACIFRQ0BCyAJIAU2AgQgBRAFCyAXIBlZIQULIAksABtBAEgEQCAJKAIQEAULIAlBIGokACAFDAELEAcA.C0UNAyATIAFBAWoiAUcNAAsMAQsgDCwAG0EATg0FIAwoAhAQBQwFCyAMQQA2AgxBASAMQQxqIAAoAgAQP0UNACAMKAIMIgStIAAoAgAiASkDCCABKQMQfVUN.ACAEDQEgECEBDAILQQAhBQwDC0EAIQUgFiARQQBHaiEHIBAhAQNAAkAgASASSQRAIAEgBzYCCCABQQA2AgQgASAKNgIADAELIAEgDmsiA0EMbUEBaiIBQdaq.1aoBTw0FQdWq1aoBIBIgDmtBDG0iAkEBdCIQIAEgASAQSRsgAkGq1arVAE8bIgFB1qrVqgFPDQYgAUEMbCIQEAYiCCADaiIBIAc2AgggAUEANgIEIAEgCjYC.ACABIANBdG1BDGxqIQIgAwRAIAIgDiAD/AoAAAsgDhAFIAggEGohEiACIQ4LIAFBDGohASAFQQFqIgUgBEcNAAsLIAEgDkcNAAtBASEFCyAOEAUgDEEgaiQA.IAUPCxAHAAsQDgALBABBBAsEAEEDC+sEAQ1/An8jAEEQayIGJAAgASgCUCIIIAItABgiAGwhAQJAAkACQCACKAIcIgRBBUcgBEEGR3ENACACLQBUQQFxRQ0A.An8gAUUEQEEAIQBBAAwBCyABQQBIDQMgAigCMCEEIAIoAgAoAgAhAiABQQJ0IgEQBiEAIAEEQCAAIAIgBGogAfwKAAALIAAgAWoLIQEgAygCACICBEAgAyAC.NgIEIAIQBQsgAyABNgIIIAMgATYCBCADIAA2AgBBASEFDAELAkAgAEUEQCADIAEQDCAIDQFBASEFDAILIABBAnQiBRAGIQQgBQRAIARBACAF/AsACyADIAEQ.DCAIRQRAQQEhBSAEEAUMAgsgAEH8AXEhDyAAQQNxIQsgAEEESSEQQQAhAQNAIAYgAi0AVAR/IAcFIAIoAkQgB0ECdGooAgALNgIMIAIgBkEMaiACLAAYIAQQ.XSIFBEAgAygCACEMQQAhDUEAIQ5BACEAAkAgEEUEQANAIAwgAUECdGoiCSAEIABBAnRqIgooAgA2AgAgCSAKKAIENgIEIAkgCigCCDYCCCAJIAooAgw2Agwg.AEEEaiEAIAFBBGohASAOQQRqIg4gD0cNAAsgC0UNAQsDQCAMIAFBAnRqIAQgAEECdGooAgA2AgAgAEEBaiEAIAFBAWohASANQQFqIg0gC0cNAAsLIAdBAWoi.ByAIRw0BCwsgBBAFDAELQQAhAQNAIAYgAi0AVAR/IAEFIAIoAkQgAUECdGooAgALNgIMIAIgBkEMaiACLAAYQQAQXRpBASEFIAFBAWoiASAIRw0ACwsgBkEQ.aiQAIAUMAQsQBwALCxAAIAAoAgAgAUECdGooAgALEAAgACgCBCAAKAIAa0EBdQsNACAAKAIEIAAoAgBrC5MFAgp/A34jAEHQAGsiBCQAAkACQAJAIAAoAhwt.ACRBAU0EQCABKQMQIg1CBHwiDCABKQMIVQ0CIAEoAgAgDadqKAAAIQcgASAMNwMQDAELQQEgBEHMAGogARCBAUUNASAEKAJMIQcLIAdFDQEgB60gASkDCCAB.KQMQfUIFflUNASAAQQRqIAcQDCAAQRBqIQsgACgCICEFA0AgASkDCCINIAEpAxAiDlcNASABKAIAIgIgDqdqLQAAIQYgASAOQgF8Igw3AxAgDCANWQ0BIAIg.DKdqLQAAIQggASAOQgJ8Igw3AxAgDCANWQ0BIAIgDKdqLQAAIQMgASAOQgN8Igw3AxAgDCANWQ0BIAIgDKdqLQAAIQIgASAOQgR8NwMQIAZBBEsNASAIQQxr.Qf8BcUH1AUkNASADRQ0BIARBCGoQQyIJIAYgAyAIIAJBAEcgCEEBayICQQpNBH8gAi0AkGoFQX8LIANsrBBnAkAgACgCHC8BJCICQQh0IAJBCHZyQf//A3FB.ggJNBEAgASkDECINQgJ8IgwgASkDCFUNAyABKAIAIA2nai8AACEDIAEgDDcDECAEIAM2AgQMAQtBASAEQQRqIAEQgQFFDQIgBCgCBCEDCyAEIAM2AkRB4AAQ.BiAJEGQhAiAFIAUoAgwgBSgCCGtBAnUgAiAFKAIAKAIIEQcAIAUoAgwgBSgCCGtBAnVBAWsiBkECdCIJIAUoAghqKAIAIAM2AjwgACgCBCAKQQJ0aiAGNgIA.IAAoAhQgACgCECICa0ECdSAGTAR/IARBfzYCACALIAZBAWogBBAdIAsoAgAFIAILIAlqIAo2AgBBASEDIApBAWoiCiAHRw0ACwwBC0EAIQMLIARB0ABqJAAg.AwsQACAAKAIMIAAoAghrQQJ1CxEAIAAgASAAKAIAKAIMEQEACwcAIAAoAgALvAQCBX8BfiAAKAJARQRAQSAQBiICQgA3AxAgAkEANgIIIAJCADcDACACQgA3.AxggACgCQCEDIAAgAjYCQCADBEAgAygCACICBEAgAyACNgIEIAIQBQsgAxAFIAAoAkAhAgsgACACNgIAIAAgAikDEDcDCCACKQMYIQcgAEIANwMwIABCADcD.KCAAIAc3AxALAkACQAJ/IAAgAS0AGDoAGCAAIAEoAhw2AhwgACABLQAgOgAgIAAgASkDKDcDKCAAIAEpAzA3AzAgACABKAI4NgI4IAAgASkDCDcDCCAAIAEp.AxA3AxAgACABKAI8NgI8IAEoAgAiA0UEQCAAQQA2AgBBAQwBC0EAIAAoAgAiAkUNABogAiADKAIAIgIgAygCBCACa60Q2AEaQQELRQ0AIAAgAS0AVDoAVCAA.IAEoAlA2AlAgACABRwRAIABBxABqIAEoAkQiAyABKAJIIgIgAiADa0ECdRBACwJAIAEoAlgiBQRAQSgQBiEEIAUoAgAhASAEQQA2AhAgBEIANwMIIAQgATYC.ACAFKAIMIgEgBSgCCCIDRwRAIAEgA2siBkEASA0EIAQgBhAGIgI2AgggBCACIAZqIgE2AhAgBgRAIAIgAyAG/AoAAAsgBCABNgIMCyAEIAUpAyA3AyAgBCAF.KQMYNwMYIAAoAlghAiAAIAQ2AlggAg0BDAILIAAoAlghAiAAQQA2AlggAkUNAQsgAigCCCIABEAgAiAANgIMIAAQBQsgAhAFCw8LEAcAC+oCAQh/QX8hAwJA.IAAoAgQiAkUNACAAQQRqIQYgASgCACABIAEsAAsiAEEASCIEGyEFIAEoAgQgACAEGyEAA0AgBSACKAIQIAJBEGogAiwAGyIBQQBIIgQbIgcgAigCFCABIAQb.IgEgACAAIAFLIgQbIggQEyIJQQBIIAAgAUkgCRtBAUYEQCACKAIAIgINAQwCCyAHIAUgCBATIgFBAEggBCABG0EBRgRAIAIoAgQiAg0BDAILCyACIAZGDQAg.AigCHCACQRxqIAIsACdBAEgbIQADQCAAIgFBAWohACABLAAAIgJBIEYgAkEJa0EFSXINAAtBASEDAkACQAJAIAJB/wFxQStrDgMBAgACC0EAIQMLIAAsAAAh.AiAAIQELQQAhACACQTBrIgJBCU0EQANAIABBCmwgAmshACABLAABIAFBAWohAUEwayICQQpJDQALC0EAIABrIAAgAxshAwsgA0EARyADQX9HcQt4AgF+An8C.QCAAQQpLDQAgAikDECIDIAIpAwhZDQAgAigCACADp2osAAAhBSACIANCAXw3AxAgBa0hAyABAn4gBUEASARAIABBAWogASACENcBRQ0CIANC/wCDIAEpAwBC.B4aEDAELIANC/wGDCzcDAEEBIQQLIAQL/QMBBn8CQAJAIAFFBEAgAkIAUwRAQQAPCyACpyIBIAAoAgQiBCAAKAIAIgZrIgNLBEAgASAAKAIIIAZrIgVNBEAg.ASADayIBBEAgBEEAIAH8CwALIAAgASAEajYCBAwDCyABQQBIDQNB/////wcgBUEBdCIEIAEgASAESRsgBUH/////A08bIgUQBiEEIAEgA2siBwRAIAMgBGpB.ACAH/AsACyADBEAgBCAGIAP8CgAACyAAIAQgBWo2AgggACABIARqNgIEIAAgBDYCACAGRQ0CIAYQBQwCCyABIANPDQEgACABIAZqNgIEDAELIAJCAFMEQEEA.DwsCQCAAKAIEIgUgACgCACIEayIGrSACWQ0AIAYgAqciA0kEQCADIAAoAgggBGsiB00EQCADIAZrIgMEQCAFQQAgA/wLAAsgACADIAVqNgIEDAILIANBAEgN.A0H/////ByAHQQF0IgUgAyADIAVJGyAHQf////8DTxsiBxAGIQUgAyAGayIIBEAgBSAGakEAIAj8CwALIAYEQCAFIAQgBvwKAAALIAAgBSAHajYCCCAAIAMg.BWo2AgQgACAFNgIAIARFDQEgBBAFDAELIAMgBk8NACAAIAMgBGo2AgQLIAKnIgNFDQAgACgCACABIAP8CgAACyAAIAApAxhCAXw3AxhBAQ8LEAcAC1ACAn8C.fgJ/QQAgACgCICIBKQMIIAEpAxAiA0IEfCIEUw0AGiABKAIAIAOnaigAACECIAEgBDcDEEEAIAJBAEgNABogACgCBCACNgJQQQELC8ILAQh/IwBBIGsiBiQA.IAEgAzYCICABIAI2AiggASAENgIEIAAgAyAGQRRqEGYCQCAAKAIADQAgACwAD0EASARAIAAoAgQQBQsgBi0AGyIEIAEgASgCACgCCBEAAEcEQEE4EAYiAUEA.OgAyIAFB1QovAAA7ADAgAUHNCikAADcAKCABQcUKKQAANwAgIAFBvQopAAA3ABggAUG1CikAADcAECABQa0KKQAANwAIIAFBpQopAAA3AAAgAEF/NgIAIABB.BGogAUEyEA0gARAFDAELIAEgBi0AGSICOgAkIAEgBi0AGiIDOgAlIAJBA2tB/wFxQf0BTQRAQRgQBiIBQQA6ABYgAUHCCykAADcADiABQbwLKQAANwAIIAFB.tAspAAA3AAAgAEF7NgIAIABBBGogAUEWEA0gARAFDAELAkAgAkECRw0AQQJBAyAEGyADTw0AQRgQBiIBQQA6ABYgAUGrCykAADcADiABQaULKQAANwAIIAFB.nQspAAA3AAAgAEF7NgIAIABBBGogAUEWEA0gARAFDAELIAEoAiAgAkEIdCADciICOwEmAkAgAkH//wNxQYMCSQ0AIAYuAR5BAE4NACMAQRBrIgskAEEkEAYi.A0IANwIQIANCADcCBCADQQA2AiAgA0IANwIYIAMgA0EEajYCACADIANBEGo2AgwgC0EMaiIIQQA2AgAgASgCICECIwBBEGsiBSQAAn8CQCADRQ0AIAggAjYC.ACAFQQA2AghBAEEBIAVBCGogAhA/RQ0BGgJAIAUoAggiDARAA0BBASAFQQRqIAgoAgAQP0UNA0EcEAYiBEIANwIQIARCADcCBCAEIARBBGo2AgAgBCAEQRBq.NgIMIAQgBSgCBDYCGCAIIAQQygFFDQIjAEEgayICJAAgAiAENgIIAkAgBEUNACACIAMoAhwiBzYCDCADKAIgIQkgAiADQRhqNgIYIAIgAkEIajYCFCACIAJB.DGo2AhAgAwJ/IAcgCUkEQCACQQA2AgggByAENgIAIAdBBGoMAQsgAkEQahCsASACKAIMCzYCHCACKAIIIQQgAkEANgIIIARFDQAgBCgCECEHIAIgBEEMajYC.ECACQRBqIgkgBxAeIAQoAgQhByACIAQ2AhAgCSAHECEgBBAFCyACQSBqJAAgCkEBaiIKIAxHDQALCyAIIAMQygEMAgsgBCgCECECIAUgBEEMajYCDCAFQQxq.IgggAhAeIAQoAgQhAiAFIAQ2AgwgCCACECEgBBAFC0EACyECIAVBEGokAAJAIAIEQCABKAIEIgQoAgQhAiAEIAM2AgQgAgRAIAIQhQEQBQsgAEIANwIIIABC.ADcCAAwBC0EgEAYiAkEAOgAaIAJB3gwvAAA7ABggAkHWDCkAADcAECACQc4MKQAANwAIIAJBxgwpAAA3AAAgAEF/NgIAIABBBGogAkEaEA0gAhAFIAMQhQEQ.BQsgC0EQaiQAIAAoAgANASAALAAPQQBODQAgACgCBBAFCyABIAEoAgAoAgwRAABFBEBBKBAGIgFBADoAISABQZsLLQAAOgAgIAFBkwspAAA3ABggAUGLCykA.ADcAECABQYMLKQAANwAIIAFB+wopAAA3AAAgAEF/NgIAIABBBGogAUEhEA0gARAFDAELIAEgASgCACgCFBEAAEUEQCAGQQhqQeEMEGUhASAAQX82AgAgAEEE.aiEAIAEsAAtBAE4EQCAAIAEoAgg2AgggACABKQIANwIADAILIAAgASgCACABKAIEEA0gASwAC0EATg0BIAEoAgAQBQwBCyABIAEoAgAoAhgRAABFBEAgBkEI.akHYChBlIQEgAEF/NgIAIABBBGohACABLAALQQBOBEAgACABKAIINgIIIAAgASkCADcCAAwCCyAAIAEoAgAgASgCBBANIAEsAAtBAE4NASABKAIAEAUMAQsg.AEIANwIIIABCADcCAAsgBkEgaiQAC7ICAQh/AkACQAJAIAAoAgQiBiAAKAIAIgRrIgVBAnUiAiABSQRAIAAoAgggBGsiA0ECdSABTwRAIAEgAmtBAnQiAQRA.IAZBACAB/AsACyAAIAEgBmo2AgQPCyABQYCAgIAETw0CQf////8DIANBAXUiByABIAEgB0kbIANB/P///wdPGyIDQYCAgIAETw0DIANBAnQiCBAGIgkgBWoh.BSABIAJrQQJ0IgcEQCAFQQAgB/wLAAsgBSACQQJ0ayEDIAQgBkcEQCAEIQEgAyECA0AgAiABKAIANgIAIAJBBGohAiABQQRqIgEgBkcNAAsLIAAgCCAJajYC.CCAAIAUgB2o2AgQgACADNgIAIARFDQEgBBAFDwsgASACTw0AIAAgBCABQQJ0ajYCBAsPCxAHAAsQDgALnQEBAn9BwAAQBkEMEAYiAiAAKAIEKAJQNgIIIAJB.oOcANgIAIAJBADYCBCACEJwBIQMCQAJAIAFBAEgEQCADIQIMAQsgACgCDCAAKAIIIgJrQQJ1IAFMBH8gAEEIaiABQQFqEFIgACgCCAUgAgsgAUECdGoiACgC.ACECIAAgAzYCACACRQ0BCyACIAIoAgAoAgQRAgALIAFBf3NBH3YLtRIBC38jAEEwayIDJAACQCABKAIAIgVBf0YEQEEBIQIMAQtBASECIAAoAhggBUEDbiIE.QQN2Qfz///8AcWooAgAgBHZBAXENACAAIAAoAjAiAjYCNCADIAI2AhwgACgCOCEEIAMgAEEwaiIKNgIoIAMgATYCJCADIANBHGo2AiAgAAJ/IAIgBEkEQCAC.IAU2AgAgAkEEagwBCyADQSBqEAkgAygCHAs2AjRBfyEFIAAoAgQhBAJAIAEoAgAiAkF/RgRAIAQoAhwiBigC/P///w8hBAwBCyAEKAIcIgYgAkEBaiIFIAJB.AmsgBUEDcBtBAnRqKAIAIQQgAkEDcARAIAJBAWshBQwBCyACQQJqIQULIARBf0YEQEEAIQIMAQsgBiAFQQJ0aigCACIFQX9GBEBBACECDAELIAAoAiQiBiAE.QQN2Qfz///8BcWoiBygCACIIQQEgBHQiCXEEfyAGBSAHIAggCXI2AgBBfyEGIAJBf0cEQCACQQFqIgYgAkECayAGQQNwGyEGCyADIAY2AhQgACgCFCECIAMg.ACgCECgCYCAGQQNuIgdBDGxqIAYgB0EDbGtBAnRqKAIAIgc2AhggAyACKAIEIgIoAgQiBjYCHCACKAIIIQggAyACNgIoIAMgA0EYajYCJCADIANBHGo2AiAg.AgJ/IAYgCEkEQCAGIAc2AgAgBkEEagwBCyADQSBqEAkgAygCHAs2AgQgAyAAKAIMIgIoAgQiBjYCHCACKAIIIQcgAyACNgIoIAMgA0EUajYCJCADIANBHGo2.AiAgAgJ/IAYgB0kEQCAGIAMoAhQ2AgAgBkEEagwBCyADQSBqEAkgAygCHAs2AgQgACgCDCICKAIMIARBAnRqIAIoAhgiBDYCACACIARBAWo2AhggACgCJAsg.BUEDdkH8////AXFqIgIoAgAiBEEBIAV0IgZxRQRAIAIgBCAGcjYCACADAn9BfyABKAIAIgRBf0YNABogBEEBayAEQQNwDQAaIARBAmoLIgI2AhAgACgCFCEE.IAMgACgCECgCYCACQQNuIgZBDGxqIAIgBkEDbGtBAnRqKAIAIgY2AhggAyAEKAIEIgIoAgQiBDYCHCACKAIIIQcgAyACNgIoIAMgA0EYajYCJCADIANBHGo2.AiAgAgJ/IAQgB0kEQCAEIAY2AgAgBEEEagwBCyADQSBqEAkgAygCHAs2AgQgAyAAKAIMIgIoAgQiBDYCHCACKAIIIQYgAyACNgIoIAMgA0EQajYCJCADIANB.HGo2AiAgAgJ/IAQgBkkEQCAEIAMoAhA2AgAgBEEEagwBCyADQSBqEAkgAygCHAs2AgQgACgCDCICKAIMIAVBAnRqIAIoAhgiBTYCACACIAVBAWo2AhgLIAAo.AjAiBSAAKAI0IgRGBEBBASECDAELA0AgASAEQQRrIgQoAgAiAjYCAAJAAkACQCACQX9GDQAgAkEDbiICQQN2Qfz///8AcSIGIAAoAhgiB2ooAgAgAnZBAXEN.ACAGIAdqIgUgBSgCAEEBIAJ0cjYCACAAKAIEIgUoAhwgASgCACICQQJ0aigCACIEQX9HDQFBACECDAQLIAAgBDYCNAwBCwNAAkACQCAAKAIkIARBA3ZB/P//./wFxaiIHKAIAIghBASAEdCIJcQ0AAkAgBEECdCILIAUoAihqKAIAIgRBf0YEQEEBIQYMAQtBASEGIARBAWoiDCAEQQJrIAxBA3AbIgRBf0YNACAFKAIAIARB.A3ZB/P///wFxaigCACAEdkEBcQ0AIAUoAkAoAgwgBEECdGooAgAiBUF/Rg0AIAVBAWoiBCAFQQJrIARBA3AbQX9GIQYLIAcgCCAJcjYCACADIAI2AgwgACgC.FCEFIAMgACgCECgCYCACQQNuIgRBDGxqIAIgBEEDbGtBAnRqKAIAIgQ2AhggAyAFKAIEIgIoAgQiBTYCHCACKAIIIQcgAyACNgIoIAMgA0EYajYCJCADIANB.HGo2AiAgAgJ/IAUgB0kEQCAFIAQ2AgAgBUEEagwBCyADQSBqEAkgAygCHAs2AgQgAyAAKAIMIgIoAgQiBTYCHCACKAIIIQQgAyACNgIoIAMgA0EMajYCJCAD.IANBHGo2AiAgAgJ/IAQgBUsEQCAFIAMoAgw2AgAgBUEEagwBCyADQSBqEAkgAygCHAs2AgQgACgCDCICKAIMIAtqIAIoAhgiBTYCACACIAVBAWo2AhggASgC.ACECIAAoAgQhBSAGDQBBfyEEAkAgAkF/Rg0AIAJBAWoiBiACQQJrIAZBA3AbIgJBf0YNACAFKAIAIAJBA3ZB/P///wFxaigCACACdkEBcQ0AIAUoAkAoAgwg.AkECdGooAgAhBAsgASAENgIAIARBA24hAgwBCwJAAkACQAJAIAJBf0YNAEF/IQQCQCACQQFqIgYgAkECayAGQQNwGyIGQX9GDQAgBSgCACAGQQN2Qfz///8B.cWooAgAgBnZBAXENACAFKAJAKAIMIAZBAnRqKAIAIQQLIAMgBDYCGAJ/AkAgAkEDcARAIAJBAWshAgwBC0F/IAJBAmoiAkF/Rg0BGgtBfyAFKAIAIAJBA3ZB./P///wFxaigCACACdkEBcQ0AGiAFKAJAKAIMIAJBAnRqKAIACyIGQQNuIQIgBEEDbiEFIARBf0cEQCAAKAIYIgcgBUEDdkH8////AHFqKAIAIAV2QQFxRQ0C.CyAGQX9GDQAgBiEEIAAoAhggAkEDdkH8////AHFqKAIAIAJ2QQFxRQ0DCyAAIAAoAjRBBGs2AjQMAQsgBkF/RgRAIAUhAgwCCyAHIAJBA3ZB/P///wBxaigC.ACACdiAFIQJBAXENASAAKAI0IgJBBGsgBjYCACADIAI2AhwgACgCOCEFIAMgCjYCKCADIANBGGo2AiQgAyADQRxqNgIgIAIgBUkEQCACIAMoAhg2AgAgACAC.QQRqNgI0DAELIANBIGoQCSAAIAMoAhw2AjQLIAAoAjQhBCAAKAIwIQUMAwsgASAENgIACyAAKAIYIAJBA3ZB/P///wBxaiIFIAUoAgBBASACdHI2AgAgACgC.BCIFKAIcIAEoAgAiAkECdGooAgAiBEF/Rw0AC0EAIQIMAgtBASECIAQgBUcNAAsLIANBMGokACACC5YRAQt/IwBBMGsiAyQAAkAgASgCACIEQX9GBEBBASEC.DAELQQEhAiAAKAIYIARBA24iBUEDdkH8////AHFqKAIAIAV2QQFxDQAgACAAKAIwIgI2AjQgAyACNgIcIAAoAjghBSADIABBMGoiCjYCKCADIAE2AiQgAyAD.QRxqNgIgIAACfyACIAVJBEAgAiAENgIAIAJBBGoMAQsgA0EgahAJIAMoAhwLNgI0QX8hBSABKAIAIgJBf0YEQEEAIQIMAQsgACgCBCEGIAJBAWoiBCACQQJr.IARBA3AbIgRBf0cEQCAGKAIAIARBAnRqKAIAIQULAkAgAkEDcARAIAJBAWshAgwBCyACQQJqIgJBf0cNAEEAIQIMAQsgBUF/RgRAQQAhAgwBCyAGKAIAIAJB.AnRqKAIAIgJBf0YEQEEAIQIMAQsgACgCJCIGIAVBA3ZB/P///wFxaiIHKAIAIghBASAFdCIJcQR/IAYFIAcgCCAJcjYCACADIAQ2AhQgACgCFCEGIAMgACgC.ECgCYCAEQQNuIgdBDGxqIAQgB0EDbGtBAnRqKAIAIgc2AhggAyAGKAIEIgYoAgQiBDYCHCAGKAIIIQggAyAGNgIoIAMgA0EYajYCJCADIANBHGo2AiAgBgJ/.IAQgCEkEQCAEIAc2AgAgBEEEagwBCyADQSBqEAkgAygCHAs2AgQgAyAAKAIMIgYoAgQiBDYCHCAGKAIIIQcgAyAGNgIoIAMgA0EUajYCJCADIANBHGo2AiAg.BgJ/IAQgB0kEQCAEIAMoAhQ2AgAgBEEEagwBCyADQSBqEAkgAygCHAs2AgQgACgCDCIEKAIMIAVBAnRqIAQoAhgiBTYCACAEIAVBAWo2AhggACgCJAsgAkED.dkH8////AXFqIgQoAgAiBUEBIAJ0IgZxRQRAIAQgBSAGcjYCACADAn9BfyABKAIAIgRBf0YNABogBEEBayAEQQNwDQAaIARBAmoLIgU2AhAgACgCFCEEIAMg.ACgCECgCYCAFQQNuIgZBDGxqIAUgBkEDbGtBAnRqKAIAIgY2AhggAyAEKAIEIgQoAgQiBTYCHCAEKAIIIQcgAyAENgIoIAMgA0EYajYCJCADIANBHGo2AiAg.BAJ/IAUgB0kEQCAFIAY2AgAgBUEEagwBCyADQSBqEAkgAygCHAs2AgQgAyAAKAIMIgQoAgQiBTYCHCAEKAIIIQYgAyAENgIoIAMgA0EQajYCJCADIANBHGo2.AiAgBAJ/IAUgBkkEQCAFIAMoAhA2AgAgBUEEagwBCyADQSBqEAkgAygCHAs2AgQgACgCDCIEKAIMIAJBAnRqIAQoAhgiAjYCACAEIAJBAWo2AhgLIAAoAjAi.BiAAKAI0IgVGBEBBASECDAELA0AgASAFQQRrIgUoAgAiAjYCAAJAAkACQCACQX9GDQAgAkEDbiICQQN2Qfz///8AcSIEIAAoAhgiB2ooAgAgAnZBAXENACAE.IAdqIgQgBCgCAEEBIAJ0cjYCACABKAIAIgJBf0cNAUEAIQIMBAsgACAFNgI0DAELA0AgACgCBCIEKAIAIAJBAnRqKAIAIgVBf0YEQEEAIQIMBAsCQAJAAkAC.QAJAIAAoAiQgBUEDdkH8////AXFqIgcoAgAiCEEBIAV0IglxRQRAAkAgBUECdCILIAQoAhhqKAIAIgVBf0YEQEEBIQYMAQtBASEGIAVBAWoiDCAFQQJrIAxB.A3AbIgVBf0YNACAEKAIMIAVBAnRqKAIAIgRBf0YNACAEQQFqIgUgBEECayAFQQNwG0F/RiEGCyAHIAggCXI2AgAgAyACNgIMIAAoAhQhBCADIAAoAhAoAmAg.AkEDbiIFQQxsaiACIAVBA2xrQQJ0aigCACIFNgIYIAMgBCgCBCICKAIEIgQ2AhwgAigCCCEHIAMgAjYCKCADIANBGGo2AiQgAyADQRxqNgIgIAICfyAEIAdJ.BEAgBCAFNgIAIARBBGoMAQsgA0EgahAJIAMoAhwLNgIEIAMgACgCDCICKAIEIgQ2AhwgAigCCCEFIAMgAjYCKCADIANBDGo2AiQgAyADQRxqNgIgIAICfyAE.IAVJBEAgBCADKAIMNgIAIARBBGoMAQsgA0EgahAJIAMoAhwLNgIEIAAoAgwiAigCDCALaiACKAIYIgQ2AgAgAiAEQQFqNgIYIAEoAgAhAiAAKAIEIQQgBkUE.QCABAn9BfyACQX9GDQAaQX8gAkEBaiIGIAJBAmsgBkEDcBsiAkF/Rg0AGiAEKAIMIAJBAnRqKAIACyIFNgIAIAVBA24hAgwGCyACQX9GDQELQX8hBSACQQFq.IgYgAkECayAGQQNwGyIGQX9HBEAgBCgCDCAGQQJ0aigCACEFCyADIAU2AhgCfwJAIAJBA3AEQCACQQFrIQIMAQtBfyACQQJqIgJBf0YNARoLIAQoAgwgAkEC.dGooAgALIgZBA24hAiAFQQNuIQQgBUF/RwRAIAAoAhgiByAEQQN2Qfz///8AcWooAgAgBHZBAXFFDQILIAZBf0YNACAGIQUgACgCGCACQQN2Qfz///8AcWoo.AgAgAnZBAXFFDQMLIAAgACgCNEEEazYCNAwBCyAGQX9GBEAgBCECDAILIAcgAkEDdkH8////AHFqKAIAIAJ2IAQhAkEBcQ0BIAAoAjQiAkEEayAGNgIAIAMg.AjYCHCAAKAI4IQQgAyAKNgIoIAMgA0EYajYCJCADIANBHGo2AiAgAiAESQRAIAIgAygCGDYCACAAIAJBBGo2AjQMAQsgA0EgahAJIAAgAygCHDYCNAsgACgC.NCEFIAAoAjAhBgwDCyABIAU2AgALIAAoAhggAkEDdkH8////AHFqIgQgBCgCAEEBIAJ0cjYCACABKAIAIgJBf0cNAAtBACECDAILQQEhAiAFIAZHDQALCyAD.QTBqJAAgAguGGAEPfyMAQTBrIgQkAAJAAkACQCAAKAJcIAAoAlhGDQAgBCAAKAI0IgY2AhwgACgCOCEDIAQgAEEwaiIPNgIoIAQgATYCJCAEIARBHGo2AiAg.AAJ/IAMgBksEQCAGIAEoAgA2AgAgBkEEagwBCyAEQSBqEAkgBCgCHAs2AjQgAEEANgJUQX8hBgJ/QX8gASgCACICQX9GDQAaIAAoAgQhAyACQQFqIgUgAkEC.ayAFQQNwGyIFQX9HBEAgAygCACAFQQJ0aigCACEGCwJAIAJBA3AEQCACQQFrIQUMAQtBfyACQQJqIgVBf0YNARoLIAMoAgAgBUECdGooAgALIQMgACgCJCII.IAZBA3ZB/P///wFxaiIFKAIAIgdBASAGdCIJcUUEQCAFIAcgCXI2AgBBfyEIIAJBf0cEQCACQQFqIgUgAkECayAFQQNwGyEICyAEIAg2AhQgACgCFCECIAQg.ACgCECgCYCAIQQNuIgVBDGxqIAggBUEDbGtBAnRqKAIAIgc2AhggBCACKAIEIgIoAgQiBTYCHCACKAIIIQggBCACNgIoIAQgBEEYajYCJCAEIARBHGo2AiAg.AgJ/IAUgCEkEQCAFIAc2AgAgBUEEagwBCyAEQSBqEAkgBCgCHAs2AgQgBCAAKAIMIgIoAgQiBTYCHCACKAIIIQcgBCACNgIoIAQgBEEUajYCJCAEIARBHGo2.AiAgAgJ/IAUgB0kEQCAFIAQoAhQ2AgAgBUEEagwBCyAEQSBqEAkgBCgCHAs2AgQgACgCDCICKAIMIAZBAnRqIAIoAhgiBjYCACACIAZBAWo2AhggACgCJCEI.IAEoAgAhAgsgCCADQQN2Qfz///8BcWoiBigCACIFQQEgA3QiB3FFBEAgBiAFIAdyNgIAIAQCf0F/IAJBf0YNABogAkEBayACQQNwDQAaIAJBAmoLIgY2AhAg.ACgCFCECIAQgACgCECgCYCAGQQNuIgVBDGxqIAYgBUEDbGtBAnRqKAIAIgU2AhggBCACKAIEIgYoAgQiAjYCHCAGKAIIIQcgBCAGNgIoIAQgBEEYajYCJCAE.IARBHGo2AiAgBgJ/IAIgB0kEQCACIAU2AgAgAkEEagwBCyAEQSBqEAkgBCgCHAs2AgQgBCAAKAIMIgYoAgQiAjYCHCAGKAIIIQUgBCAGNgIoIAQgBEEQajYC.JCAEIARBHGo2AiAgBgJ/IAIgBUkEQCACIAQoAhA2AgAgAkEEagwBCyAEQSBqEAkgBCgCHAs2AgQgACgCDCIGKAIMIANBAnRqIAYoAhgiAzYCACAGIANBAWo2.AhggASgCACECC0F/IQYgAkF/RwRAIAAoAgQoAgAgAkECdGooAgAhBgsgACgCJCAGQQN2Qfz///8BcWoiAygCACIFQQEgBnQiB3FFBEAgAyAFIAdyNgIAIAQg.AjYCDCAAKAIUIQMgBCAAKAIQKAJgIAJBA24iBUEMbGogAiAFQQNsa0ECdGooAgAiBTYCGCAEIAMoAgQiAygCBCICNgIcIAMoAgghByAEIAM2AiggBCAEQRhq.NgIkIAQgBEEcajYCICADAn8gAiAHSQRAIAIgBTYCACACQQRqDAELIARBIGoQCSAEKAIcCzYCBCAEIAAoAgwiAygCBCICNgIcIAMoAgghBSAEIAM2AiggBCAE.QQxqNgIkIAQgBEEcajYCICADAn8gAiAFSQRAIAIgBCgCDDYCACACQQRqDAELIARBIGoQCSAEKAIcCzYCBCAAKAIMIgMoAgwgBkECdGogAygCGCIGNgIAIAMg.BkEBajYCGAsgACgCVCIGQQJKDQADQCAPIAZBDGxqIgMoAgAgAygCBCICRgRAIAZBAWoiBkEDRw0BDAILIAJBBGsiBSgCACECIAMgBTYCBCAAIAY2AlQgASAC.NgIAIAJBf0YNAQJAAkAgACgCGCIGIAJBA24iA0EDdkH8////AHFqKAIAIAN2QQFxDQADQCAGIAJBA24iA0EDdkH8////AHFqIgYgBigCAEEBIAN0cjYCAEF/.IQYCQAJAAn8gAkF/RwRAIAAoAgQoAgAgAkECdGooAgAhBgsCQAJAAkACQCAAKAIkIAZBA3ZB/P///wFxaiIFKAIAIgdBASAGdCIIcUUEQCAFIAcgCHI2AgAg.ACgCECgCYCADQQxsaiACIANBA2xrQQJ0aigCACEDAkAgACgCFCgCBCIJKAIEIgsgCSgCCCIHSQRAIAsgAzYCACALQQRqIQUMAQsgCyAJKAIAIghrIgpBAnUi.DEEBaiIFQYCAgIAETw0CQf////8DIAcgCGsiB0EBdSINIAUgBSANSRsgB0H8////B08bIgVBgICAgARPDQ4gCiAFQQJ0Ig0QBiIOaiIHIAM2AgAgB0EEaiEF.IAcgDEECdGsiCiEHIAgiAyALRwRAA0AgByADKAIANgIAIAdBBGohByADQQRqIgMgC0cNAAsLIAkgDSAOajYCCCAJIAU2AgQgCSAKNgIAIAhFDQAgCBAFCyAJ.IAU2AgQCQCAAKAIMIggoAgQiCSAIKAIIIgVJBEAgCSACNgIAIAlBBGohAgwBCyAJIAgoAgAiB2siC0ECdSIKQQFqIgNBgICAgARPDQ9B/////wMgBSAHayIF.QQF1IgwgAyADIAxJGyAFQfz///8HTxsiA0GAgICABE8NDiALIANBAnQiDBAGIg1qIgMgAjYCACADQQRqIQIgAyAKQQJ0ayILIQMgByIFIAlHBEADQCADIAUo.AgA2AgAgA0EEaiEDIAVBBGoiBSAJRw0ACwsgCCAMIA1qNgIIIAggAjYCBCAIIAs2AgAgB0UNACAHEAULIAggAjYCBCAAKAIMIgMoAgwgBkECdGogAygCGCIG.NgIAIAMgBkEBajYCGCABKAIAIQILIAJBf0YNCCAAKAIEIQNBfyEGIAJBAWoiBSACQQJrIAVBA3AbIgVBf0cEQCADKAIMIAVBAnRqKAIAIQYLAn8CQCACQQNw.BEAgAkEBayEIDAELQX8gAkECaiIIQX9GDQEaCyADKAIMIAhBAnRqKAIACyICQQNuIQcgBkF/RwRAIAAoAhggBkEDbiIFQQN2Qfz///8AcWooAgBBASAFdHEh.BSACQX9GDQIgBUEARyEFDAMLQQEhBSACQX9HDQIMCAsQBwALIAVFDQEMBgsCQCAAKAIYIAdBA3ZB/P///wBxaigCACAHdkEBcQ0AQQAhCCAAKAIkIAMoAgAg.AkECdGooAgAiA0EDdkH8////AXFqKAIAIAN2QQFxRQRAIAAoAlggA0ECdGoiAyADKAIAIgNBAWo2AgBBAkEBIANBAEwbIQgLIAUEQCAIIAAoAlRMDQQLAkAg.DyAIQQxsaiIJKAIEIgsgCSgCCCIKSQRAIAsgAjYCACALQQRqIQIMAQsgCyAJKAIAIgNrIgxBAnUiDUEBaiIHQYCAgIAETw0MQf////8DIAogA2siCkEBdSIO.IAcgByAOSRsgCkH8////B08bIgdBgICAgARPDQsgDCAHQQJ0Ig4QBiIQaiIKIAI2AgAgCkEEaiECIAMhByAKIA1BAnRrIgwhCiADIAtHBEADQCAKIAcoAgA2.AgAgCkEEaiEKIAdBBGoiByALRw0ACwsgCSAOIBBqNgIIIAkgAjYCBCAJIAw2AgAgA0UNACADEAULIAkgAjYCBCAIIAAoAlRODQAgACAINgJUCyAFDQVBfyAG.QX9GDQEaCyAAKAIEKAIAIAZBAnRqKAIACyECQQAhAyAAKAIkIAJBA3ZB/P///wFxaigCACACdkEBcUUEQCAAKAJYIAJBAnRqIgMgAygCACIDQQFqNgIAQQJB.ASADQQBMGyEDCyADIAAoAlRKDQEgBiECCyABIAI2AgAgACgCGCEGDAELCyAEIAY2AgggBCAPIANBDGxqIgIoAgQiBTYCHCACKAIIIQcgBCACNgIoIAQgBEEI.ajYCJCAEIARBHGo2AiAgAgJ/IAUgB0kEQCAFIAY2AgAgBUEEagwBCyAEQSBqEAkgBCgCHAs2AgQgAyAAKAJUIgZODQEgACADNgJUIAMhBgwBCyAAKAJUIQYL.IAZBA0gNAAsLIARBMGokAEEBDwsQDgALEAcAC8cEAQZ/IwBBEGsiBSQAIABB2NkANgIAIABB6AFqIgMoAsQBIgEEQCADIAE2AsgBIAEQBQsgAygCuAEiAgRA.IAIiASADKAK8ASIERwRAA0AgBEEMayIBKAIAIgYEQCAEQQhrIAY2AgAgBhAFCyABIgQgAkcNAAsgAygCuAEhAQsgAyACNgK8ASABEAULIAMoApwBIgEEQCAD.IAE2AqABIAEQBQsgAygCiAEhAiADQQA2AogBIAIEQCACQQRrIgQoAgAiAQRAIAIgAUEEdGohAQNAIAFBEGsiASACRw0ACwsgBBAFCyAFIABB2AFqNgIMIAVB.DGoQiQEgACgCxAEiAQRAIAAgATYCyAEgARAFCyAAKAK4ASIBBEAgACABNgK8ASABEAULIAAoAqwBIgEEQCAAIAE2ArABIAEQBQsgACgCoAEiAQRAIAAgATYC.pAEgARAFCyAAKAKQASIBBEADQCABKAIAIAEQBSIBDQALCyAAKAKIASEBIABBADYCiAEgAQRAIAEQBQsgACgCeCIBBEAgARAFCyAAKAJsIgEEQCABEAULIAAo.AmAiAQRAIAEQBQsgACgCSCIBBEAgACABNgJMIAEQBQsgACgCPCIBBEAgARAFCyAAKAIwIgEEQCAAIAE2AjQgARAFCyAAKAIkIgEEQCAAIAE2AiggARAFCyAA.KAIYIgEEQCAAIAE2AhwgARAFCyAAKAIMIgEEQCAAIAE2AhAgARAFCyAAKAIIIQEgAEEANgIIIAEEQCABECoLIAVBEGokACAAC9IDAQV/IwBBEGsiBCQAIABB.qNkANgIAIAAoAoQDIgEEQCAAIAE2AogDIAEQBQsgACgC8AIhAyAAQQA2AvACIAMEQCADQQRrIgUoAgAiAQRAIAMgAUEEdGohAgNAIAJBEGsiAiADRw0ACwsg.BRAFCyAEIABB2AFqNgIMIARBDGoQiQEgACgCxAEiAQRAIAAgATYCyAEgARAFCyAAKAK4ASIBBEAgACABNgK8ASABEAULIAAoAqwBIgEEQCAAIAE2ArABIAEQ.BQsgACgCoAEiAQRAIAAgATYCpAEgARAFCyAAKAKQASICBEADQCACKAIAIAIQBSICDQALCyAAKAKIASEBIABBADYCiAEgAQRAIAEQBQsgACgCeCIBBEAgARAF.CyAAKAJsIgEEQCABEAULIAAoAmAiAQRAIAEQBQsgACgCSCIBBEAgACABNgJMIAEQBQsgACgCPCIBBEAgARAFCyAAKAIwIgEEQCAAIAE2AjQgARAFCyAAKAIk.IgEEQCAAIAE2AiggARAFCyAAKAIYIgEEQCAAIAE2AhwgARAFCyAAKAIMIgEEQCAAIAE2AhAgARAFCyAAKAIIIQEgAEEANgIIIAEEQCABECoLIARBEGokACAA.C7sDAQV/IwBBEGsiBCQAIABB9NgANgIAIAAoAvACIQMgAEEANgLwAiADBEAgA0EEayIFKAIAIgEEQCADIAFBBHRqIQIDQCACQRBrIgIgA0cNAAsLIAUQBQsg.BCAAQdgBajYCDCAEQQxqEIkBIAAoAsQBIgEEQCAAIAE2AsgBIAEQBQsgACgCuAEiAQRAIAAgATYCvAEgARAFCyAAKAKsASIBBEAgACABNgKwASABEAULIAAo.AqABIgEEQCAAIAE2AqQBIAEQBQsgACgCkAEiAgRAA0AgAigCACACEAUiAg0ACwsgACgCiAEhASAAQQA2AogBIAEEQCABEAULIAAoAngiAQRAIAEQBQsgACgC.bCIBBEAgARAFCyAAKAJgIgEEQCABEAULIAAoAkgiAQRAIAAgATYCTCABEAULIAAoAjwiAQRAIAEQBQsgACgCMCIBBEAgACABNgI0IAEQBQsgACgCJCIBBEAg.ACABNgIoIAEQBQsgACgCGCIBBEAgACABNgIcIAEQBQsgACgCDCIBBEAgACABNgIQIAEQBQsgACgCCCEBIABBADYCCCABBEAgARAqCyAEQRBqJAAgAAuQBgEF.f0F/IQQCf0F/IAEoAgAiAkF/Rg0AGiACQQFqIgEgAkECayABQQNwGyEEIAJBAWsgAkEDcA0AGiACQQJqCyEGAkACQAJAAkACQCAAKAKoAQ4IAAAEAgQBBAME.C0F/IQEgACgClAEhAkF/IQMgACgCnAEiBSAEQX9HBH8gAigCACAEQQJ0aigCAAVBfwtBAnRqIgMgAygCAEEBajYCACAFIAZBf0cEfyACKAIAIAZBAnRqKAIA.BUF/C0ECdGoiASABKAIAQQFqNgIADAMLQX8hASAAKAKUASEFQX8hAyACQX9HBEAgBSgCACACQQJ0aigCACEDCyAAKAKcASICIANBAnRqIgMgAygCAEEBajYC.ACACIARBf0cEfyAFKAIAIARBAnRqKAIABUF/C0ECdGoiASABKAIAQQFqNgIAQX8hASACIAZBf0cEfyAFKAIAIAZBAnRqKAIABUF/C0ECdGoiASABKAIAQQJq.NgIADAILQX8hASAAKAKUASEFQX8hAyACQX9HBEAgBSgCACACQQJ0aigCACEDCyAAKAKcASICIANBAnRqIgMgAygCAEEBajYCACACIARBf0cEfyAFKAIAIARB.AnRqKAIABUF/C0ECdGoiASABKAIAQQJqNgIAQX8hASACIAZBf0cEfyAFKAIAIAZBAnRqKAIABUF/C0ECdGoiASABKAIAQQFqNgIADAELQX8hASAAKAKUASEF.QX8hAyACQX9HBEAgBSgCACACQQJ0aigCACEDCyAAKAKcASICIANBAnRqIgMgAygCAEECajYCACACIARBf0cEfyAFKAIAIARBAnRqKAIABUF/C0ECdGoiASAB.KAIAQQJqNgIAQX8hASACIAZBf0cEfyAFKAIAIAZBAnRqKAIABUF/C0ECdGoiASABKAIAQQJqNgIAC0F/IQEgBEF/RwRAIAAoApQBKAIAIARBAnRqKAIAIQEL.IAAoArABIgQhBiAAIAQgACgCnAEgAUECdGooAgAiAUwEfyABIAAoArQBIgYgASAGSBsFIAYLIARrNgKsAQu/BgEGf0F/IQICf0F/IAEoAgAiA0F/Rg0AGiAD.QQFqIgIgA0ECayACQQNwGyECIANBAWsgA0EDcA0AGiADQQJqCyEHAkACQAJAAkACQAJAIAAoArgBIgUOCAAABQIFAQUDBQtBfyEDIAAoApQBIQRBfyEFIAJB.f0cEQCAEKAIAIAJBAnRqKAIAIQULIAAoApwBIgIgBUECdGoiBSAFKAIAQQFqNgIAIAIgB0F/RwR/IAQoAgAgB0ECdGooAgAFQX8LQQJ0aiICIAIoAgBBAWo2.AgAMAwtBfyEFIAAoApQBIQZBfyEEIANBf0cEQCAGKAIAIANBAnRqKAIAIQQLIAAoApwBIgMgBEECdGoiBCAEKAIAQQFqNgIAIAMgAkF/RwR/IAYoAgAgAkEC.dGooAgAFQX8LQQJ0aiICIAIoAgBBAWo2AgBBfyECIAMgB0F/RwR/IAYoAgAgB0ECdGooAgAFQX8LQQJ0aiICIAIoAgBBAmo2AgAMAgtBfyEFIAAoApQBIQZB.fyEEIANBf0cEQCAGKAIAIANBAnRqKAIAIQQLIAAoApwBIgMgBEECdGoiBCAEKAIAQQFqNgIAIAMgAkF/RwR/IAYoAgAgAkECdGooAgAFQX8LQQJ0aiICIAIo.AgBBAmo2AgBBfyECIAMgB0F/RwR/IAYoAgAgB0ECdGooAgAFQX8LQQJ0aiICIAIoAgBBAWo2AgAMAQtBfyEFIAAoApQBIQZBfyEEIANBf0cEQCAGKAIAIANB.AnRqKAIAIQQLIAAoApwBIgMgBEECdGoiBCAEKAIAQQJqNgIAIAMgAkF/RwR/IAYoAgAgAkECdGooAgAFQX8LQQJ0aiICIAIoAgBBAmo2AgBBfyECIAMgB0F/.RwR/IAYoAgAgB0ECdGooAgAFQX8LQQJ0aiICIAIoAgBBAmo2AgALIAAoArgBIQULAkACQCAFDgYAAQEBAQABCyAAKAKcAQJ/QX8gASgCACIBQX9GDQAaIAAo.ApQBQX8gAUEBaiIHIAFBAmsgB0EDcBsiAUF/Rg0AGigCACABQQJ0aigCAAtBAnRqKAIAQQVMBEAgAEEFNgK8AQ8LIABBADYCvAEPCyAAQX82ArwBC4gBAQJ/.IAAgATYCkAEgASABKAIAKAIgEQAAKAIgIgIoAgAgAigCEGohAiABIAEoAgAoAiARAAAoAiAiAykDCCADKQMQfachAyAAIAEgASgCACgCIBEAACgCIC8BJjsB.JiAAIAI2AgAgAEIANwMQIAAgA603AwggACABIAEoAgAoAiQRAAA2ApQBC5MBACAAQX82AgAgAEIANwIUIABCADcCDCAAQgA3AgQgAEIANwIgIABBAToAHCAA.QgA3AiggAEIANwIwIABCADcCOCAAQgA3AkAgAEIANwJMIABCADcCVCAAQgA3AlwgACAAQQRqNgJIIABCADcCaCAAQQE6AGQgAEIANwJwIABCADcCeCAAQgA3.AoABIABCADcCiAEL3gEBBX9BASEFAkAgACgCjAEiAkEATA0AQX8gAkEEdCIBQQRyIAJB/////wBLGxAGIgMgAjYCACADQQRqIgMgAWohAiADIQEDQCABQgA3.AAUgAUIANwIAIAFBEGoiASACRw0ACyAAKAKIASEEIAAgAzYCiAEgBARAIARBBGsiAigCACIDBEAgBCADQQR0aiEBA0AgAUEQayIBIARHDQALCyACEAULQQAh.ASAAKAKMAUEATA0AA0AgACgCiAEgAUEEdGogABAIIgVFDQEgAUEBaiIBIAAoAowBSA0ACwsgBQveAQEHfwJAIAAoAggiAygCBCADKAIAIgVrIgJBDG1BAWoi.AUHWqtWqAUkEQCAAKAIEIQRB1arVqgEgAygCCCAFa0EMbSIGQQF0IgcgASABIAdJGyAGQarVqtUATxsiAUHWqtWqAU8NASABQQxsIgYQBiIHIAJqIgEgBCgC.CDYCCCABIAQpAgA3AgAgASACQXRtQQxsaiEEIAIEQCAEIAUgAvwKAAALIAMgBiAHajYCCCADIAFBDGoiAjYCBCADIAQ2AgAgBQRAIAUQBQsgACgCACACNgIA.DwsQBwALEA4AC6wDAgF/A34jAEEQayICJAAgACAAKQMgNwNIIAAgACkDGDcDQCAAIAApAxA3AzggACAAKQMINwMwIAAgACkDADcDKAJ/AkAgAEEoakEBIAJB.CGoQQQRAIAAgACkDSDcDICAAIAApA0A3AxggACAAKQM4IgM3AxAgACAAKQMwIgQ3AwggACAAKQMoNwMAIAIpAwgiBSAEIAN9WA0BC0EADAELIAAgAyAFfDcD.EAJAAkAgAC8BJkGBBE0EQCAAIAApAyA3A4ABIAAgACkDGDcDeCAAIAApAxA3A3AgACAAKQMINwNoIAAgACkDADcDYCAAQeAAakEBIAJBCGoQQQRAIAAgACkD.gAE3AyAgACAAKQN4NwMYIAAgACkDcCIDNwMQIAAgACkDaCIENwMIIAAgACkDYDcDACACKQMIIgUgBCADfVgNAgtBAAwDCyAAQdAAaiAAEAgNAUEADAILIAAg.AyAFfDcDEAtBACAAEOcBRQ0AGiABIAApAyA3AyAgASAAKQMYNwMYIAEgACkDEDcDECABIAApAwg3AwggASAAKQMANwMAQQELIAJBEGokAAtJAQF/IABB3NwA.NgIAIAAoAjAiAQRAIAAgATYCNCABEAULIABB3N4ANgIAIAAoAiQiAQRAIAEQBQsgACgCGCIBBEAgARAFCyAAC44BAQJ/IwBBEGsiAyQAIAAgATYCBCABKAJA.IgEoAgAhBCABKAIEIQEgA0EAOgAPIABBGGogASAEa0ECdUEDbiADQQ9qEBogACgCBCIBKAI0IQQgASgCOCEBIANBADoADiAAQSRqIAEgBGtBAnUgA0EOahAa.IAAgAikCCDcCECAAIAIpAgA3AgggA0EQaiQAC8wBAgJ+An8gAEEIaiABLQAYEAxBACEBAkAgAikDCCACKQMQIgMgACgCDCAAKAIIIgZrIgWtIgR8Uw0AIAUE.QCAGIAIoAgAgA6dqIAX8CgAACyACIAIpAxAgBHwiAzcDECACKQMIIANCBHxTDQAgACACKAIAIAOnaigAADYCFCACIAIpAxAiBEIEfCIDNwMQIAIpAwggA1cN.ACACKAIAIAOnai0AACEFIAIgBEIFfDcDECAFQQFrQf8BcUEdSw0AIAAgBTYCBEEBIQELIAELGQAgABCGASIAQQA2AiwgAEGo1wA2AgAgAAunCwIPfwN+IwBB.QGoiBCQAIARBADYCOCAEQgA3AzAgBEIANwMoIARCADcDICAEQgA3AxggBEIANwMQIARCADcDCAJAAn8gBEEIaiEIAkAgAS8BJiIDRQ0AAkAgA0H/A00EQCAB.KQMIIAEpAxAiEkIEfFMNAiAIIAEoAgAgEqdqKAAAIgY2AgwgASABKQMQQgR8IhI3AxAMAQtBASAIQQxqIAEQLkUNASABKQMQIRIgCCgCDCEGCyAGQQZ2rSAB.KQMIIBJ9VQ0AIAggBhAMQQEgCCgCDCIJRQ0BGiABKQMQIRIgASkDCCETQQAhAwNAIBIgE1kNASABKAIAIgwgEqdqLQAAIQUgASASQgF8IhI3AxAgBUECdiEH.AkACQAJAAkAgBUEDcSILDgQCAQEAAQsgAyAHaiIHIAlPDQQgCCgCACEMIAVB/AFxQQRqIgVFBEAgByEDDAMLIAwgA0ECdGpBACAF/AsAIAchAwwCCyASIBMg.EiATVRshFEEAIQYDQEEAIBIgFFENBRogDCASp2otAAAgASASQgF8IhI3AxAgBkEDdEEGcnQgB3IhByAGQQFqIgYgC0cNAAsLIAgoAgAiDCADQQJ0aiAHNgIA.CyADQQFqIgMgCCgCDCIJSQ0ACyAIQRBqQYCAwAAQDCAIQRxqIAkQMyAJRQ0AIAgoAhwhEEEAIQVBACEDA0AgDCAFQQJ0aiIGKAIAIQsgECAFQQN0aiINIAMi.BzYCBCANIAs2AgAgBigCACILIANqIgNBgIDAAEsNAQJAIAMgB00NACAIKAIQIQ1BACEGIAtBB3EiEQRAA0AgDSAHQQJ0aiAFNgIAIAdBAWohByAGQQFqIgYg.EUcNAAsLIAtBAWtBBk0NAANAIA0gB0ECdGoiBiAFNgIcIAYgBTYCGCAGIAU2AhQgBiAFNgIQIAYgBTYCDCAGIAU2AgggBiAFNgIEIAYgBTYCACAHQQhqIgcg.A0cNAAsLIAVBAWoiBSAJRw0ACyADQYCAwABGIQ4LIA4LRQ0AIAAEQCAEKAIURQ0BC0EAIQgjAEEQayIHJAACQAJAIAEvASZB/wNNBEAgASkDCCIUIAEpAxAi.E0IIfCISUw0CIAEoAgAgE6dqKQAAIRMgASASNwMQDAELQQEgB0EIaiABEC1FDQEgASkDECESIAEpAwghFCAHKQMIIRMLIBMgFCASfVYNACABIBIgE3w3AxAg.E6ciA0EATA0AIAQgASgCACASp2oiATYCMCAEAn8CQAJAAkACQCABIANBAWsiBWoiBi0AAEEGdkEBaw4DAQIDAAsgBCAFNgI0IAYtAABBP3EMAwsgA0EBRg0D.IAQgA0ECayIDNgI0IAEgA2ovAABB//8AcQwCCyADQQNJDQIgBCADQQNrNgI0IAEgA2oiAUECay8AAEEIdEGA/v8BcSABQQNrLQAAcgwBCyADQQRJDQEgBCAD.QQRrIgM2AjQgASADaigAAEH/////A3ELIgFBgICAAmo2AjggAUGAgID+A0khCAsgB0EQaiQAIAhFDQAgAEUEQEEBIQoMAQsgBCgCNCEHIAQoAjghASAEKAIk.IQggBCgCGCEFIAQoAjAhBgNAAkAgAUH///8BSwRAIAEhAwwBCyABIQMgByIKQQBMDQADQCAEIApBAWsiBzYCNCAEIAYgB2otAAAgAUEIdHIiAzYCOCABQYCA.AU8NASAKQQJIIAMhASAHIQpFDQALCyAEIAggBSADQf//P3EiAUECdGooAgAiCkEDdGoiCSgCACADQRR2bCABaiAJKAIEayIBNgI4IAIgD0ECdGogCjYCAEEB.IQogD0EBaiIPIABHDQALCyAEKAIkIgAEQCAEIAA2AiggABAFCyAEKAIYIgAEQCAEIAA2AhwgABAFCyAEKAIIIgAEQCAEIAA2AgwgABAFCyAEQUBrJAAgCgv1.AgIFfwN+IwBBEGsiBCQAAkACQCABLwEmQf8DTQRAIAEpAwgiCSABKQMQIgdCCHwiCFMEQAwDCyABKAIAIAenaikAACEHIAEgCDcDEAwBC0EBIARBCGogARAt.RQRADAILIAEpAxAhCCABKQMIIQkgBCkDCCEHCyAHIAkgCH1WDQAgASAHIAh8NwMQIAenIgJBAEwNACAAIAEoAgAgCKdqIgE2AiggAAJ/AkACQAJAAkAgASAC.QQFrIgVqIgYtAABBBnZBAWsOAwECAwALIAAgBTYCLCAGLQAAQT9xDAMLIAJBAUYNAyAAIAJBAmsiAjYCLCABIAJqLwAAQf//AHEMAgsgAkEDSQ0CIAAgAkED.azYCLCABIAJqIgFBAmsvAABBCHRBgP7/AXEgAUEDay0AAHIMAQsgAkEESQ0BIAAgAkEEayICNgIsIAEgAmooAABB/////wNxCyIBQYCAAWo2AjAgAUGAgP8B.SSEDCyAEQRBqJAAgAwuyBQIKfwN+AkAgAS8BJiIERQ0AAkAgBEH/A00EQCABKQMIIAEpAxAiDEIEfFMNAiAAIAEoAgAgDKdqKAAAIgI2AgwgASABKQMQQgR8.Igw3AxAMAQtBASAAQQxqIAEQLkUNASABKQMQIQwgACgCDCECCyACQQZ2rSABKQMIIAx9VQ0AIAAgAhAMIAAoAgwiBUUEQEEBDwsgASkDECEMIAEpAwghDUEA.IQQDQCAMIA1ZDQEgASgCACIHIAynai0AACECIAEgDEIBfCIMNwMQIAJBAnYhAwJAAkACQAJAIAJBA3EiBg4EAgEBAAELIAMgBGoiAyAFTw0EIAAoAgAhByAC.QfwBcUEEaiICRQRAIAMhBAwDCyAHIARBAnRqQQAgAvwLACADIQQMAgsgDCANIAwgDVUbIQ5BACECA0AgDCAOUQRAQQAPCyAHIAynai0AACABIAxCAXwiDDcD.ECACQQN0QQZydCADciEDIAJBAWoiAiAGRw0ACwsgACgCACIHIARBAnRqIAM2AgALIARBAWoiBCAAKAIMIgVJDQALIAAiBEEQakGAIBAMIABBHGogBRAzIAVF.DQAgACgCHCEKQQAhAUEAIQADQCAHIAFBAnRqIgIoAgAhBiAKIAFBA3RqIgkgACIDNgIEIAkgBjYCACACKAIAIgYgAGoiAEGAIEsNAQJAIAAgA00NACAEKAIQ.IQlBACECIAZBB3EiCwRAA0AgCSADQQJ0aiABNgIAIANBAWohAyACQQFqIgIgC0cNAAsLIAZBAWtBBk0NAANAIAkgA0ECdGoiAiABNgIcIAIgATYCGCACIAE2.AhQgAiABNgIQIAIgATYCDCACIAE2AgggAiABNgIEIAIgATYCACADQQhqIgMgAEcNAAsLIAFBAWoiASAFRw0ACyAAQYAgRiEICyAIC88FAQZ/IwBB0ABrIgQk.ACAEIAIpAyA3A0ggBCACKQMYNwNAIAQgAikDEDcDOCAEIAIpAwg3AzAgBCACKQMANwMoIAAgBEEoaiAEQRxqEGYCQCAAKAIADQAgACwAD0EASARAIAAoAgQQ.BQsgBC0AI0EBRwRAQRgQBiIBQQA6ABQgAUHbCygAADYAECABQdMLKQAANwAIIAFBywspAAA3AAAgAEF/NgIAIABBBGogAUEUEA0gARAFDAELIARBCGohByAE.LQAkIQYjAEEQayIFJAACQAJAAkACQCAGDgIAAQILQTAQBhDtASIGQbjmADYCACAHQgA3AgggB0IANwIAIAcgBjYCEAwCC0E0EAYQ7QEiBkEANgIwIAZBiNgA.NgIAIAdCADcCCCAHQgA3AgAgByAGNgIQDAELQSAQBiIGQQA6ABwgBkHBDCgAADYAGCAGQbkMKQAANwAQIAZBsQwpAAA3AAggBkGpDCkAADcAACAFQX82AgAg.BUEEaiAGQRwQDSAFLAAPIQkgByAFKAIANgIAIAdBBGohCAJAIAlBAE4EQCAIIAUoAgw2AgggCCAFKQIENwIAIAdBADYCEAwBCyAIIAUoAgQgBSgCCBANIAUs.AA8gB0EANgIQQQBODQAgBSgCBBAFCyAGEAULIAVBEGokAAJAIAQoAggiBQRAIAAgBTYCACAAQQRqIQAgBCwAF0EATgRAIAAgBCgCFDYCCCAAIAQpAgw3AgAM.AgsgACAEKAIMIAQoAhAQDQwBCyAEKAIYIQUgBEEANgIYIAUgAzYCLCAAIAUgASACIAMQ2gEgACgCAEUEQCAALAAPQQBIBEAgACgCBBAFCyAAQgA3AgggAEIA.NwIACyAFIAUoAgAoAgQRAgALIAQoAhghACAEQQA2AhggAARAIAAgACgCACgCBBECAAsgBCwAF0EATg0AIAQoAgwQBQsgBEHQAGokAAuhBgEGfyMAQdAAayIF.JAAgBSACKQMgNwNIIAUgAikDGDcDQCAFIAIpAxA3AzggBSACKQMINwMwIAUgAikDADcDKCAAIAVBKGogBUEcahBmAkAgACgCAA0AIAAsAA9BAEgEQCAAKAIE.EAULIAUtACMEQEEgEAYiAUEAOgAbIAFBpAwoAAA2ABcgAUGdDCkAADcAECABQZUMKQAANwAIIAFBjQwpAAA3AAAgAEF/NgIAIABBBGogAUEbEA0gARAFDAEL.IAVBCGohByAFLAAkIQQjAEEQayIGJAACQAJAAkACQCAEDgIAAQILQSwQBiIEQQA2AiggBEIANwMgIARCADcDGCAEQgA3AxAgBEIANwMIIARCADcDACAEEIYB.IgRBuOkANgIAIAdCADcCCCAHQgA3AgAgByAENgIQDAILQSwQBiIEQQA2AiggBEIANwMgIARCADcDGCAEQgA3AxAgBEIANwMIIARCADcDACAEEIYBIgRB3OgA.NgIAIAdCADcCCCAHQgA3AgAgByAENgIQDAELQSAQBiIEQQA6ABwgBEHBDCgAADYAGCAEQbkMKQAANwAQIARBsQwpAAA3AAggBEGpDCkAADcAACAGQX82AgAg.BkEEaiAEQRwQDSAGLAAPIQkgByAGKAIANgIAIAdBBGohCAJAIAlBAE4EQCAIIAYoAgw2AgggCCAGKQIENwIAIAdBADYCEAwBCyAIIAYoAgQgBigCCBANIAYs.AA8gB0EANgIQQQBODQAgBigCBBAFCyAEEAULIAZBEGokAAJAIAUoAggiBgRAIAAgBjYCACAAQQRqIQAgBSwAF0EATgRAIAAgBSgCFDYCCCAAIAUpAgw3AgAM.AgsgACAFKAIMIAUoAhAQDQwBCyAFKAIYIQYgBUEANgIYIAAgBiABIAIgAxDaASAAKAIARQRAIAAsAA9BAEgEQCAAKAIEEAULIABCADcCCCAAQgA3AgALIAYg.BigCACgCBBECAAsgBSgCGCEAIAVBADYCGCAABEAgACAAKAIAKAIEEQIACyAFLAAXQQBODQAgBSgCDBAFCyAFQdAAaiQAC8UEAhF/AX0jAEEQayILJAAgAigC.HEEJRgRAIAAoAgQhAyACLQAYIgdBAnQiBBAGIQUgC0EMaiIGQYCAgPwDNgIAIAAqAhQhFEF/IAN0QX9zIgNBAEoEQCAGIBQgA7OVOAIACwJAIANBAEoiD0UN.ACACKAJQIghFDQAgBwRAIAEoAgAoAgAgASgCMGohDCAHQf4BcSEQIAdBAXEhEUEAIQEDQCAAKAIIIQogBioCACEUQQAhDUEAIQMCQCAHQQFHBEADQCAFIANB.AnQiCWogFCAMIAFBAnRqIhIoAgCylCAJIApqKgIAkjgCACAFIAlBBHIiCWogFCASKAIEspQgCSAKaioCAJI4AgAgA0ECaiEDIAFBAmohASANQQJqIg0gEEcN.AAsgEUUNAQsgBSADQQJ0IgNqIBQgDCABQQJ0aigCALKUIAMgCmoqAgCSOAIAIAFBAWohAQsgBARAIAIoAkAoAgAgDmogBSAE/AoAAAsgBCAOaiEOIBNBAWoi.EyAIRw0ACwwBCyAIQQNxIQYgCEEETwRAIAhBfHEhAUEAIQMDQCAERSIARQRAIAIoAkAoAgAgBSAE/AoAAAsgAEUEQCACKAJAKAIAIAUgBPwKAAALIABFBEAg.AigCQCgCACAFIAT8CgAACyAARQRAIAIoAkAoAgAgBSAE/AoAAAsgA0EEaiIDIAFHDQALIAZFDQELQQAhAQNAIAQEQCACKAJAKAIAIAUgBPwKAAALIAFBAWoi.ASAGRw0ACwsgBRAFCyALQRBqJAAgDwtrAgJ/AX4CQCAAQQVLDQAgAikDECIFIAIpAwhZDQAgAigCACAFp2osAAAhAyACIAVCAXw3AxAgASADQQBIBH8gAEEB.aiABIAIQ9AFFDQEgA0H/AHEgASgCAEEHdHIFIAMLNgIAQQEhBAsgBAvhAQIEfwN+AkAgASkDCCIIIAEpAxAiB0IEfCIGUw0AIAEoAgAiBCAHp2ooAAAhAiAB.IAY3AxAgCCAHQgh8IgZTDQAgASAGNwMQIAJBAXFFDQAgAmciAkECa0EcSw0AIABBICACayICNgIIIABBfkF/IAJ0IgVrIgI2AhAgACAFQX9zNgIMIAAgAkEB.djYCGCAAQwAAAEAgArOVOAIUIAEvASZBgQRNBEAgBiAIWQ0BIAQgBqdqLQAAIQIgASAHQgl8NwMQIAJBAUsNASAAIAI2AkgLIABB4ABqIAEQCCEDCyADC+wB.AgV/A34CQCABKQMIIgggASkDECIJQgR8IgdTDQAgASgCACIEIAmnaigAACECIAEgBzcDECABLwEmIgVBgQRNBEAgCCAJQgh8IgdTDQEgASAHNwMQCyACQQFx.RQ0AIAJnIgJBAmtBHEsNACAAQSAgAmsiAjYCCCAAQX5BfyACdCIGayICNgIQIAAgBkF/czYCDCAAIAJBAXY2AhggAEMAAABAIAKzlTgCFCAFQYEETQRAIAcg.CFkNASAEIAenai0AACECIAEgB0IBfDcDECACQQFLDQEgACACNgJICyAAQeAAaiABEAghAwsgAwsfAEEIEHUgABCyASIAQZT3ADYCACAAQaD3AEEBEAAAC/oB.AgR/BH4CQCABKQMIIgkgASkDECIHQgR8IgZTDQAgASgCACIFIAenaigAACEDIAEgBjcDECAJIAdCCHwiCFMNACAFIAanaigAACEEIAEgCDcDECADIARKDQAg.ACAENgIQIAAgAzYCDCAErCADrH0iBkL+////B1YNACAAIAanIgNBAWoiAjYCFCAAIAJBAXYiAjYCGCAAQQAgAms2AhwgA0EBcQRAIAAgAkEBazYCGAsgAS8B.JkGBBE0EQEEAIQIgCCAJWQ0BIAUgCKdqLQAAIQMgASAHQgl8NwMQIANBAUsNASAAIAM2AlgLIABB8ABqIAEQCCECCyACCyUBAX8CQCABKAI4DQAgAS0AGEED.Rw0AIAAgATYCQEEBIQILIAILQwEBfwJAIAAoAkBFDQAgACgCREUNACAAKAIsRQ0AIAAoAjBFDQAgACgCNEUNACAAKAI4RQ0AIAAoAlxBf0chAQsgAQtcAgJ+.AX9CASEBAkACQCAAQgFWBEAgACECA0AgAUIBhiEBIAJCB1YgAkICiCECDQALDAELIAAhASAAp0EBaw0BCwNAIAAgAYAgAXxCAYgiASABfiAAVg0ACwsgAQsJ.ACAAIAE2AmgLpgMCCn8DfiMAQRBrIgYkAAJAIAEpAxAiDEIEfCINIAEpAwhVDQAgASgCACAMp2ooAAAhBSABIA03AxAgBUEASA0AIAAoAmgiAkF/RyACIAVI.cQ0AIABBzABqIAUQIyAGQgA3AAUgBkIANwIAAkAgBiIKIAEQCEUNACAFBEBBASECA0BBASAEdCEHIAoQECEJIAAoAkwgBEEDdkH8////AXFqIQgCfyAJIAtz.IgNBAXEEQCAIKAIAIAdyDAELIAgoAgAgB0F/c3ELIQcgAiAJcyELIAggBzYCACADIQIgBEEBaiIEIAVHDQALC0EAIQQgASkDCCIOIAEpAxAiDEIEfCINUw0A.IAEoAgAiAyAMp2ooAAAhAiABIA03AxAgDiAMQgh8IgxTDQAgAyANp2ooAAAhAyABIAw3AxAgAiADSg0AIAAgAzYCECAAIAI2AgwgA6wgAqx9IgxC/v///wdW.DQBBASEEIAAgDKciAkEBaiIBNgIUIAAgAUEBdiIBNgIYIABBACABazYCHCACQQFxRQ0AIAAgAUEBazYCGAsLIAZBEGokACAECwQAQQULjgMCAn8CfgJ/AkAC.QCACRQRAIAEpAgAiB0IgiKchAQwBCyABKQIAIgdCIIghBiAHpyEBAkAgAy0AAEEBRgRAAkAgBlAEfyACBSABIAEoAgBBf0EgIAanIgRrIgMgAiADIAIgA0kb.IgNrdkF/IAR0cXI2AgAgAUEEaiEBIAIgA2sLIgNBBXYiBEUNACAEQQJ0IgVFDQAgAUH/ASAF/AsACyADQR9xIgNFDQEgASAEQQJ0aiIBIAEoAgBBf0EgIANr.dnI2AgAMAQsCQCAGUAR/IAIFIAEgASgCAEF/QSAgBqciBGsiAyACIAMgAiADSRsiA2t2QX8gBHRxQX9zcTYCACABQQRqIQEgAiADawsiA0EFdiIERQ0AIARB.AnQiBUUNACABQQAgBfwLAAsgA0EfcSIDRQ0AIAEgBEECdGoiASABKAIAQX9BICADa3ZBf3NxNgIACyACIAanaiEBIAJBAEgNAQsgAUEFdgwBCyABQR9rQSBt.CyECIAAgAUEfcTYCBCAAIAenIAJBAnRqNgIACwQAQQQLBABBBgtPAQF/IABBxBM2AgAgACgCFCEBIABBADYCFCABBEAgASABKAIAKAIEEQIACyAAQewRNgIA.IAAoAhAhASAAQQA2AhAgAQRAIAEQFwsgABAFC00BAX8gAEHEEzYCACAAKAIUIQEgAEEANgIUIAEEQCABIAEoAgAoAgQRAgALIABB7BE2AgAgACgCECEBIABB.ADYCECABBEAgARAXCyAAC0QBAX8Cf0EAIAEgACgCFCAAKAIQIgJrQQJ1Tg0AGkEAIAIgAUECdGooAgAiAUEASA0AGiAAKAIkIAFBAnRqKAIAEDULC9EBAQN/.IABBzBI2AgAgACgCPCEBIABBADYCPCABBEAgASABKAIAKAIEEQIACyAAKAIwIgEEQCAAIAE2AjQgARAFCyAAKAIkIgEEQCABIgIgACgCKCIDRwRAA0AgA0EE.ayIDKAIAIQIgA0EANgIAIAIEQCACIAIoAgAoAgQRAgALIAEgA0cNAAsgACgCJCECCyAAIAE2AiggAhAFCyAAQfQPNgIAIAAoAhAiAQRAIAAgATYCFCABEAUL.IAAoAgQiAQRAIAAgATYCCCABEAULIAAQBQvPAQEDfyAAQcwSNgIAIAAoAjwhASAAQQA2AjwgAQRAIAEgASgCACgCBBECAAsgACgCMCIBBEAgACABNgI0IAEQ.BQsgACgCJCIBBEAgASICIAAoAigiA0cEQANAIANBBGsiAygCACECIANBADYCACACBEAgAiACKAIAKAIEEQIACyABIANHDQALIAAoAiQhAgsgACABNgIoIAIQ.BQsgAEH0DzYCACAAKAIQIgEEQCAAIAE2AhQgARAFCyAAKAIEIgEEQCAAIAE2AgggARAFCyAAC40CAEEAIQACQAJAAkACQAJAIAEOBAABAgMEC0EUEAYiAEL/.////DzcCDCAAQgA3AgQgAEHsETYCACAADwtBGBAGIgBC/////w83AgwgAEIANwIEIABB7BE2AgAgAEEANgIUIABBxBM2AgAgAA8LQTAQBiIAQv////8PNwIM.IABCADcCBCAAQewRNgIAIABBADYCFCAAQcQTNgIAIABCADcCICAAQX82AhwgAEHcDjYCGCAAQaTWADYCACAAQgA3AiggAA8LQSAQBiIBQv////8PNwIMIAFC.ADcCBCABQewRNgIAIAFBADYCFCABQcQTNgIAIAEiAEF/NgIcIABBiAg2AhggAEHENjYCAAsgAAu8AgEIfyMAQRBrIgIkAEEBIQECQCAAIAAoAgAoAhgRAAAi.BUEATA0AIABBMGohBgNAAkACQCAAIAAoAgAoAhwRAAAoAihFDQAgBEECdCIHIAAoAiRqKAIAIgEoAgghAyABEDUiCEUNACAAIAAoAgAoAhwRAAAoAiggAiAD.KAI4NgIMQSAQBiEDIAJCmICAgICEgICAfzcCBCACIAM2AgAgA0HWCSkAADcAECADQc4JKQAANwAIIANBxgkpAAA3AAAgA0EAOgAYIAJBDGogAhChASACLAAL.QQBIBEAgAigCABAFC0UNACAAKAIkIAdqKAIAKAIIIAgQ1QEMAQsgACgCJCAEQQJ0aigCACIBIAYgASgCACgCGBEBAA0AQQAhAQwCC0EBIQEgBEEBaiIEIAVH.DQALCyACQRBqJAAgAQtbAQR/QQEhAgJAIAAgACgCACgCGBEAACIEQQBMDQAgAEEwaiEFA0AgACgCJCADQQJ0aigCACICIAUgASACKAIAKAIUEQMAIgJFDQEg.A0EBaiIDIARHDQALCyACC1sBBH9BASECAkAgACAAKAIAKAIYEQAAIgRBAEwNACAAQTBqIQUDQCAAKAIkIANBAnRqKAIAIgIgBSABIAIoAgAoAhARAwAiAkUN.ASADQQFqIgMgBEcNAAsLIAIL2AEBBX8CQCAAKAI8IgNFDQAgAyAAQTBqNgIEIAMgAygCACgCDBEAAEUNAAJAIAAgACgCACgCGBEAACIDQQBMDQADQAJAIAAg.ACgCACgCHBEAACgCBCEEIAAgAiAAKAIAKAIUEQEAIQUgACgCPCIGIAQoAgggBUECdGooAgAgBigCACgCCBEBAEUNACADIAJBAWoiAkcNAQwCCwtBAA8LQQAh.AiAAIAEgACgCACgCJBEBAEUNACAAIAEgACgCACgCKBEBAEUNACAAIAAoAgAoAiwRAAAhAgsgAgv1AQIGfwF+AkAgACABENEBRQ0AIABBJGogACAAKAIAKAIY.EQAAIgUQUkEBIQIgBUEATA0AA0ACQCABKQMQIgggASkDCFkNACABKAIAIAinai0AACECIAEgCEIBfDcDECAAIAIgACgCACgCMBEBACECIANBAnQiBiAAKAIk.aiIHKAIAIQQgByACNgIAIAQEQCAEIAQoAgAoAgQRAgAgACgCJCAGaigCACECCyACRQ0AIAIgACAAKAIAKAIcEQAAIAAgAyAAKAIAKAIUEQEAIAIoAgAoAggR.AwBFDQBBASECIAUgA0EBaiIDRw0BDAILC0EAIQILIAILJwEBfyAAQewRNgIAIAAoAhAhASAAQQA2AhAgAQRAIAEQFwsgABAFCyUBAX8gAEHsETYCACAAKAIQ.IQEgAEEANgIQIAEEQCABEBcLIAALygECBn8EfiABKAIAIQMgASgCBCEEQQEhBiAAKAIIKQMoIgmnIgEgAUEfdXIQBiEFAkAgBCADa0ECdSIHQQBMDQAgCUL/.////D4MhCkEAIQRBACEDA0AgAikDCCILIAIpAxAiDCAKfCIJWSEGIAkgC1UNASABRSIIRQRAIAUgAigCACAMp2ogAfwKAAALIAIgCTcDECAIRQRAIAAoAggo.AkAoAgAgA2ogBSAB/AoAAAsgASADaiEDIARBAWoiBCAHRw0ACwsgBRAFIAYL/wEBBn9BASEEAkAgASABKAIAKAIUEQAAQQBMDQADQEEAIQQgACgCBCgCBCAB.IAYgASgCACgCGBEBABDHASIDQX9GDQECQCAAKAIEIgItACRBAU0EQCABIAIoAgQoAgggA0ECdGooAgAgASgCACgCHBEBAA0BDAMLQQAhBQJAIANBAEgNACAD.IAIoAgQiBygCDCAHKAIIa0ECdU4NACACKAIIIAIoAhQgA0ECdGooAgBBAnRqKAIAIgIgAyACKAIAKAIgEQEAIQULIAVFDQIgASAFIAEoAgAoAhwRAQBFDQIL.QQEhBCABIAEoAgAoAhQRAAAgBkEBaiIGSg0ACwsgBAsEAEEBCz4BAn8CQCAAKAIIIgQtABhFDQAgBCABKAIEIAEoAgBrQQJ1EDJFDQAgACABIAIgACgCACgC.IBEDACEDCyADCxIAIABBfzYCDCAAIAE2AghBAQsJACAAEKABEAULnA8DFX8CfgF9IwBBEGsiCyQAAkACQCAAKAI8IAAoAkBHDQAgACgCMCAAKAI0Rw0AQQEh.BgwBC0EBIQYgACAAKAIAKAIYEQAAQQBMDQADQAJAIAAgFCAAKAIAKAIUEQEAIQECQAJAAkAgACAAKAIAKAIcEQAAKAIEKAIIIAFBAnRqKAIAIgQoAhxBAWsi.Ag4JAAIAAgACAgIBAgsCQCAELQAYIgFFBEBBACEGQQAhDQwBCyABQQJ0IgEQBiEGIAFFIgNFBEAgBkEAIAH8CwALIAEQBiENIAMNACANQQAgAfwLAAsCfwJA.AkACQAJAIAIOBQIDAQMAAwtBACEBQgAhFkEAIQUCQCAELQAYIgJFBEBBACECDAELIAJBAnQiAxAGIQIgA0UiB0UEQCACQQAgA/wLAAsgAxAGIQEgBw0AIAFB.ACAD/AsACwJAIAQoAlAEQCASQQJ0IQ4DQCAEKAIAKAIAIQggBCkDKCIXpyIDRSIPRQRAIAIgCCAEKQMwIBYgF358p2ogA/wKAAALQQAhByAELQAYIhAEQANA.IAIgB0ECdCIKaigCACIMQQBIDQQgASAKaiAAKAIwIA5qIApqKAIAIAxqNgIAIAdBAWoiByAQRw0ACwsgD0UEQCAIIBanIANsaiABIAP8CgAACyAWQgF8IhYg.BDUCUFQNAAsLQQEhBQsgAQRAIAEQBQsgAgRAIAIQBQsgBQ0CQQAMAwtBACEBQgAhFgJAIAQtABgiAkUEQEEAIQIMAQsgAkEBdCIDEAYhAiADRSIFRQRAIAJB.ACAD/AsACyADEAYhASAFDQAgAUEAIAP8CwALIAQoAlAEQCASQQJ0IQ4DQCAEKAIAKAIAIQogBCkDKCIXpyIHRSIPRQRAIAIgCiAEKQMwIBYgF358p2ogB/wK.AAALAkAgBC0AGCIFRQ0AIAAoAjAgDmohCEEAIQMgBUEBRwRAIAVBAXEgBUH+AXEhDEEAIQUDQCABIANBAXQiEWogAiARai8BACAIIANBAnRqLwEAajsBACAB.IANBAXIiEUEBdCITaiACIBNqLwEAIAggEUECdGovAQBqOwEAIANBAmohAyAFQQJqIgUgDEcNAAtFDQELIAEgA0EBdCIFaiACIAVqLwEAIAggA0ECdGovAQBq.OwEACyAPRQRAIAogFqcgB2xqIAEgB/wKAAALIBZCAXwiFiAENQJQVA0ACwsgAQRAIAEQBQsgAgRAIAIQBQsMAQtBACECQQAhA0IAIRYgBC0AGCIBBEAgARAG.IgJBACAB/AsAIAEQBiIDQQAgAfwLAAsgBCgCUARAIBJBAnQhDwNAIAQoAgAoAgAhCiAEKQMoIhenIgdFIhBFBEAgAiAKIAQpAzAgFiAXfnynaiAH/AoAAAsC.QCAELQAYIgVFDQAgACgCMCAPaiEIQQAhASAFQQFHBEAgBUEBcSAFQf4BcSERQQAhBQNAIAEgA2ogASACai0AACAIIAFBAnRqLQAAajoAACADIAFBAXIiDmog.AiAOai0AACAIIA5BAnRqLQAAajoAACABQQJqIQEgBUECaiIFIBFHDQALRQ0BCyABIANqIAEgAmotAAAgCCABQQJ0ai0AAGo6AAALIBBFBEAgCiAWpyAHbGog.AyAH/AoAAAsgFkIBfCIWIAQ1AlBUDQALCyADBEAgAxAFCyACBEAgAhAFCwsgEiAELQAYaiESQQELIA0EQCANEAULIAYEQCAGEAULDQFBACEGDAQLIAAoAjwg.CUECdGooAgAhAyAAKAIkIQIgACAAKAIAKAIcEQAAKAIoIAsgBCgCODYCDEEgEAYhASALQpiAgICAhICAgH83AgQgCyABNgIAIAFB1gkpAAA3ABAgAUHOCSkA.ADcACCABQcYJKQAANwAAIAFBADoAGCALQQxqIAsQoQEhBiALLAALQQBIBEAgCygCABAFCyAJQQFqAkAgBgRAIAQgAxDVAQwBCyACIAlBGGxqIg4oAgQhCSAE.LQAYIgdBAnQiBRAGIQIgC0GAgID8AzYCACAOKgIUIRhBfyAJdEF/cyIJQQBKBEAgCyAYIAmzlTgCAAsgCUEATA0CAkAgAygCUEUNACAHRQRAQQAhBgNAIAUE.QCAEKAJAKAIAIAIgBfwKAAALIAZBAWoiBiADKAJQSQ0ACwwBCyADKAIAKAIAIAMoAjBqIQ8gB0H+AXEhESAHQQFxIRNBACEQQQAhCEEAIQYDQCAOKAIIIQog.CyoCACEYQQAhCUEAIQ0CQCAHQQFHBEADQCACIA1BAnQiDGogGCAPIAZBAnRqIhUoAgCylCAKIAxqKgIAkjgCACACIAxBBHIiDGogGCAVKAIEspQgCiAMaioC.AJI4AgAgDUECaiENIAZBAmohBiAJQQJqIgkgEUcNAAsgE0UNAQsgAiANQQJ0IglqIBggDyAGQQJ0aigCALKUIAkgCmoqAgCSOAIAIAZBAWohBgsgBQRAIAQo.AkAoAgAgCGogAiAF/AoAAAsgBSAIaiEIIBBBAWoiECADKAJQSQ0ACwsgAhAFCyEJC0EBIQYgACAAKAIAKAIYEQAAIBRBAWoiFEoNAQwCCwsgAhAFQQAhBgsg.C0EQaiQAIAYLqRoDDn8DfgF9IwBB0ABrIgYkAAJAAkACQAJAAkACQAJAAkACQCABLwEmQYMETwRAIAZBADYCNCAGQgA3AixBASEMIAAgACgCACgCGBEAAEEA.TA0GAkADQAJAIAAgCCAAKAIAKAIUEQEAIQICQCAAIAAoAgAoAhwRAAAoAgQoAgggAkECdGooAgAiAigCHEEJRw0AIAZBLGogAi0AGCICEAwgASkDCCABKQMQ.IhAgAkECdCIDrSIRfFMNCyADBEAgBigCLCABKAIAIBCnaiAD/AoAAAsgASABKQMQIBF8IhA3AxAgASkDCCISIBBCBHwiEVMNCyABKAIAIgMgEKdqKgAAIRMg.ASARNwMQIBEgElkNCyADIBGnai0AACEEIAEgEEIFfDcDECAEQR9LDQsgBkF/NgIQIAZB3A42AgwgBkIANwIcIAZCADcCFCAGQQxqIQMgBigCLCEFIARBAWsi.C0EdTQRAIAMgBDYCBCAFIAJBAnRqIQcCQCADKAIQIgogAygCCCIEa0ECdSACTwRAIAIgAygCDCAEayIKQQJ1SwRAIAoEQCAEIAUgCvwKAAALIAMoAgwhAiAH.IAUgCmoiBUcEQANAIAIgBSoCADgCACACQQRqIQIgBUEEaiIFIAdHDQALCyADIAI2AgwMAgsgByAFayICBEAgBCAFIAL8CgAACyADIAIgBGo2AgwMAQsgBARA.IAMgBDYCDCAEEAUgA0EANgIQIANCADcCCEEAIQoLAkAgAkGAgICABE8NAEH/////AyAKQQF1IgQgAiACIARJGyAKQfz///8HTxsiAkGAgICABE8NACADIAJB.AnQiBBAGIgI2AgggAyACIARqNgIQIAMgBSAHRwR/IAcgBWtBBGtBfHFBBGoiBARAIAIgBSAE/AoAAAsgAiAEagUgAgs2AgwMAQsQBwALIAMgEzgCFAsgC0Ee.Tw0BIAMgACgCPCAAKAIoIAAoAiRrQQZtaigCABCIAUUNAyAAAn8gACgCKCICIAAoAixJBEAgAkHcDjYCACAGKAIQIQMgAkEANgIQIAJCADcCCCACIAM2AgQg.BigCGCIDIAYoAhQiBEcEQCADIARrIgNBAEgNCCACIAMQBiIFNgIMIAIgBTYCCCACIAMgBWoiBzYCECADBEAgBSAEIAP8CgAACyACIAc2AgwLIAIgBioCIDgC.FCACQRhqDAELAn8CQAJAIAAoAigiCiAAKAIkIgNrIgVBGG1BAWoiAkGr1arVAEkEQEGq1arVACAAKAIsIANrQRhtIgRBAXQiByACIAIgB0kbIARB1arVKk8b.IgJBq9Wq1QBPDQEgAkEYbCINEAYiDiAFaiIHQdwONgIAIAYoAhAhAiAHQQA2AhAgB0IANwIIIAcgAjYCBCAGKAIYIgIgBigCFCIERwRAIAIgBGsiAkEASA0D.IAcgAhAGIgs2AgggByACIAtqIg82AhAgAgRAIAsgBCAC/AoAAAsgByAPNgIMCyAHIAYqAiA4AhQgByAFQWhtQRhsaiEEIAMgCkcEQCADIQIgBCEFA0AgBUHc.DjYCACAFIAIoAgQ2AgQgBSACKAIINgIIIAUgAigCDDYCDCAFIAIoAhA2AhAgAkEANgIQIAJCADcCCCAFIAIqAhQ4AhQgBUEYaiEFIAJBGGoiAiAKRw0ACwNA.IAMgAygCACgCABEAABogA0EYaiIDIApHDQALIAAoAiQhAwsgACANIA5qNgIsIAAgB0EYaiICNgIoIAAgBDYCJCADBEAgAxAFCyACDAMLEAcACxAOAAsQBwAL.CzYCKCAGQdwONgIMIAYoAhQiAkUNACAGIAI2AhggAhAFCyAAIAAoAgAoAhgRAAAgCEEBaiIISg0BDAkLCyAGQdwONgIMIAYoAhQiAEUNCCAGIAA2AhggABAF.DAgLIAZB3A42AgwgBigCFCIARQ0HIAYgADYCGCAAEAUMBwsgACAAKAIAKAIYEQAAIQMgBkEANgJMIAZCADcCRAJAIAMEQCADQc2Zs+YATw0DIAYgA0EUbCIF.EAYiAjYCRCAGIAIgBWo2AkwgBUEUayIFIAVBFHBrQRRqIgUEQCACQQAgBfwLAAsgBiACIAVqIgU2AkgDQCAAIAkgACgCACgCFBEBACEEIAAgACgCACgCHBEA.ACgCBCgCCCAEQQJ0aigCACIHKAIcIgtBAWsiBEEKTQR/IAQtAJBqBUF/CyIKQQRKDQIgAiAJQRRsaiIEIActABgiDTYCECAEIApBACAKQQBKGzYCDCAEIAs2.AgggBCAINgIEIAQgBzYCACAIIA1qIQggCUEBaiIJIANHDQALCyAAQQAgACgCACgCFBEBACEEIAAgACgCACgCHBEAACgCBCgCCCAEQQJ0aigCACIEQQE6AFQg.BCAEKAJENgJIIAEpAwgiESABKQMQIhBXDQUgASgCACIJIBCnai0AACEHIAEgEEIBfCISNwMQAkACQCAHDgIAAQcLIAUgAmtBFEcNBiACKAIQQQNHDQYgESAS.Vw0GIAEgEEICfCISNwMQIBEgEEIGfCIQUw0GIAkgEqdqKAAAIQIgASAQNwMQIAQgAhAyGiAGQSxqIgBBADYCFCAAQgA3AgwgAEIANwIAIAAgAjYCFCAGQQxq.IAZBxABqEKMBIQVBACECIwBBIGsiAyQAIANBADYCHCADQgA3AhQCQCABKQMIIhIgASkDECIRQgR8IhBTDQAgASgCACIEIBGnaigAACEIIAEgEDcDEAJAAkAC.QAJAIAhBAmsOAgIAAQsgECASWQ0DIAQgEKdqLQAAIQQgASARQgV8NwMQIAAgBDoACCAEQQFGBEAgACABIANBFGoQwgENAwwEC0G6DkEXQazrACgCABC/AQwD.C0GhDkEYQazrACgCABC/AQwCCyAAIAEgA0EUahDCAUUNAQsgAyADKAIUNgIQIAMgAygCGDYCDCMAQRBrIgEkACAAKAIAIQIgACoCBCETIAFBgICA/AM2AgxB.fyACdEF/cyIJIgBBAEoEQCABIBMgALOVOAIMCyADKAIMIgcgAygCECIIRwRAIAUoAhwhACABKgIMIRMDQCAIKAIAIQIgCCgCBCEEIAEgEyAIKAIIIAlrspQ4.AgggASATIAQgCWuylDgCBCABIBMgAiAJa7KUOAIAIAAhAiAFKAIQIgooAgAiBC0AVEUEQCAEKAJEIAJBAnRqKAIAIQILIAUgBCgCUCACSwR/IAQoAigiAARA.IAQoAgAoAgAgACACbGogASAKKAIEQQJ0aiAA/AoAAAsgAygCDCEHIAEqAgwhEyAFKAIcBSAAC0EBaiIANgIcIAhBDGoiCCAHRw0ACwsgAUEQaiQAQQEhAgsg.AygCFCIABEAgAyAANgIYIAAQBQsgA0EgaiQAIAUQcyACDQUMBgsgESASVw0FIAkgEqdqLQAAIQUgASAQQgJ8IhI3AxAgBUEHTwRAIAYgBTYCAEGmDSAGEL4B.DAYLIBEgEEIGfCIQUw0FIAkgEqdqKAAAIQIgASAQNwMQIAMEQEEAIQkDQCAAIAkgACgCACgCFBEBACEEIAAgACgCACgCHBEAACgCBCgCCCAEQQJ0aigCACIE.IAIQMhogBEEBOgBUIAQgBCgCRDYCSCAJQQFqIgkgA0cNAAsLIAZBDGogBkHEAGoQowEhAAJAAkACQAJAAkACQAJAAkAgBUEBaw4GAAECAwQFBgsjAEGgAWsi.AyQAIANBBGogCBA5IgUgASAAIAIQqQEgBSgCCCEEIAUQOiADQaABaiQAIAIgBEZxDQoMBgsjAEGgAWsiAyQAIANBCGogCBA3IgUgASAAIAIQqAEgBSgCCCEE.IAUQOCADQaABaiQAIAIgBEZxDQkMBQsjAEGgAWsiAyQAIANBCGogCBA3IgUgASAAIAIQpwEgBSgCCCEEIAUQOCADQaABaiQAIAIgBEZxDQgMBAsjAEGgBWsi.AyQAIANBCGogCBAnIgUgASAAIAIQpgEgBSgCCCEEIAUQKCADQaAFaiQAIAIgBEZxDQcMAwsjAEGgBWsiAyQAIANBCGogCBAnIgUgASAAIAIQpQEgBSgCCCEE.IAUQKCADQaAFaiQAIAIgBEZxDQYMAgsjAEGgBWsiAyQAIANBCGogCBAnIgUgASAAIAIQpAEgBSgCCCEEIAUQKCADQaAFaiQAIAIgBEZxRQ0BDAULIwBBoAFr.IgMkACADQQRqIAgQOSIFIAEgACACEKoBIAUoAgghBCAFEDogA0GgAWokACACIARGcQ0ECyAAEHMLDAQLEAcACxAHAAsgABBzC0EBIQwLIAYoAkQiAEUNAyAG.IAA2AkggABAFDAMLIAAoAjQgACgCMEYNAQNAQQEgBkEMaiABEKIBRQ0BIAAoAjAiAiAJQQJ0aiAGKAIMIgNBAXZBACADQQFxa3M2AgAgCUEBaiIJIAAoAjQg.AmtBAnVJDQALDAELQQAhDAsgBigCLCIARQ0AIAYgADYCMCAAEAULIAZB0ABqJAAgDAtOAQF/IwBBEGsiAiQAAkAgACgCBCIAQX9GDQAgAiAAOgAPIAEpAxBC.AFUNACABIAEoAgQgAkEPaiACQRBqQQEQUwsgAkEQaiQAIABBf0cLBQBB3wkLGwAgACABKAIIIAUQOwRAIAEgAiADIAQQrgELCzgAIAAgASgCCCAFEDsEQCAB.IAIgAyAEEK4BDwsgACgCCCIAIAEgAiADIAQgBSAAKAIAKAIUEQwAC6QBAAJAIAAgASgCCCAEEDsEQCACIAEoAgRHDQEgASgCHEEBRg0BIAEgAzYCHA8LIAAg.ASgCACAEEDtFDQACQCABKAIQIAJHBEAgAiABKAIURw0BCyADQQFHDQEgAUEBNgIgDwsgASACNgIUIAEgAzYCICABIAEoAihBAWo2AigCQCABKAIkQQFHDQAg.ASgCGEECRw0AIAFBAToANgsgAUEENgIsCwuIAgACQCAAIAEoAgggBBA7BEAgAiABKAIERw0BIAEoAhxBAUYNASABIAM2AhwPCyAAIAEoAgAgBBA7BEACQCAB.KAIQIAJHBEAgAiABKAIURw0BCyADQQFHDQIgAUEBNgIgDwsgASADNgIgAkAgASgCLEEERg0AIAFBADsBNCAAKAIIIgAgASACIAJBASAEIAAoAgAoAhQRDAAg.AS0ANUEBRgRAIAFBAzYCLCABLQA0RQ0BDAMLIAFBBDYCLAsgASACNgIUIAEgASgCKEEBajYCKCABKAIkQQFHDQEgASgCGEECRw0BIAFBAToANg8LIAAoAggi.ACABIAIgAyAEIAAoAgAoAhgRCwALCzUAIAAoAgQgASgCCCgCBEYEQCABIAIgAxCvAQ8LIAAoAggiACABIAIgAyAAKAIAKAIcEQkACxwAIAAoAgQgASgCCCgC.BEYEQCABIAIgAxCvAQsL0gQBBX8jAEHQAGsiBCQAAkACf0EBIAAoAgQgASgCBEYNABojAEFAaiIDJAAgASABKAIAIgVBCGsoAgAiB2ohBgJAIAVBBGsoAgAi.BSgCBEG89AAoAgBGBEBBACAGIAcbIQEMAQsgASAGTgRAIANCADcCFCADQQA2AhAgA0G49AA2AgwgAyABNgIIIAMgBTYCBCADQgA3AhwgA0IANwIkIANCADcC.LCADQQA2AjwgA0KBgICAgICAgAE3AjQgBSADQQRqIAYgBkEBQQAgBSgCACgCFBEMACADKAIcDQELIANCADcCFCADQQA2AhAgA0GI9AA2AgwgAyABNgIIIANB.uPQANgIEIANCADcCHCADQgA3AiQgA0IANwIsIANCADcAMyADQQA2AjwgA0EBOgA7IAUgA0EEaiAGQQFBACAFKAIAKAIYEQsAQQAhAQJAAkAgAygCKA4CAAEC.CyADKAIYQQAgAygCJEEBRhtBACADKAIgQQFGG0EAIAMoAixBAUYbIQEMAQsgAygCHEEBRwRAIAMoAiwNASADKAIgQQFHDQEgAygCJEEBRw0BCyADKAIUIQEL.IANBQGskAEEAIAFFDQAaIAIoAgAiA0UNASAEQRhqQQBBOPwLACAEQQE6AEsgBEF/NgIgIAQgADYCHCAEIAE2AhQgBEEBNgJEIAEgBEEUaiADQQEgASgCACgC.HBEJACAEKAIsIgBBAUYEQCACIAQoAiQ2AgALIABBAUYLIARB0ABqJAAPCyAEQYEKNgIIIARB5wM2AgQgBEGGCTYCABA8AAsFABA8AAvvDAIPfwF+IwBBwAVr.IgMkAAJAAkACQCABLwEmQYMESQRAQQEhBwwBCyABKQMQIhEgASkDCFkNACABKAIAIBGnai0AACEPIAEgEUIBfDcDECAAIAAoAgAoAhwRAAAoAgQoAlAhBSAA.IAAoAgAoAhgRAAAiAgRAIAJBzZmz5gBPDQIgAkEUbCICEAYhCSACQRRrIgIgAkEUcGtBFGoiAgRAIAlBACAC/AsACyACIAlqIQsLAkAgACAAKAIAKAIYEQAA.QQBKBEAgAEEwaiENIABBPGohCgNAIAAgDCAAKAIAKAIUEQEAIQIgACAAKAIAKAIcEQAAKAIEKAIIIAJBAnRqKAIAIgIgBRAyGiACQQE6AFQgAiACKAJENgJI.IAIoAhwiBEEJSw0CAkAgAAJ/AkBBASAEdCIGQSpxRQRAIAZB1ABxDQMgBEEJRw0GIAItABghBCADQShqEEMiBiACKAI4IARBBkEAIARBleoALQAAbKwQZyAD.QeAAEAYgBhBkIgI2AiAgAkEBOgBUIAIgAigCRDYCSCACIAUQMhogAyAAKAJAIgI2AiQgACgCRCEEIAMgCjYCCCADIANBIGo2AgQgAyADQSRqNgIAIAIgBE8N.ASADKAIgIQQgA0EANgIgIAIgBDYCACACQQRqDAILIAItABhFDQIgACgCNCEEQQAhBgNAIANBADYCJCADIAQ2AgAgACgCOCEOIAMgDTYCMCADIANBJGo2Aiwg.AyADNgIoIAACfyAEIA5JBEAgBEEANgIAIARBBGoMAQsgA0EoahAcIAMoAgALIgQ2AjQgBkEBaiIGIAItABhJDQALDAILIAMQrAEgAygCJAsiAjYCQCACQQRr.KAIAIQIgAygCICEEIANBADYCICAERQ0AIAQQFwsgAigCHCIOQQFrIgRBCk0EfyAELQCQagVBfwshBiAJIAxBFGxqIgQgAi0AGCIQNgIQIAQgDjYCCCAEIAg2.AgQgBCACNgIAIAQgBkEAIAZBAEobNgIMIAggEGohCCAAIAAoAgAoAhgRAAAgDEEBaiIMSg0ACwtBACEAIANBADYCGCADQgA3AhAgA0EANgIIIANCADcCAAJA.IAkgC0YEQCADQQA2AhwMAQsgCyAJayIAQRRtQc2Zs+YATw0DIAMgABAGIgc2AhAgAyAAIAdqNgIYIABBFGsiACAAQRRwa0EUaiICBEAgByAJIAL8CgAAC0EA.IQAgA0EANgIcIAMgAiAHajYCFCACRQ0AIAJBFG0iAEEDcSEMQQAhBkEAIQJBACEEAkAgAEEETwRAIABBfHEhDUEAIQsDQCAEIAcgAkEUbGoiACgCECAAKAIM.bCIKIAQgCksbIgQgACgCJCAAKAIgbCIKIAQgCksbIgQgACgCOCAAKAI0bCIKIAQgCksbIgQgACgCTCAAKAJIbCIAIAAgBEkbIQQgAkEEaiECIAtBBGoiCyAN.Rw0ACyAMRQ0BCwNAIAQgByACQRRsaiIAKAIQIAAoAgxsIgAgACAESRshBCACQQFqIQIgBkEBaiIGIAxHDQALCyAERQRAQQAhAAwBCyAEQQBIDQQgBBAGIQAg.BARAIABBACAE/AsACyADIAAgBGoiAjYCCCADIAI2AgQgAyAANgIACyADIAA2AgxBACEHAkACQAJAAkACQAJAAkACQAJAIA8OBwABAgMEBQYICyADQShqIAgQ.OSIAIAEgAyAFEKoBIAAoAgghAiAAEDpFDQcgAiAFRg0GDAcLIANBKGogCBA5IgAgASADIAUQqQEgACgCCCECIAAQOkUNBiACIAVGDQUMBgsgA0EoaiAIEDci.ACABIAMgBRCoASAAKAIIIQIgABA4RQ0FIAIgBUYNBAwFCyADQShqIAgQNyIAIAEgAyAFEKcBIAAoAgghAiAAEDhFDQQgAiAFRg0DDAQLIANBKGogCBAnIgAg.ASADIAUQpgEgACgCCCECIAAQKEUNAyACIAVGDQIMAwsgA0EoaiAIECciACABIAMgBRClASAAKAIIIQIgABAoRQ0CIAIgBUYNAQwCCyADQShqIAgQJyIAIAEg.AyAFEKQBIAAoAgghAiAAEChFDQEgAiAFRw0BC0EBIQcLIAMoAhAiAARAIAMgADYCFCAAEAULIAMoAgAiAEUNACADIAA2AgQgABAFCyAJRQ0AIAkQBQsgA0HA.BWokACAHDwsQBwALEAcACwMAAAsFAQF/AAuGAwEHfyMAQSBrIgQkACAEIAAoAhwiAzYCECAAKAIUIQUgBCACNgIcIAQgATYCGCAEIAUgA2siATYCFCABIAJq.IQYCfwJAAkACQCAAKAI8IARBEGoiAUEIciABIAMgBUYiARsiA0EBQQIgARsiByAEQQxqEAEiAQR/QYD7ACABNgIAQX8FQQALBEAgAyEBDAELA0AgBiAEKAIM.IgVGDQIgBUEASARAIAMhAQwECyADQQhBACAFIAMoAgQiCEsiCRtqIgEgBSAIQQAgCRtrIgggASgCAGo2AgAgA0EMQQQgCRtqIgMgAygCACAIazYCACAGIAVr.IQYgACgCPCABIgMgByAJayIHIARBDGoQASIFBH9BgPsAIAU2AgBBfwVBAAtFDQALCyAGQX9HDQELIAAgACgCLCIBNgIcIAAgATYCFCAAIAEgACgCMGo2AhAg.AgwBCyAAQQA2AhwgAEIANwMQIAAgACgCAEEgcjYCAEEAIAdBAkYNABogAiABKAIEawsgBEEgaiQACxwAIAAoAjwQAyIABH9BgPsAIAA2AgBBfwVBAAsLCAAg.ABBXEAULVwEDfyAAIAEQxAECQCABQQBIDQAgASAAKAJYIgMgACgCVCICa0ECdU4NACADIAIgAUECdGoiAUEEaiICayIEBEAgASACIAT8CgAACyAAIANBBGs2.AlgLCxAAIAAoAgggACgCBGtBAnULyQIBBn8gACABIAIQxQEgASAAKAJYIgIgACgCVCIEa0ECdU4EQAJAAkACQCABQQFqIgMgAiIBIARrIgZBAnUiBUsEQCAA.KAJcIARrIgJBAnUgA08EQCABIAMgBWtBAnRqIQIDQCABQQE2AgAgAUEEaiIBIAJHDQALIAAgAjYCWAwECyADQYCAgIAETw0BQf////8DIAJBAXUiASADIAEg.A0sbIAJB/P///wdPGyIHQYCAgIAETw0CIAdBAnQQBiIIIAZqIgIgAyAFa0ECdGohAyACIQEDQCABQQE2AgAgAUEEaiIBIANHDQALIAIgBUECdGshASAGBEAg.ASAEIAb8CgAACyAAIAggB0ECdGo2AlwgACADNgJYIAAgATYCVCAERQ0DIAQQBQwDCyADIAVPDQIgACAEIANBAnRqNgJYDAILEAcACxAOAAsLCz0BAX8gAEHA.6gA2AgAgACgCYCIBBEAgACABNgJkIAEQBQsgACgCVCIBBEAgACABNgJYIAEQBQsgABBXEAULOwEBfyAAQcDqADYCACAAKAJgIgEEQCAAIAE2AmQgARAFCyAA.KAJUIgEEQCAAIAE2AlggARAFCyAAEFcLBABBewsEAEF8CwQAQX0LBABBfgsQACAAKAIEIAFBAnRqKAIACwQAQQwLBABBCwsEAEEKCwQAQQkLBABBCAsEAEEH.CwQAQQYLBABBBQs8AQF/AkAgACABIAAoAgAoAiQRAQBFDQAgACABIAAoAgAoAigRAQBFDQAgACAAKAIAKAIsEQAAIQILIAILYQECfyMAQRBrIgEkACAABEAg.ACwAJ0EASARAIAAoAhwQBQsgACgCECECIAEgAEEMajYCCCABQQhqIAIQgAEgACgCBCECIAEgADYCDCABQQxqIAIQTyAAEAULIAFBEGokAAuyAQEDfyMAQRBr.IgMkACADIAAgASACEPEBIAAgAygCADYCGCAAQRxqIQEgAEEYaiADQQRqIQIgAywADyEEAkACQAJAIAAsACdBAEgEQCABIAMoAgQgAiAEQQBIIgAbIAMoAggg.BCAAGxBVDAELIARBAE4NASABIAMoAgQgAygCCBBUCyADLAAPQQBODQEgAygCBBAFDAELIAEgAigCCDYCCCABIAIpAgA3AgALIANBEGokAAuyAQEDfyMAQRBr.IgMkACADIAAgASACEPIBIAAgAygCADYCGCAAQRxqIQEgAEEYaiADQQRqIQIgAywADyEEAkACQAJAIAAsACdBAEgEQCABIAMoAgQgAiAEQQBIIgAbIAMoAggg.BCAAGxBVDAELIARBAE4NASABIAMoAgQgAygCCBBUCyADLAAPQQBODQEgAygCBBAFDAELIAEgAigCCDYCCCABIAIpAgA3AgALIANBEGokAAu9AwEDfyMAQSBr.IgMkACADQQxqIQIjAEHQAGsiACQAIAAgASkDIDcDSCAAIAEpAxg3A0AgACABKQMQNwM4IAAgASkDCDcDMCAAIAEpAwA3AyggAEEMaiAAQShqIABBHGoQZgJA.IAAoAgwiAQRAIAIgATYCACACQQRqIQEgACwAG0EATgRAIAEgACgCGDYCCCABIAApAhA3AgAMAgsgASAAKAIQIAAoAhQQDSAALAAbQQBODQEgACgCEBAFDAEL.IAAsABtBAEgEQCAAKAIQEAULIAAtACMiAUECTwRAQSAQBiIBQQA6ABogAUH4Cy8AADsAGCABQfALKQAANwAQIAFB6AspAAA3AAggAUHgCykAADcAACAAQX82.AgwgAEEQaiABQRoQDSAALAAbIAIgACgCDDYCACACQQRqIQJBAE4EQCACIAAoAhg2AgggAiAAKQIQNwIAIAEQBQwCCyACIAAoAhAgACgCFBANIAAsABtBAEgE.QCAAKAIQEAULIAEQBQwBCyACQgA3AgggAkIANwIAIAIgATYCEAsgAEHQAGokACADKAIcIAMsABtBAEgEQCADKAIQEAULIANBIGokAAvRCQEJfyMAQRBrIgck.ACAHIAE2AgxBIBAGIQEgB0KYgICAgISAgIB/NwIEIAcgATYCACABQdYJKQAANwAQIAFBzgkpAAA3AAggAUHGCSkAADcAACABQQA6ABgjAEEwayIDJAAgBygC.DCECAkACQCAAKAIQIgFFDQAgAEEQaiEFA0AgASgCECIEIAJKBEAgASgCACIBDQEMAgsgAiAESgRAIAEoAgQiAQ0BDAILCyABIAVHDQELIANCADcCICADIANB.IGo2AhwgA0IANwIUIAMgA0EUajYCECADIAI2AgwgA0EMaiIIKAIAIQQgA0EoaiIJAn8CQCAAQQxqIgYoAgQiAUUEQCAGQQRqIgUhAAwBCwNAIAEiACgCECIB.IARKBEAgACIFKAIAIgENAQwCCyABIAROBEAgACECQQAMAwsgACgCBCIBDQALIABBBGohBQtBIBAGIgJCADcCGCACIAQ2AhAgAkEANgIAIAIgAkEYaiIENgIU.IAgoAgwEQCACIAJBFGoiASAIKAIIIAEQmAEiATYCGCABIAQ2AggDQCABIgQoAgAiAQ0ACyACIAQ2AhQgAiAIKAIMNgIcCyACIAA2AgggAkIANwIAIAUgAjYC.ACAGKAIAKAIAIgAEQCAGIAA2AgALIAYoAgQgAhBpIAYgBigCCEEBajYCCEEBCzoABCAJIAI2AgAgAygCKCEBIAMoAhQhACADIANBEGo2AiggCSAAEE8gAygC.ICEAIAMgA0EcajYCDCAIIAAQTwsgA0EwaiQAIwBBIGsiBSQAIwBBIGsiACQAIwBBEGsiAiQAAkAgAEEVaiIEIABBIGoiBiIDRg0ACyACAn8gAyAEayIIQQlM.BEBBPSAIQQFBkPIAKAIAQQFLa0gNARoLIARBMToAACAEQQFqIQNBAAs2AgwgAiADNgIIIAAgAigCCDYCDCAAIAIoAgw2AhAgAkEQaiQAIAUgACgCDCAEayIA.ELQBIQIgAARAIAIgBCAA/AoAAAsgACACakEAOgAAIAYkACAFIAc2AhAgBSABQRRqNgIcAkACQCAFKAIcIgQoAgQiAUUEQCAEQQRqIgIhAAwBCyAHKAIAIAcg.BywACyIAQQBIIgIbIQYgBygCBCAAIAIbIQMDQCAGIAEiACgCECAAQRBqIAAsABsiAUEASCICGyIIIAAoAhQgASACGyIBIAMgASADSSIJGyIKEBMiAkEASCAB.IANLIAIbQQFGBEAgACICKAIAIgENAQwCC0EAIQIgCCAGIAoQEyIBQQBIIAkgARtBAUcEQCAAIQEMAwsgACgCBCIBDQALIABBBGohAgtBKBAGIgFBADYCACAB.QRBqIQYCQCAFKAIQIgMsAAtBAE4EQCAGIAMoAgg2AgggBiADKQIANwIADAELIAYgAygCACADKAIEEA0LIAFBADYCJCABQgA3AhwgASAANgIIIAFCADcCACAC.IAE2AgAgBCgCACgCACIABEAgBCAANgIACyAEKAIEIAEQaUEBIQIgBCAEKAIIQQFqNgIICyAFIAI6ABggBSABNgIUIAUoAhQiACwAJ0EASARAIAAoAhwQBQsg.ACAFKAIINgIkIAAgBSkCADcCHCAFQSBqJAAgBywAC0EASARAIAcoAgAQBQsgB0EQaiQAC9AwAgh/Bn4CfyACIQZBACECAkACQAJAAkACQAJAAkACQAJAAkAg.A0EBaw4JAAMBBAIFBwcGBwtBACEAIwBBEGsiCyQAAkAgASgCUCIDIAYtABgiB2wgBEcNACAGLQBUIQECQCAGKAIcQQFHIgANACABQQFxRQ0AIAQEQCAFIAYo.AgAoAgAgBigCMGogBPwKAAALQQEhAAwBCwJAIAdFBEAMAQsgBxAGIgpBACAH/AsACwJAAkAgA0UNACAARQRAIAcEQEEAIQEDQCABIQAgBi0AVEUEQCAGKAJE.IAFBAnRqKAIAIQALIAYpAygiEKciAgRAIAogBigCACgCACAGKQMwIBAgAK1+fKdqIAL8CgAACyAHBEAgBSAJaiAKIAf8CgAACyAHIAlqIQlBASEAIAFBAWoi.ASADRw0ACwwDCyABQQFxRQRAIAYoAgAhByAGKQMwIRIgBigCRCEJIAYpAygiEKchBkEAIQAgA0EBRwRAIANBAXEgA0F+cSEDQQAhAQNAIAkgAEECdGohBSAG.RSICRQRAIAogBygCACAQIAU1AgB+IBJ8p2ogBvwKAAALIAJFBEAgCiAHKAIAIBAgBTUCBH4gEnynaiAG/AoAAAsgAEECaiEAIAFBAmoiASADRw0AC0UNAwsg.BkUNAiAKIAcoAgAgECAJIABBAnRqNQIAfiASfKdqIAb8CgAADAILIAYoAgAhASAGKQMwIQ8gBikDKCIRpyECIANBAUcEQCADrSIQQgGDIBBC/v///w+DIRAD.QCACRSIARQRAIAogASgCACAOIBF+IA98p2ogAvwKAAALIABFBEAgCiABKAIAIBEgDkIBhH4gD3ynaiAC/AoAAAsgDkICfCEOIBNCAnwiEyAQUg0AC1ANAgsg.AkUNASAKIAEoAgAgDiARfiAPfKdqIAL8CgAAQQEhAAwCC0EAIQEgB0UEQANAIAsgBi0AVAR/IAEFIAYoAkQgAUECdGooAgALNgIMIAYgC0EMaiAGLAAYIAoQ.YiIARQ0DIAFBAWoiASADRw0ADAMLAAsDQCALIAYtAFQEfyABBSAGKAJEIAFBAnRqKAIACzYCDCAGIAtBDGogBiwAGCAKEGIiAEUNAiAHBEAgBSAJaiAKIAf8.CgAACyAHIAlqIQkgAUEBaiIBIANHDQALDAELQQEhAAsgCkUNACAKEAULDAcLIwBBEGsiCiQAAkAgBi0AGCIDQQF0IgsgASgCUCIMbCAERw0AIAYtAFQhAgJA.IAYoAhxBA0ciAA0AIAJBAXFFDQAgBARAIAUgBigCACgCACAGKAIwaiAE/AoAAAtBASECDAELAkAgA0UEQEEAIQEMAQsgCxAGIQEgC0UNACABQQAgC/wLAAsC.QAJAIAxFDQAgAEUEQCAGKAIAIQcgBikDMCEPIAYpAygiEachCCADBEAgAkEBcUUEQANAIAgEQCABIAcoAgAgESAGKAJEIA1BAnRqNQIAfiAPfKdqIAj8CgAA.C0EBIQIgCwRAIAUgCUEBdGogASAL/AoAAAsgAyAJaiEJIA1BAWoiDSAMRw0ACwwECyAMrSEQQQAhBgNAIAgEQCABIAcoAgAgDiARfiAPfKdqIAj8CgAAC0EB.IQIgCwRAIAUgBkEBdGogASAL/AoAAAsgAyAGaiEGIA5CAXwiDiAQUg0ACwwDCyACQQFxRQRAIAYoAkQhCUEAIQYgDEEBRwRAIAxBAXEgDEF+cSEDQQAhAgNA.IAkgBkECdGohBSAIRSIARQRAIAEgBygCACARIAU1AgB+IA98p2ogCPwKAAALIABFBEAgASAHKAIAIBEgBTUCBH4gD3ynaiAI/AoAAAsgBkECaiEGIAJBAmoi.AiADRw0AC0UNAwsgCEUNAiABIAcoAgAgESAJIAZBAnRqNQIAfiAPfKdqIAj8CgAADAILIAxBAUcEQCAMrSIQQgGDIBBC/v///w+DIRADQCAIRSIARQRAIAEg.BygCACAOIBF+IA98p2ogCPwKAAALIABFBEAgASAHKAIAIBEgDkIBhH4gD3ynaiAI/AoAAAsgDkICfCEOIBNCAnwiEyAQUg0AC1ANAgsgCEUNASABIAcoAgAg.DiARfiAPfKdqIAj8CgAAQQEhAgwCC0EAIQAgA0UEQANAIAogBi0AVAR/IAAFIAYoAkQgAEECdGooAgALNgIMIAYgCkEMaiAGLAAYIAEQXyICRQ0DIABBAWoi.ACAMRw0ADAMLAAsDQCAKIAYtAFQEfyAABSAGKAJEIABBAnRqKAIACzYCDCAGIApBDGogBiwAGCABEF8iAkUNAiALBEAgBSAJQQF0aiABIAv8CgAACyADIAlq.IQkgAEEBaiIAIAxHDQALDAELQQEhAgsgAUUNACABEAULDAcLIwBBEGsiCiQAAkAgBi0AGCIDQQJ0IgsgASgCUCIMbCAERw0AIAYtAFQhAgJAIAYoAhxBBUci.AA0AIAJBAXFFDQAgBARAIAUgBigCACgCACAGKAIwaiAE/AoAAAtBASECDAELAkAgA0UEQEEAIQEMAQsgCxAGIQEgC0UNACABQQAgC/wLAAsCQAJAIAxFDQAg.AEUEQCAGKAIAIQcgBikDMCEPIAYpAygiEachCCADBEAgAkEBcUUEQANAIAgEQCABIAcoAgAgESAGKAJEIA1BAnRqNQIAfiAPfKdqIAj8CgAACyALBEAgBSAJ.QQJ0aiABIAv8CgAACyADIAlqIQlBASECIA1BAWoiDSAMRw0ACwwECyAMrSEQQQAhBgNAIAgEQCABIAcoAgAgDiARfiAPfKdqIAj8CgAACyALBEAgBSAGQQJ0.aiABIAv8CgAACyADIAZqIQYgDkIBfCIOIBBSDQALDAILIAJBAXFFBEAgBigCRCEJQQAhBiAMQQFHBEAgDEEBcSAMQX5xIQNBACECA0AgCSAGQQJ0aiEFIAhF.IgBFBEAgASAHKAIAIBEgBTUCAH4gD3ynaiAI/AoAAAsgAEUEQCABIAcoAgAgESAFNQIEfiAPfKdqIAj8CgAACyAGQQJqIQYgAkECaiICIANHDQALRQ0DCyAI.RQ0CIAEgBygCACARIAkgBkECdGo1AgB+IA98p2ogCPwKAAAMAgsgDEEBRwRAIAytIhBCAYMgEEL+////D4MhEANAIAhFIgBFBEAgASAHKAIAIA4gEX4gD3yn.aiAI/AoAAAsgAEUEQCABIAcoAgAgESAOQgGEfiAPfKdqIAj8CgAACyAOQgJ8IQ4gE0ICfCITIBBSDQALUA0CCyAIRQ0BIAEgBygCACAOIBF+IA98p2ogCPwK.AABBASECDAILQQAhACADRQRAA0AgCiAGLQBUBH8gAAUgBigCRCAAQQJ0aigCAAs2AgwgBiAKQQxqIAYsABggARBdIgJFDQMgAEEBaiIAIAxHDQAMAwsACwNA.IAogBi0AVAR/IAAFIAYoAkQgAEECdGooAgALNgIMIAYgCkEMaiAGLAAYIAEQXSICRQ0CIAsEQCAFIAlBAnRqIAEgC/wKAAALIAMgCWohCSAAQQFqIgAgDEcN.AAsMAQtBASECCyABRQ0AIAEQBQsMBgtBACEAIwBBEGsiCyQAAkAgASgCUCIDIAYtABgiB2wgBEcNACAGLQBUIQECQCAGKAIcQQJHIgANACABQQFxRQ0AIAQE.QCAFIAYoAgAoAgAgBigCMGogBPwKAAALQQEhAAwBCwJAIAdFBEAMAQsgBxAGIgpBACAH/AsACwJAAkAgA0UNACAARQRAIAcEQEEAIQEDQCABIQAgBi0AVEUE.QCAGKAJEIAFBAnRqKAIAIQALIAYpAygiEKciAgRAIAogBigCACgCACAGKQMwIBAgAK1+fKdqIAL8CgAACyAHBEAgBSAJaiAKIAf8CgAACyAHIAlqIQlBASEA.IAFBAWoiASADRw0ACwwDCyABQQFxRQRAIAYoAgAhByAGKQMwIRIgBigCRCEJIAYpAygiEKchBkEAIQAgA0EBRwRAIANBAXEgA0F+cSEDQQAhAQNAIAkgAEEC.dGohBSAGRSICRQRAIAogBygCACAQIAU1AgB+IBJ8p2ogBvwKAAALIAJFBEAgCiAHKAIAIBAgBTUCBH4gEnynaiAG/AoAAAsgAEECaiEAIAFBAmoiASADRw0A.C0UNAwsgBkUNAiAKIAcoAgAgECAJIABBAnRqNQIAfiASfKdqIAb8CgAADAILIAYoAgAhASAGKQMwIQ8gBikDKCIRpyECIANBAUcEQCADrSIQQgGDIBBC/v//./w+DIRADQCACRSIARQRAIAogASgCACAOIBF+IA98p2ogAvwKAAALIABFBEAgCiABKAIAIBEgDkIBhH4gD3ynaiAC/AoAAAsgDkICfCEOIBNCAnwiEyAQUg0A.C1ANAgsgAkUNASAKIAEoAgAgDiARfiAPfKdqIAL8CgAAQQEhAAwCC0EAIQEgB0UEQANAIAsgBi0AVAR/IAEFIAYoAkQgAUECdGooAgALNgIMIAYgC0EMaiAG.LAAYIAoQYSIARQ0DIAFBAWoiASADRw0ADAMLAAsDQCALIAYtAFQEfyABBSAGKAJEIAFBAnRqKAIACzYCDCAGIAtBDGogBiwAGCAKEGEiAEUNAiAHBEAgBSAJ.aiAKIAf8CgAACyAHIAlqIQkgAUEBaiIBIANHDQALDAELQQEhAAsgCkUNACAKEAULDAQLIwBBEGsiCiQAAkAgBi0AGCIDQQF0IgsgASgCUCIMbCAERw0AIAYt.AFQhAgJAIAYoAhxBBEciAA0AIAJBAXFFDQAgBARAIAUgBigCACgCACAGKAIwaiAE/AoAAAtBASECDAELAkAgA0UEQEEAIQEMAQsgCxAGIQEgC0UNACABQQAg.C/wLAAsCQAJAIAxFDQAgAEUEQCAGKAIAIQcgBikDMCEPIAYpAygiEachCCADBEAgAkEBcUUEQANAIAgEQCABIAcoAgAgESAGKAJEIA1BAnRqNQIAfiAPfKdq.IAj8CgAAC0EBIQIgCwRAIAUgCUEBdGogASAL/AoAAAsgAyAJaiEJIA1BAWoiDSAMRw0ACwwECyAMrSEQQQAhBgNAIAgEQCABIAcoAgAgDiARfiAPfKdqIAj8.CgAAC0EBIQIgCwRAIAUgBkEBdGogASAL/AoAAAsgAyAGaiEGIA5CAXwiDiAQUg0ACwwDCyACQQFxRQRAIAYoAkQhCUEAIQYgDEEBRwRAIAxBAXEgDEF+cSED.QQAhAgNAIAkgBkECdGohBSAIRSIARQRAIAEgBygCACARIAU1AgB+IA98p2ogCPwKAAALIABFBEAgASAHKAIAIBEgBTUCBH4gD3ynaiAI/AoAAAsgBkECaiEG.IAJBAmoiAiADRw0AC0UNAwsgCEUNAiABIAcoAgAgESAJIAZBAnRqNQIAfiAPfKdqIAj8CgAADAILIAxBAUcEQCAMrSIQQgGDIBBC/v///w+DIRADQCAIRSIA.RQRAIAEgBygCACAOIBF+IA98p2ogCPwKAAALIABFBEAgASAHKAIAIBEgDkIBhH4gD3ynaiAI/AoAAAsgDkICfCEOIBNCAnwiEyAQUg0AC1ANAgsgCEUNASAB.IAcoAgAgDiARfiAPfKdqIAj8CgAAQQEhAgwCC0EAIQAgA0UEQANAIAogBi0AVAR/IAAFIAYoAkQgAEECdGooAgALNgIMIAYgCkEMaiAGLAAYIAEQXiICRQ0D.IABBAWoiACAMRw0ADAMLAAsDQCAKIAYtAFQEfyAABSAGKAJEIABBAnRqKAIACzYCDCAGIApBDGogBiwAGCABEF4iAkUNAiALBEAgBSAJQQF0aiABIAv8CgAA.CyADIAlqIQkgAEEBaiIAIAxHDQALDAELQQEhAgsgAUUNACABEAULDAQLIwBBEGsiCiQAAkAgBi0AGCIDQQJ0IgsgASgCUCIMbCAERw0AIAYtAFQhAgJAIAYo.AhxBBkciAA0AIAJBAXFFDQAgBARAIAUgBigCACgCACAGKAIwaiAE/AoAAAtBASECDAELAkAgA0UEQEEAIQEMAQsgCxAGIQEgC0UNACABQQAgC/wLAAsCQAJA.IAxFDQAgAEUEQCAGKAIAIQcgBikDMCEPIAYpAygiEachCCADBEAgAkEBcUUEQANAIAgEQCABIAcoAgAgESAGKAJEIA1BAnRqNQIAfiAPfKdqIAj8CgAACyAL.BEAgBSAJQQJ0aiABIAv8CgAACyADIAlqIQlBASECIA1BAWoiDSAMRw0ACwwECyAMrSEQQQAhBgNAIAgEQCABIAcoAgAgDiARfiAPfKdqIAj8CgAACyALBEAg.BSAGQQJ0aiABIAv8CgAACyADIAZqIQYgDkIBfCIOIBBSDQALDAILIAJBAXFFBEAgBigCRCEJQQAhBiAMQQFHBEAgDEEBcSAMQX5xIQNBACECA0AgCSAGQQJ0.aiEFIAhFIgBFBEAgASAHKAIAIBEgBTUCAH4gD3ynaiAI/AoAAAsgAEUEQCABIAcoAgAgESAFNQIEfiAPfKdqIAj8CgAACyAGQQJqIQYgAkECaiICIANHDQAL.RQ0DCyAIRQ0CIAEgBygCACARIAkgBkECdGo1AgB+IA98p2ogCPwKAAAMAgsgDEEBRwRAIAytIhBCAYMgEEL+////D4MhEANAIAhFIgBFBEAgASAHKAIAIA4g.EX4gD3ynaiAI/AoAAAsgAEUEQCABIAcoAgAgESAOQgGEfiAPfKdqIAj8CgAACyAOQgJ8IQ4gE0ICfCITIBBSDQALUA0CCyAIRQ0BIAEgBygCACAOIBF+IA98.p2ogCPwKAABBASECDAILQQAhACADRQRAA0AgCiAGLQBUBH8gAAUgBigCRCAAQQJ0aigCAAs2AgwgBiAKQQxqIAYsABggARBcIgJFDQMgAEEBaiIAIAxHDQAM.AwsACwNAIAogBi0AVAR/IAAFIAYoAkQgAEECdGooAgALNgIMIAYgCkEMaiAGLAAYIAEQXCICRQ0CIAsEQCAFIAlBAnRqIAEgC/wKAAALIAMgCWohCSAAQQFq.IgAgDEcNAAsMAQtBASECCyABRQ0AIAEQBQsMAwsjAEEQayIHJAACQCAEIAYtABgiBEECdCIMIAEoAlAiDWxHDQAgBigCHCEDAkAgBEUEQAwBCyAMEAYiCiEB.IAxBBGsiAkECdkEBakEHcSIABEADQCABQYCAgIB8NgIAIAFBBGohASAJQQFqIgkgAEcNAAsLIAJBHEkNACAKIAxqIQADQCABQoCAgICMgICAQDcCGCABQoCA.gICMgICAQDcCECABQoCAgICMgICAQDcCCCABQoCAgICMgICAQDcCACABQSBqIgEgAEcNAAsLAkACQCANRQ0AIANBCUYEQCAGKAIAIQsgBikDMCEOIAYtAFQh.ACAGKQMoIhOnIQggBARAQQAhASAAQQFxIQJBACEJA0AgASEAIAJFBEAgBigCRCABQQJ0aigCACEACyAIBEAgCiALKAIAIBMgAK1+IA58p2ogCPwKAAALIAwE.QCAFIAlBAnRqIAogDPwKAAALIAQgCWohCSABQQFqIgEgDUcNAAsMAgsgAEEBcUUEQCAGKAJEIQlBACEBIA1BAUcEQCANQQFxIA1BfnEhA0EAIQADQCAJIAFB.AnRqIQUgCEUiAkUEQCAKIAsoAgAgEyAFNQIAfiAOfKdqIAj8CgAACyACRQRAIAogCygCACATIAU1AgR+IA58p2ogCPwKAAALIAFBAmohASAAQQJqIgAgA0cN.AAtFDQMLIAhFDQIgCiALKAIAIBMgCSABQQJ0ajUCAH4gDnynaiAI/AoAAAwCCyANQQFHBEAgDa0iEEIBgyAQQv7///8PgyEQA0AgCEUiAEUEQCAKIAsoAgAg.DyATfiAOfKdqIAj8CgAACyAARQRAIAogCygCACATIA9CAYR+IA58p2ogCPwKAAALIA9CAnwhDyARQgJ8IhEgEFINAAtQDQILIAhFDQEgCiALKAIAIA8gE34g.DnynaiAI/AoAAAwBC0EAIQEgBEUEQANAIAcgBi0AVAR/IAEFIAYoAkQgAUECdGooAgALNgIMIAYgB0EMaiAGLAAYIAoQIiIJRQ0DIAFBAWoiASANRw0ADAML.AAtBACEAA0AgByAGLQBUBH8gAQUgBigCRCABQQJ0aigCAAs2AgwgBiAHQQxqIAYsABggChAiIglFDQIgDARAIAUgAEECdGogCiAM/AoAAAsgACAEaiEAIAFB.AWoiASANRw0ACwwBC0EBIQkgCkUNAQsgChAFCyAHQRBqJAAgCSECCyACDAILIAtBEGokACAADAELIApBEGokACACCwvrBAENfwJ/IwBBEGsiBiQAIAEoAlAi.CCACLQAYIgBsIQECQAJAAkAgAigCHCIEQQVHIARBBkdxDQAgAi0AVEEBcUUNAAJ/IAFFBEBBACEAQQAMAQsgAUEASA0DIAIoAjAhBCACKAIAKAIAIQIgAUEC.dCIBEAYhACABBEAgACACIARqIAH8CgAACyAAIAFqCyEBIAMoAgAiAgRAIAMgAjYCBCACEAULIAMgATYCCCADIAE2AgQgAyAANgIAQQEhBQwBCwJAIABFBEAg.AyABEAwgCA0BQQEhBQwCCyAAQQJ0IgUQBiEEIAUEQCAEQQAgBfwLAAsgAyABEAwgCEUEQEEBIQUgBBAFDAILIABB/AFxIQ8gAEEDcSELIABBBEkhEEEAIQED.QCAGIAItAFQEfyAHBSACKAJEIAdBAnRqKAIACzYCDCACIAZBDGogAiwAGCAEEFwiBQRAIAMoAgAhDEEAIQ1BACEOQQAhAAJAIBBFBEADQCAMIAFBAnRqIgkg.BCAAQQJ0aiIKKAIANgIAIAkgCigCBDYCBCAJIAooAgg2AgggCSAKKAIMNgIMIABBBGohACABQQRqIQEgDkEEaiIOIA9HDQALIAtFDQELA0AgDCABQQJ0aiAE.IABBAnRqKAIANgIAIABBAWohACABQQFqIQEgDUEBaiINIAtHDQALCyAHQQFqIgcgCEcNAQsLIAQQBQwBC0EAIQEDQCAGIAItAFQEfyABBSACKAJEIAFBAnRq.KAIACzYCDCACIAZBDGogAiwAGEEAEFwaQQEhBSABQQFqIgEgCEcNAAsLIAZBEGokACAFDAELEAcACwvrBAENfwJ/IwBBEGsiBiQAIAEoAlAiCCACLQAYIgBs.IQECQAJAAkAgAigCHCIEQQNHIARBBEdxDQAgAi0AVEEBcUUNAAJ/IAFFBEBBACEAQQAMAQsgAUEASA0DIAIoAjAhBCACKAIAKAIAIQIgAUEBdCIBEAYhACAB.BEAgACACIARqIAH8CgAACyAAIAFqCyEBIAMoAgAiAgRAIAMgAjYCBCACEAULIAMgATYCCCADIAE2AgQgAyAANgIAQQEhBAwBCwJAIABFBEAgAyABEGAgCA0B.QQEhBAwCC0EBIQQgAEEBdCIFEAYhByAFBEAgB0EAIAX8CwALIAMgARBgAkAgCEUNACAAQfwBcSEPIABBA3EhC0EAIQUgAEEESSEQQQAhAQNAIAYgAi0AVAR/.IAUFIAIoAkQgBUECdGooAgALNgIMIAIgBkEMaiACLAAYIAcQXiIERQ0BIAMoAgAhDEEAIQ1BACEOQQAhAAJAIBBFBEADQCAMIAFBAXRqIgkgByAAQQF0aiIK.LwEAOwEAIAkgCi8BAjsBAiAJIAovAQQ7AQQgCSAKLwEGOwEGIABBBGohACABQQRqIQEgDkEEaiIOIA9HDQALIAtFDQELA0AgDCABQQF0aiAHIABBAXRqLwEA.OwEAIABBAWohACABQQFqIQEgDUEBaiINIAtHDQALCyAFQQFqIgUgCEcNAAsLIAcQBQwBC0EAIQEDQCAGIAItAFQEfyABBSACKAJEIAFBAnRqKAIACzYCDCAC.IAZBDGogAiwAGEEAEF4aQQEhBCABQQFqIgEgCEcNAAsLIAZBEGokACAEDAELEAcACwvrBAENfwJ/IwBBEGsiBiQAIAEoAlAiCCACLQAYIgBsIQECQAJAAkAg.AigCHCIEQQNHIARBBEdxDQAgAi0AVEEBcUUNAAJ/IAFFBEBBACEAQQAMAQsgAUEASA0DIAIoAjAhBCACKAIAKAIAIQIgAUEBdCIBEAYhACABBEAgACACIARq.IAH8CgAACyAAIAFqCyEBIAMoAgAiAgRAIAMgAjYCBCACEAULIAMgATYCCCADIAE2AgQgAyAANgIAQQEhBAwBCwJAIABFBEAgAyABEGAgCA0BQQEhBAwCC0EB.IQQgAEEBdCIFEAYhByAFBEAgB0EAIAX8CwALIAMgARBgAkAgCEUNACAAQfwBcSEPIABBA3EhC0EAIQUgAEEESSEQQQAhAQNAIAYgAi0AVAR/IAUFIAIoAkQg.BUECdGooAgALNgIMIAIgBkEMaiACLAAYIAcQXyIERQ0BIAMoAgAhDEEAIQ1BACEOQQAhAAJAIBBFBEADQCAMIAFBAXRqIgkgByAAQQF0aiIKLwEAOwEAIAkg.Ci8BAjsBAiAJIAovAQQ7AQQgCSAKLwEGOwEGIABBBGohACABQQRqIQEgDkEEaiIOIA9HDQALIAtFDQELA0AgDCABQQF0aiAHIABBAXRqLwEAOwEAIABBAWoh.ACABQQFqIQEgDUEBaiINIAtHDQALCyAFQQFqIgUgCEcNAAsLIAcQBQwBC0EAIQEDQCAGIAItAFQEfyABBSACKAJEIAFBAnRqKAIACzYCDCACIAZBDGogAiwA.GEEAEF8aQQEhBCABQQFqIgEgCEcNAAsLIAZBEGokACAEDAELEAcACwuhBgELfwJ/IwBBEGsiCSQAIAEoAlAiCyACLQAYIgFsIQACQAJAAkAgAigCHCIFQQFH.IAVBAkdxDQAgAi0AVEEBcUUNAAJ/IABFBEBBACEBQQAMAQsgAEEASA0DIAIoAjAhByACKAIAKAIAIQIgABAGIQEgAARAIAEgAiAHaiAA/AoAAAsgACABagsh.ACADKAIAIgIEQCADIAI2AgQgAhAFCyADIAA2AgggAyAANgIEIAMgATYCAEEBIQUMAQsgAQRAIAEQBiIHQQAgAfwLAAsCQCADKAIEIgQgAygCACIGayIFIABJ.BEAgAygCCCAGayIIIABPBEAgACAFayIABEAgBEEAIAD8CwALIAMgACAEajYCBAwCCyAAQQBIDQNB/////wcgCEEBdCIEIAAgACAESRsgCEH/////A08bIggQ.BiEEIAAgBWsiCgRAIAQgBWpBACAK/AsACyAFBEAgBCAGIAX8CgAACyADIAQgCGo2AgggAyAAIARqNgIEIAMgBDYCACAGRQ0BIAYQBQwBCyAAIAVPDQAgAyAA.IAZqNgIECwJAIAsEQCABRQRAQQAhAANAIAkgAi0AVAR/IAAFIAIoAkQgAEECdGooAgALNgIMIAIgCUEMaiACLAAYIAcQYSIFRQ0DIABBAWoiACALRw0ACwwC.CyABQfwBcSENIAFBA3EhCEEAIQYgAUEESSEOQQAhAANAIAkgAi0AVAR/IAYFIAIoAkQgBkECdGooAgALNgIMIAIgCUEMaiACLAAYIAcQYSIFRQ0CQQAhCkEA.IQxBACEBAkAgDkUEQANAIAMoAgAgAGogASAHaiIELQAAOgAAIAMoAgAgAGogBC0AAToAASADKAIAIABqIAQtAAI6AAIgAygCACAAaiAELQADOgADIAFBBGoh.ASAAQQRqIQAgDEEEaiIMIA1HDQALIAhFDQELA0AgAygCACAAaiABIAdqLQAAOgAAIAFBAWohASAAQQFqIQAgCkEBaiIKIAhHDQALCyAGQQFqIgYgC0cNAAsM.AQtBASEFIAdFDQELIAcQBQsgCUEQaiQAIAUMAQsQBwALC6EGAQt/An8jAEEQayIJJAAgASgCUCILIAItABgiAWwhAAJAAkACQCACKAIcIgVBAUcgBUECR3EN.ACACLQBUQQFxRQ0AAn8gAEUEQEEAIQFBAAwBCyAAQQBIDQMgAigCMCEHIAIoAgAoAgAhAiAAEAYhASAABEAgASACIAdqIAD8CgAACyAAIAFqCyEAIAMoAgAi.AgRAIAMgAjYCBCACEAULIAMgADYCCCADIAA2AgQgAyABNgIAQQEhBQwBCyABBEAgARAGIgdBACAB/AsACwJAIAMoAgQiBCADKAIAIgZrIgUgAEkEQCADKAII.IAZrIgggAE8EQCAAIAVrIgAEQCAEQQAgAPwLAAsgAyAAIARqNgIEDAILIABBAEgNA0H/////ByAIQQF0IgQgACAAIARJGyAIQf////8DTxsiCBAGIQQgACAF.ayIKBEAgBCAFakEAIAr8CwALIAUEQCAEIAYgBfwKAAALIAMgBCAIajYCCCADIAAgBGo2AgQgAyAENgIAIAZFDQEgBhAFDAELIAAgBU8NACADIAAgBmo2AgQL.AkAgCwRAIAFFBEBBACEAA0AgCSACLQBUBH8gAAUgAigCRCAAQQJ0aigCAAs2AgwgAiAJQQxqIAIsABggBxBiIgVFDQMgAEEBaiIAIAtHDQALDAILIAFB/AFx.IQ0gAUEDcSEIQQAhBiABQQRJIQ5BACEAA0AgCSACLQBUBH8gBgUgAigCRCAGQQJ0aigCAAs2AgwgAiAJQQxqIAIsABggBxBiIgVFDQJBACEKQQAhDEEAIQEC.QCAORQRAA0AgAygCACAAaiABIAdqIgQtAAA6AAAgAygCACAAaiAELQABOgABIAMoAgAgAGogBC0AAjoAAiADKAIAIABqIAQtAAM6AAMgAUEEaiEBIABBBGoh.ACAMQQRqIgwgDUcNAAsgCEUNAQsDQCADKAIAIABqIAEgB2otAAA6AAAgAUEBaiEBIABBAWohACAKQQFqIgogCEcNAAsLIAZBAWoiBiALRw0ACwwBC0EBIQUg.B0UNAQsgBxAFCyAJQRBqJAAgBQwBCxAHAAsLywQBDX8jAEEQayIIJAAgASgCUCIKIAItABgiBWwhBgJAAkACQCAFBEAgBUECdCIHEAYiASEAIAdBBGsiCUEC.dkEBakEHcSILBEADQCAAQYCAgIB8NgIAIABBBGohACAEQQFqIgQgC0cNAAsLIAlBHE8EQCABIAdqIQQDQCAAQoCAgICMgICAQDcCGCAAQoCAgICMgICAQDcC.ECAAQoCAgICMgICAQDcCCCAAQoCAgICMgICAQDcCACAAQSBqIgAgBEcNAAsLIAMgBhAMIAoNAUEBIQUgARAFDAMLIAMgBhAMIAoNAUEBIQUMAgsgBUH8AXEh.DyAFQQNxIQtBACEGIAVBBEkhEEEAIQADQCAIIAItAFQEfyAGBSACKAJEIAZBAnRqKAIACzYCDCACIAhBDGogAiwAGCABECIiBQRAIAMoAgAhDEEAIQ1BACEO.QQAhBAJAIBBFBEADQCAMIABBAnRqIgcgASAEQQJ0aiIJKgIAOAIAIAcgCSoCBDgCBCAHIAkqAgg4AgggByAJKgIMOAIMIARBBGohBCAAQQRqIQAgDkEEaiIO.IA9HDQALIAtFDQELA0AgDCAAQQJ0aiABIARBAnRqKgIAOAIAIARBAWohBCAAQQFqIQAgDUEBaiINIAtHDQALCyAGQQFqIgYgCkcNAQsLIAEQBQwBC0EAIQAD.QCAIIAItAFQEfyAABSACKAJEIABBAnRqKAIACzYCDCACIAhBDGogAiwAGEEAECIaQQEhBSAAQQFqIgAgCkcNAAsLIAhBEGokACAFC6UBAQN/IwBBIGsiACQA.IAEtABghBSAAQajqACkDADcDCCAAQaDqACkDADcDACAAIAI2AhwgASAAQRxqIAXAIgIgABAiIgYEQEEAIQEgAgRAIAVBAnQiAhAGIQEgAgRAIAEgACAC/AoA.AAsgASACaiEECyADKAIAIgIEQCADIAI2AgQgAhAFCyADIAQ2AgggAyAENgIEIAMgATYCAAsgAEEgaiQAIAYL7wEBBn8gASgCZCIAIAEoAmAiAWshBwJAIAAg.AUYNACACIAdHDQBBACEAIAJBDG0iBUECTwRAIAVBAXEgBUF+cSEJQQAhBQNAIAMgAEEMbCIEaiIGIAEgBGoiBCgCADYCACAGIAQoAgQ2AgQgBiAEKAIINgII.IAMgAEEBckEMbCIEaiIGIAEgBGoiBCgCADYCACAGIAQoAgQ2AgQgBiAEKAIINgIIIABBAmohACAFQQJqIgUgCUcNAAtFDQELIAMgAEEMbCIFaiIAIAEgBWoi.ASgCADYCACAAIAEoAgQ2AgQgACABKAIINgIICyACIAdGCzgBAX8gAEH0DzYCACAAKAIQIgEEQCAAIAE2AhQgARAFCyAAKAIEIgEEQCAAIAE2AgggARAFCyAA.C5QCAQV/An9BACABKAJQQf//A0sNABogASgCZCIAIAEoAmAiAWtBDG0iBEEGbCIFIAJGIQYCQCAAIAFGDQAgAiAFRw0AQQEhBkEAIQACQCAEQQJJDQAgBEEB.cSAEQX5xIQhBACECA0AgAyAAQQZsaiIEIAEgAEEMbGoiBSgCADsBACAEIAUoAgQ7AQIgBCAFKAIIOwEEIAMgAEEBciIFQQZsaiIEIAEgBUEMbGoiBSgCADsB.ACAEIAUoAgQ7AQIgBCAFKAIIOwEEIABBAmohACACQQJqIgIgCEcNAAsNAEEBDAILIAMgAEEGbGoiAiABIABBDGxqIgAoAgA7AQAgAiAAKAIEOwECIAIgACgC.CDsBBAsgBgsL7DQCH38BfiACIR1BACECIwBB4ABrIgokACAKQRBqIgtBAEHMAPwLACAKQX82AlwgCkEANgIMIApCADcCBCMAQSBrIg0kACALQgA3AkQgCyAB.NgIAAn8jAEEQayIUJAACQCABIhgoAhggASgCFCIAa0EATA0AIAAoAgAiAEF/Rg0AIAEoAgggAEECdGooAgAhAgsCQAJAIAJFBEBBACEADAELIBgoAmAhCCAY.KAJkIQAgFEEANgIMIBRCADcCBCAAIAhrIgFBDG0hAwJAIAAgCEYNACADQdaq1aoBTw0CIBQgARAGIgw2AgQgFCABIAxqNgIMIAFBDGsiACAAQQxwa0EMaiIA.BEAgDEEAIAD8CwALIBQgACAMajYCCCACLQBURQRAQQEgAyADQQFNGyEFIAIoAkQhCUEAIQEDQCAJIAggAUEMbCIDaiIGKAIAQQJ0aigCACECIAkgBigCBEEC.dGooAgAhACADIAxqIgMgCSAGKAIIQQJ0aigCADYCCCADIAA2AgQgAyACNgIAIAFBAWoiASAFRw0ACwwBC0EAIQAgA0ECTwRAIANBAXEgA0H+////AXEhBUEA.IQEDQCAIIABBDGwiAmoiAykCACEiIAIgDGoiAiADKAIINgIIIAIgIjcCACAIIABBAXJBDGwiAmoiAykCACEiIAIgDGoiAiADKAIINgIIIAIgIjcCACAAQQJq.IQAgAUECaiIBIAVHDQALRQ0BCyAIIABBDGwiAGoiASkCACEiIAAgDGoiACABKAIINgIIIAAgIjcCAAsCfyMAQRBrIiEkAEHYABAGIgRBADYCOCAEQgA3AjAg.BEIANwIoIARCADcCICAEQgA3AhggBEIANwIQIARCADcCCCAEQgA3AgAgBEIANwJAIARCADcCSCAEQgA3AlAgBCAENgI8IwBBEGsiHyQAIARCADcCUCAEKAJM.IQAgBEEANgJMIAAEQCAAEAULIARCADcCRCAEKAJAIQAgBEEANgJAIAAEQCAAEAULIAQgFCgCCCAUKAIEa0ECdRDbAQJAIBQoAggiASAUKAIEIghGDQAgBCgC.ACEJQQAhACABIAhrQQxtIgFBAk8EQCABQQFxIAFBfnEhAkEAIQUDQCAJIABBDGwiAWoiBiABIAhqIgEoAgA2AgAgBiABKAIENgIEIAYgASgCCDYCCCAJIABB.AXJBDGwiAWoiBiABIAhqIgEoAgA2AgAgBiABKAIENgIEIAYgASgCCDYCCCAAQQJqIQAgBUECaiIFIAJHDQALRQ0BCyAJIABBDGwiAGoiASAAIAhqIgAoAgA2.AgAgASAAKAIENgIEIAEgACgCCDYCCAsgH0F/NgIMQQAhAUEAIQNBACEGIwBBEGsiDiQAAkACQCAfQQxqIhlFDQAgBEEMaiAEKAIEIAQoAgBrQQJ1QbTqABA0.IA5BADYCDCAOQgA3AgQgBCgCBCICIAQoAgAiDGshBSACIAxGIgBFBEAgBUEASA0CIA4gBRAGIgE2AgggDiABNgIEIA4gASAFajYCDAsCQCAABEAgBUECdSEV.DAELA0AgDCADQQJ0aigCACIAIA4oAgggAWtBAnVPBEAgDkEANgIAIA5BBGogAEEBaiAOEB0gBCgCACEMIAQoAgQhAiAOKAIEIQELIAEgAEECdGoiACAAKAIA.QQFqNgIAIANBAWoiAyACIAxrIgBBAnUiFUkNAAsgAiAMRgRAQQAhAwwBCyAVQYCAgIACTw0CIABBAXQiABAGIQMgAEF4cSIARQ0AIANB/wEgAPwLAAsgDigC.CCIAIAFrIgJBAnUhFgJAIAAgAUYNACAWQYCAgIAETw0CQQAhACACEAYhBiACBEAgBkEAIAL8CwALQQEgFiAWQQFNGyIFQQNxIQdBACECIBZBBE8EQCAFQfz/.//8DcSEIA0AgBiAAQQJ0IhNqIAI2AgAgBiATQQRyIgVqIAEgE2ooAgAgAmoiAjYCACAGIBNBCHIiCWogASAFaigCACACaiICNgIAIAYgE0EMciIFaiABIAlq.KAIAIAJqIgI2AgAgASAFaigCACACaiECIABBBGohACAQQQRqIhAgCEcNAAsgB0UNAQtBACEQA0AgBiAAQQJ0IgVqIAI2AgAgAEEBaiEAIAEgBWooAgAgAmoh.AiAQQQFqIhAgB0cNAAsLIBUEQANAIAwgEUECdCIIaiECQX8hEiARQQFqIhMgEUECayATQQNwGyIAQX9HBEAgDCAAQQJ0aigCACESCyACKAIAIQcCfwJAIBFB.A3BFBEBBfyEPIBFBAmoiAEF/RwRAIAwgAEECdGooAgAhDwsCQCAHIBJGDQAgByAPRg0AIA8gEkcNAgsgBCAEKAIoQQFqNgIoIBFBA2oMAgsgAkEEaygCACEP.CwJAAkAgASAPQQJ0IgBqKAIAIhpBAEwNACAAIAZqKAIAIQBBACECA0AgAyAAQQN0aiIJKAIAIgVBf0YNAQJAIAUgEkcNACAJKAIEIhtBf0cEfyAMIBtBAnRq.KAIABUF/CyAHRg0AAkAgAkEBaiIQIBpODQADQCADIABBAWoiAkEDdGoiCSgCACEHIAMgAEEDdGoiBSAJKAIENgIEIAUgBzYCACAHQX9GDQEgAiEAIBBBAWoi.ECAaSA0ACwsgAyAAQQN0akF/NgIAIBtBf0YNAiAEKAIMIgAgCGogGzYCACAAIBtBAnRqIBE2AgAMAwsgAEEBaiEAIAJBAWoiAiAaRw0ACwsgASASQQJ0IgBq.KAIAIgVBAEwNACAAIAZqKAIAIQBBACECA0AgAyAAQQN0aiIJKAIAQX9GBEAgCSARNgIEIAkgDzYCAAwCCyAAQQFqIQAgAkEBaiICIAVHDQALCyATCyIRIBVJ.DQALCyAZIBY2AgAgBgRAIAYQBQsgAwRAIAMQBQsgDigCBCIARQ0AIA4gADYCCCAAEAULIA5BEGokACAZQQBHIhsEQEEAIQBBACEPAkAgBCgCBCICIAQoAgAi.EUYNACACIBFrQQJ1IgFBAEgNAiABQQFrQQN2Qfz///8BcUEEaiIBEAYhDyABRQ0AIA9BACAB/AsACwNAAkBBACEMQQAhHCACIBFGDQADQCAAIQECQCAPIAwi.AkEDdkH8////AXFqKAIAIAJ2QQFxDQADQAJAIAIiBUEBaiICIAVBAmsgAkEDcBsiAkF/Rg0AIAQoAgwgAkECdGooAgAiA0F/Rg0AIANBAWoiAiADQQJrIAJB.A3AbIgIgDEYNACACQX9GDQAgDyACQQN2Qfz///8BcWooAgAgAnZBAXFFDQELCyAFIQYCfwJAAkACQANAIA8gBkEDdkH8////AXFqIgIgAigCAEEBIAZ0cjYC.ACAEKAIAIhEgBkEBaiICIAZBAmsgAkEDcBsiDkECdGooAgAhCEF/QQIgBkEDcCIaGyEJAkAgACABRiIZDQAgACIDIQIgBiAJaiISQX9GBEADQCAIIAMoAgBG.BEAgAygCBCIQQX9HDQULIANBCGoiAyABRw0ADAILAAsDQAJAIAIoAgAgCEcNACAEKAIMIgMgEkECdGooAgAiFSACKAIEIhBGDQBBfyECQX8gEEF/Rg0HGgwG.CyACQQhqIgIgAUcNAAsLIBEgBkECdGogCUECdGooAgAhFgJAIAEgF0kEQCABIA42AgQgASAWNgIADAELIAEgAGsiCEEDdSIJQQFqIgdBgICAgAJPDQtB////./wEgFyAAayIDQQJ1IgIgByACIAdLGyADQfj///8HTxsiAkGAgICAAk8NAyACQQN0IhMQBiIHIAhqIgggDjYCBCAIIBY2AgAgACECIAggCUEDdGsiCSEDIBlF.BEADQCADIAIoAgA2AgAgAyACKAIENgIEIANBCGohAyACQQhqIgIgAUcNAAsLIAcgE2ohFyAABEAgABAFCyAJIQAgCCEBCwJAAkAgGgRAIAZBAWshAgwBCyAG.QQJqIgJBf0YNAQsgBCgCDCACQQJ0aigCACICQX9GDQAgAkF/QQIgAkEDcBtqIgYgBUYNACABQQhqIQEgBkF/Rw0BCwsgBCgCACERDAQLIAQoAgwhA0F/IRVB.fyESDAELEA4ACyADIBBBAnRqKAIAIQIgEAshASAVQX9HBEAgAyAVQQJ0akF/NgIACyACQX9HBEAgAyACQQJ0akF/NgIACyADIBJBAnRqQX82AgAgAyABQQJ0.akF/NgIAQQEhHAsgDEEBaiIMIAQoAgQiAiARa0ECdUkNAAsgHA0BCwsgAARAIAAQBQsgDwRAIA8QBQtBACEBQQAhEEEAIRJBACEVIAQgHygCDCIANgIkIARB.GGogAEG06gAQNAJAIABFDQAgAEEASA0CIABBAWtBBXYiAkEBaiISQQJ0EAYhASACQQJ0QQRqIgJFDQAgAUEAIAL8CwALIAQoAgQiAiAEKAIAIg9rIQUCQCAC.IA9GDQAgBUECdSIDQQBIDQIgA0EBa0EDdkH8////AXFBBGoiAxAGIRAgA0UNACAQQQAgA/wLAAsCQCAFQQlJBEAgACEDDAELIAAhAwJAA0ACQCAPIBVBA2wi.GkECdGoiBSgCACIJIAUoAgQiBkYNACAJIAUoAggiBUYNAEEAIRwgBSAGRg0AA0AgECAaIBxqIghBA3ZB/P///wFxaigCACAIdkEBcUUEQAJ/QQEgBCgCACAI.QQJ0aigCACIFdCIPIAEgBUEFdiIGQQJ0aigCACIXcSIWRQRAIAEhAiAADAELAkAgBCgCHCIOIAQoAiAiAkkEQCAOQX82AgAgDkEEaiECDAELIA4gBCgCGCIJ.ayIZQQJ1IgxBAWoiB0GAgICABE8NCUH/////AyACIAlrIgZBAXUiAiAHIAIgB0sbIAZB/P///wdPGyICQYCAgIAETw0GIBkgAkECdCITEAYiB2oiBkF/NgIA.IAZBBGohAiAGIAxBAnRrIgwhFyAJIgYgDkcEQANAIBcgBigCADYCACAXQQRqIRcgBkEEaiIGIA5HDQALCyAEIAcgE2o2AiAgBCACNgIcIAQgDDYCGCAJRQ0A.IAkQBQsgBCACNgIcAkAgBCgCNCIOIAQoAjgiAkkEQCAOIAU2AgAgDkEEaiEFDAELIA4gBCgCMCIJayIZQQJ1IgxBAWoiB0GAgICABE8NCUH/////AyACIAlr.IgZBAXUiAiAHIAIgB0sbIAZB/P///wdPGyICQYCAgIAETw0GIBkgAkECdCITEAYiB2oiAiAFNgIAIAJBBGohBSACIAxBAnRrIgwhBiAJIgIgDkcEQANAIAYg.AigCADYCACAGQQRqIQYgAkEEaiICIA5HDQALCyAEIAcgE2o2AjggBCAFNgI0IAQgDDYCMCAJRQ0AIAkQBQsgBCAFNgI0AkAgEkEFdCADRwRAIAEhAgwBCyAD.Qf////8HTw0JQf////8HIQUgA0H+////A00EQCADIBJBBnQiBSADQeD///8DcUEgaiICIAIgBUkbIgVPBEAgASECDAILIAVBAEgNCgsgBUEBa0EFdkEBaiIS.QQJ0EAYhAiADQQFrQQN2Qfz///8BcUEEakEAIAMbIgUEQCACIAEgBfwKAAALIAEQBQsgAiADQQN2Qfz///8BcWoiASABKAIAQX4gA3dxNgIAQQEgAHQhDyAD.QQFqIQMgAiAAQQV2IgZBAnRqKAIAIRcgACIFQQFqCyACIAZBAnRqIA8gF3I2AgAgCCEAAkACQAJAA0AgAEF/Rg0BIBAgAEEDdkH8////AXFqIgEgASgCAEEB.IAB0cjYCACAEKAIYIAVBAnRqIAA2AgAgFgRAIAQoAgAgAEECdGogBTYCAAsgCAJ/QX8gAEEBaiIBIABBAmsgAUEDcBsiAEF/Rg0AGkF/IAQoAgwgAEECdGoo.AgAiAUF/Rg0AGiABQQFqIgAgAUECayAAQQNwGwsiAEcNAAsgCEF/Rw0CQQEhAAwBCyAIQQNwBEAgCEEBayEADAELIAhBAmoiAEF/Rg0BCyAEKAIMIABBAnRq.KAIAIgBBf0YNAAJAIABBA3AEQCAAQQFrIQAMAQsgAEECaiIAQX9GDQELA0AgECAAQQN2Qfz///8BcWoiASABKAIAQQEgAHRyNgIAIBYEQCAEKAIAIABBAnRq.IAU2AgALAkAgAEEDcARAIABBAWshAAwBCyAAQQJqIgBBf0YNAgsgBCgCDCAAQQJ0aigCACIAQX9GDQEgAEF/QQIgAEEDcBtqIgBBf0cNAAsLIAIhASEACyAc.QQFqIhxBA0cNAAsgBCgCACEPIAQoAgQhAgsgFUEBaiIVIAIgD2tBAnVBA25JDQALDAELEA4AC0EAIQIgBEEANgIsIANBA3ZB/P///wFxIgAgA0EfcSIJcgRA.IAAgAWohBiABIQVBACEAA0AgBSgCACAAdkEBcUUEQCAEIAJBAWoiAjYCLAtBACAAQQFqIABBH0YiAxshACAFQQRBACADG2oiBSAGRw0AIAAgCUcNAAsLIBAE.QCAQEAULIAEEQCABEAULCyAfQRBqJAACQCAbBEAgBCEeDAELICFBADYCDCAEECoLICFBEGokACAeDAELEAcACyEAIBQoAgQiAUUNACAUIAE2AgggARAFCyAU.QRBqJAAgAAwBCxAHAAshASALKAIEIQAgCyABNgIEIApBBGohBCAABEAgABAqIAsoAgQhAQsCQCABRQ0AIBgoAmAhAiAYKAJkIQAgDUEAOgAQIAtBOGogACAC.a0EMbSANQRBqEBogGCgCZCIAIBgoAmAiAkYNACALQSxqIR5BACEGA0AgCygCOCAGQQN2Qfz///8BcWooAgAgBnZBAXFFBEAgDSAGQQNsIgg2AhAgC0EAIA1B.EGoiAxB5IAsoAgghCSALKAIMIQUgDSAIQQFqNgIQIAtBASADEHkgCygCFCECIAsoAhghACANIAhBAmo2AhAgC0ECIAMQeUECQQFBf0EAIAUgCUYbIAAgAmtB.AnUiAyAFIAlrQQJ1IgJLIgAbIAsoAiQgCygCIGtBAnUgAyACIAAbSxshCAJAIAsoAkRBAEwNACANIAsoAkwiAjYCCCANIAooAggiAzYCDCAKKAIMIQAgDSAE.NgIYIA0gDUEIajYCFCANIA1BDGo2AhAgCgJ/IAAgA0sEQCADIAI2AgAgA0EEagwBCyANQRBqEBwgDSgCDAsiAzYCCCANIB4gCEECdGooAgAiAkEASAR/QX8F.IAsoAgAoAmAgAkEDbiIAQQxsaiACIABBA2xrQQJ0aigCAAsiAjYCCCANIAM2AgwgCigCDCEAIA0gBDYCGCANIA1BCGo2AhQgDSANQQxqNgIQIAoCfyAAIANL.BEAgAyACNgIAIANBBGoMAQsgDUEQahAcIA0oAgwLIgM2AgggCyALKAJIIgBBAmo2AkggAEEBcUUNACANIAI2AgggDSADNgIMIAooAgwhACANIAQ2AhggDSAN.QQhqNgIUIA0gDUEMajYCECAKAn8gACADSwRAIAMgAjYCACADQQRqDAELIA1BEGoQHCANKAIMCzYCCCALIAsoAkhBAWo2AkgLQQAhBSMAQSBrIgckACALIAso.AkRBAWo2AkQgCyAIQQxsaiIAKAIMIAAoAghrQQJ1IglBAEoEQCALIAhBAnRqKAIsIQADQCALKAI4QX8gAEEDbiIMIABBf0YbIgNBA3ZB/P///wFxaiICIAIo.AgBBASADdHI2AgAgCyALKAJIQQFqNgJIAn8CQAJAIAVFBEAgByAAQQBIBH9BfwUgCygCACgCYCAMQQxsaiAAQQNwQQJ0aigCAAsiAzYCCCAHIAooAggiCDYC.DCAKKAIMIQIgByAENgIYIAcgB0EIajYCFCAHIAdBDGo2AhAgCgJ/IAIgCEsEQCAIIAM2AgAgCEEEagwBCyAHQRBqEBwgBygCDAsiCDYCCEF/IQwCQCAAQX9G.DQAgAEEBaiICIABBAmsgAkEDcBsiA0EASA0AIAsoAgAoAmAgA0EDbiICQQxsaiADIAJBA2xrQQJ0aigCACEMCyAHIAw2AgggByAINgIMIAooAgwhAiAHIAQ2.AhggByAHQQhqNgIUIAcgB0EMajYCECAKAn8gAiAISwRAIAggDDYCACAIQQRqDAELIAdBEGoQHCAHKAIMCyIINgIIIAsCf0F/IABBf0YNABpBf0F/QQIgAEED.cBsgAGoiA0EASA0AGiALKAIAKAJgIANBA24iAkEMbGogAyACQQNsa0ECdGooAgALIgM2AkwgByADNgIIIAcgCDYCDCAKKAIMIAcgBDYCGCAHIAdBCGo2AhQg.ByAHQQxqNgIQIAhLBEAgCCADNgIAIAogCEEEajYCCAwCCyAHQRBqEBwgCiAHKAIMNgIIDAELIAsgAEEASAR/QX8FIAsoAgAoAmAgDEEMbGogAEEDcEECdGoo.AgALIgM2AkwgByADNgIIIAcgCigCCCIINgIMIAooAgwhAiAHIAQ2AhggByAHQQhqNgIUIAcgB0EMajYCECAKAn8gAiAISwRAIAggAzYCACAIQQRqDAELIAdB.EGoQHCAHKAIMCzYCCCAFQQFxBEBBfyAAQX9GDQMaIAxBA2wgAEcEQCAAQQFrIQAMAwsgAEECaiEADAELQX8gAEF/Rg0CGiAAQQFqIgIgAEECayACQQNwGyEA.C0F/IABBf0YNARoLIAsoAgQoAgwgAEECdGooAgALIQAgBUEBaiIFIAlHDQALCyAHQSBqJAAgGCgCYCECIBgoAmQhAAsgBkEBaiIGIAAgAmtBDG1JDQALCyAN.QSBqJAACQCABBEAgHSgCACIABEAgHSAANgIEIAAQBQsgHSAKKAIENgIAIB0gCigCCDYCBCAdIAooAgw2AgggCigCVCEgDAELIAooAgQiAEUNACAKIAA2Aggg.ABAFCyAKKAJIIgAEQCAAEAULIAooAjAiAARAIAogADYCNCAAEAULIAooAiQiAARAIAogADYCKCAAEAULIAooAhgiAARAIAogADYCHCAAEAULIAooAhQhACAK.QQA2AhQgAARAIAAQKgsgCkHgAGokACAgC1oAIAEoAmAhAUEMEAYiACABIAJBDGxqIgEoAgg2AgggACABKQIANwIAIAMoAgAiAQRAIAMgATYCBCABEAULIAMg.ADYCACADIABBDGoiADYCCCADIAA2AgRBAQtqAQF/An9BACABKAIEIgNFDQAaQQAgASgCCCACQQJ0aigCACgCPCIBQQBIDQAaQQAgAygCGCIAIAMoAhwiAkYN.ABoCQANAIAAoAgAiAygCGCABRg0BIABBBGoiACACRw0AC0EADAELIAMLCwcAIAEoAgQLaAECfwJ/QQAgASgCDCIAIAEoAggiAUYNABpBASAAIAFrQQJ1IgAg.AEEBTRshA0EAIQACQANAIAEgAEECdGooAgAiBCgCPCACRg0BIABBAWoiACADRw0AC0EADAELIARBACAAQX9HGwsLEAAgASgCCCACQQJ0aigCAAvWAgEDfwJ/.IwBBIGsiACQAAkAgAhAZIgRB9////wdPDQACQCAEQQpNBEAgACAEOgAfIABBFGohBQwBCyAEQfj///8HcSIGQQhqEAYhBSAAIAZB+P///wdrNgIcIAAgBDYC.GCAAIAU2AhQLIAQEQCAFIAIgBPwKAAALIAQgBWpBADoAACADEBkiAkH3////B08NAAJAIAJBCk0EQCAAIAI6ABMgAEEIaiEFDAELIAJB+P///wdxIgRBCGoQ.BiEFIAAgBEH4////B2s2AhAgACACNgIMIAAgBTYCCAsgAgRAIAUgAyAC/AoAAAsgAiAFakEAOgAAAn9BfyABKAIEIgJFDQAaQX8gAiAAQRRqIABBCGoQyQEi.AkUNABogASACKAIYEMYBCyAALAATQQBIBEAgACgCCBAFCyAALAAfQQBIBEAgACgCFBAFCyAAQSBqJAAMAQsQKQALC/wBAQN/An8jAEEgayIAJAAgAhAZIgNB.9////wdJBEACQCADQQpNBEAgACADOgAfIABBFGohBAwBCyADQfj///8HcSIFQQhqEAYhBCAAIAVB+P///wdrNgIcIAAgAzYCGCAAIAQ2AhQLIAMEQCAEIAIg.A/wKAAALIAMgBGpBADoAACAAQQA6AAwgAEHuwrWrBjYCCCAAQQQ6ABMCf0F/IAEoAgQiAkUNABpBfyACIABBCGogAEEUahDJASICRQ0AGiABIAIoAhgQxgEL.IAAsABNBAEgEQCAAKAIIEAULIAAsAB9BAEgEQCAAKAIUEAULIABBIGokAAwBCxApAAsLCQAgASACEMcBC/oBAQJ/IwBBQGoiBCQAIARBCGoiBUEAOwEmIAVB.ADYCACAFQgA3AwggBUIANwMQIAVCADcDGCAFQgA3AB0gBUIANwMQIAUgATYCACAFIAKtNwMIIARBMGogACAFIAMQ8QEgACAEKAIwNgIYIABBHGohASAAQRhq.IARBNGohAiAELAA/IQMCQAJAAkAgACwAJ0EASARAIAEgBCgCNCACIANBAEgiABsgBCgCOCADIAAbEFUMAQsgA0EATg0BIAEgBCgCNCAEKAI4EFQLIAQsAD9B.AE4NASAEKAI0EAUMAQsgASACKAIINgIIIAEgAikCADcCAAsgBEFAayQAC/oBAQJ/IwBBQGoiBCQAIARBCGoiBUEAOwEmIAVBADYCACAFQgA3AwggBUIANwMQ.IAVCADcDGCAFQgA3AB0gBUIANwMQIAUgATYCACAFIAKtNwMIIARBMGogACAFIAMQ8gEgACAEKAIwNgIYIABBHGohASAAQRhqIARBNGohAiAELAA/IQMCQAJA.AkAgACwAJ0EASARAIAEgBCgCNCACIANBAEgiABsgBCgCOCADIAAbEFUMAQsgA0EATg0BIAEgBCgCNCAEKAI4EFQLIAQsAD9BAE4NASAEKAI0EAUMAQsgASAC.KAIINgIIIAEgAikCADcCAAsgBEFAayQACzoBAX9BKBAGIgBCADcCECAAQgA3AgQgAEIANwIYIABCADcCICAAIABBBGo2AgAgACAAQRBqNgIMIAALcgEDfyAA.BEAgACwAG0EASARAIAAoAhAQBQsgACgCACICBEAgAiIBIAAoAgQiA0cEQANAIANBDGshASADQQFrLAAAQQBIBEAgASgCABAFCyABIgMgAkcNAAsgACgCACEB.CyAAIAI2AgQgARAFCyAAEAULC8AEAQd/IAIhBwJAIAEiBCAAIgIoAgxGDQAgAigCACIDIAIoAgQiAEcEQANAIABBDGshASAAQQFrLAAAQQBIBEAgASgCABAF.CyABIgAgA0cNAAsLIAIgBDYCDCACIAM2AgQgBCgCACIBIARBBGoiCUYNAANAIAICfyACKAIIIANLBEAgASwAG0EATgRAIAMgASgCGDYCCCADIAEpAhA3AgAg.A0EMagwCCyADIAEoAhAgASgCFBANIANBDGoMAQsCf0EAIQgCQCACKAIEIAIoAgAiAGsiA0EMbUEBaiIEQdaq1aoBSQRAQdWq1aoBIAIoAgggAGtBDG0iBUEB.dCIGIAQgBCAGSRsgBUGq1arVAE8bIgUEQCAFQdaq1aoBTw0CIAVBDGwQBiEICyADIAhqIQQCQCABLAAbQQBOBEAgBCABKAIYNgIIIAQgASkCEDcCAAwBCyAE.IAEoAhAgASgCFBANIAIoAgQgAigCACIAayEDCyAEIANBdG1BDGxqIQYgAwRAIAYgACAD/AoAAAsgAiAFQQxsIAhqNgIIIAIgBEEMaiIENgIEIAIgBjYCACAA.BEAgABAFCyAEDAILEAcACxAOAAsLIgM2AgQCQCABKAIEIgAEQANAIAAiASgCACIADQAMAgsACwNAIAEgASgCCCIBKAIARw0ACwsgASAJRw0ACwtBACEBAkAg.B0EASA0AIAcgAigCBCACKAIAIgBrQQxtTw0AIAAgB0EMbGoiACgCACAAIAAsAAtBAEgbIQELIAELBwAgASgCCAvMAQEEfwJ/IwBBEGsiAyQAIAIQGSIEQff/.//8HSQRAAkAgBEEKTQRAIAMgBDoADyADQQRqIQUMAQsgBEH4////B3EiBkEIahAGIQUgAyAGQfj///8HazYCDCADIAQ2AgggAyAFNgIECyAEBEAgBSACIAT8.CgAAC0EAIQIgBCAFakEAOgAAIAEgA0EEaiAAQRBqIgEQyAEEQCAAKAIQIAEgACwAG0EASBshAgsgAywAD0EASARAIAMoAgQQBQsgA0EQaiQAIAIMAQsQKQAL.C4wDAgd/AXwCfCMAQSBrIgAkACAAQgA3AxggAhAZIgNB9////wdJBEACQCADQQpNBEAgACADOgAXIABBDGohBAwBCyADQfj///8HcSIGQQhqEAYhBCAAIAZB.+P///wdrNgIUIAAgAzYCECAAIAQ2AgwLIAMEQCAEIAIgA/wKAAALIAMgBGpBADoAACAAQQxqIQMCQCABKAIEIgJFDQAgAUEEaiEGIAMoAgAgAyADLAALIgFB.AEgiBRshBCADKAIEIAEgBRshAQJAA0AgBCACKAIQIAJBEGogAiwAGyIDQQBIIgUbIgcgAigCFCADIAUbIgMgASABIANLIgUbIggQEyIJQQBIIAEgA0kgCRtB.AUYEQCACKAIAIgINAQwDCyAHIAQgCBATIgNBAEggBSADG0EBRw0BIAIoAgQiAg0ACwwBCwJAIAIgBkYNACACKAIgIAIoAhwiAWtBCEcNACAAIAEpAAA3AxgL.CyAAKwMYIAAsABdBAEgEQCAAKAIMEAULIABBIGokAAwBCxApAAsL/gMBCH8CQCMAQSBrIgAkACACEBkiBEH3////B0kEQAJAIARBCk0EQCAAIAQ6AB8gAEEU.aiEFDAELIARB+P///wdxIgdBCGoQBiEFIAAgB0H4////B2s2AhwgACAENgIYIAAgBTYCFAsgBARAIAUgAiAE/AoAAAsgBCAFakEAOgAAIABBADYCECAAQgA3.AgggAEEUaiEEIABBCGohBQJAIAEoAgQiAkUNACABQQRqIQggBCgCACAEIAQsAAsiAUEASCIGGyEHIAQoAgQgASAGGyEBAkADQCAHIAIoAhAgAkEQaiACLAAb.IgRBAEgiBhsiCSACKAIUIAQgBhsiBCABIAEgBEsiBhsiChATIgtBAEggASAESSALG0EBRgRAIAIoAgAiAg0BDAMLIAkgByAKEBMiBEEASCAGIAQbQQFHDQEg.AigCBCICDQALDAELIAIgCEYNACACKAIcIgEgAigCICIERg0AIAQgAWsiAUEDcQ0AIAUgAUECdhAMIAUoAgAiASAFKAIERwRAIAIoAiAgAigCHCICayIEBEAg.ASACIAT8CgAACwwBCxAVAAsgAygCACIBBEAgAyABNgIEIAEQBQsgAyAAKAIINgIAIAMgACgCDDYCBCADIAAoAhA2AgggACwAH0EASARAIAAoAhQQBQsgAEEg.aiQADAELECkACwuAAwEHfwJ/IwBBEGsiAyQAIANBADYCDCACEBkiBUH3////B0kEQAJAIAVBCk0EQCADIAU6AAsgAyEADAELIAVB+P///wdxIgZBCGoQBiEA.IAMgBkH4////B2s2AgggAyAFNgIEIAMgADYCAAsgBQRAIAAgAiAF/AoAAAsgACAFakEAOgAAAkAgASgCBCIERQ0AIAFBBGohBSADKAIAIAMgAywACyIBQQBI.IgAbIQggAygCBCABIAAbIQcCQANAIAggBCgCECAEQRBqIAQsABsiAUEASCIAGyIGIAQoAhQgASAAGyIJIAcgByAJSyICGyIBEBMiAEEASCAHIAlJIAAbQQFG.BEAgBCgCACIEDQEMAwsgBiAIIAEQEyIAQQBIIAIgABtBAUcNASAEKAIEIgQNAAsMAQsCQCAEIAVGDQAgBCgCICAEKAIcIgBrQQRHDQAgAyAAKAAANgIMCwsg.AygCDCADLAALQQBIBEAgAygCABAFCyADQRBqJAAMAQsQKQALC8cCAQd/An8jAEEQayIAJAAgAhAZIgNB9////wdJBEACQCADQQpNBEAgACADOgAPIABBBGoh.BAwBCyADQfj///8HcSIFQQhqEAYhBCAAIAVB+P///wdrNgIMIAAgAzYCCCAAIAQ2AgQLIAMEQCAEIAIgA/wKAAALIAMgBGpBADoAACAALAAPIQICf0EAIAEo.AgQiAUUNABogACgCCCACIAJBAEgiBBshAyAAKAIEIABBBGogBBshBANAIAQgASgCECABQRBqIAEsABsiBUEASCIGGyIHIAEoAhQgBSAGGyIFIAMgAyAFSyIG.GyIIEBMiCUEASCADIAVJIAkbBH8gAQVBASAHIAQgCBATIgVBAEggBiAFG0EBRw0CGiABQQRqCygCACIBDQALQQALIAJBAEgEQCAAKAIEEAULIABBEGokAAwB.CxApAAsLJgEBf0EcEAYiAEEANgIYIABCADcCECAAQgA3AgggAEIANwIAIAALEAAgACgCACABQQF0ai8BAAsQACAAKAIAIAFBAXRqLgEACw0AIAAoAgAgAWot.AAALDQAgACgCACABaiwAAAsQACAAKAIAIAFBAnRqKgIACx0AIAAEQCAALAAPQQBIBEAgACgCBBAFCyAAEAULCxUAIAAoAgQgAEEEaiAALAAPQQBIGwsIACAA.KAIARQtOAQJ/IwBBEGsiASQAIAAEQCAAKAIQIQIgASAAQQxqNgIMIAFBDGogAhAeIAAoAgQhAiABIAA2AgggAUEIaiACECEgABAFCyABQRBqJAALLAEBf0EY.EAYiAEIANwIQIABCADcCBCAAIABBBGo2AgAgACAAQRBqNgIMIAALEAAgACgCZCAAKAJga0EMbQs/AQF/QewAEAYiAEH86gA2AgAgAEEEakEAQdAA/AsAIABC.ADcCVCAAQcDqADYCACAAQgA3AlwgAEIANwJkIAALEgAgACACNgIgIAAgATYCHEEBCyEBAX9B1AAQBiIAQfzqADYCACAAQQRqQQBB0AD8CwAgAAsZAQF/QQgQ.BiIAQX82AgQgAEGICDYCACAACwcAIAAqAhQLEAAgACgCCCABQQJ0aioCAAsnAQF/QRgQBiIAQgA3AgggAEF/NgIEIABB3A42AgAgAEIANwIQIAALBwAgACgC.PAsHACAAKAIwCwcAIAAoAigLBwAgAC0AIAsHACAALAAYCwcAIAAoAjgLBwAgACgCWAspAQF/QeAAEAYQQyIAQgA3A0AgAEEANgJYIABCADcDSCAAQgA3AE0g.AAsJAEHAABAGEEMLIgEBfyAABEAgACgCCCIBBEAgACABNgIMIAEQBQsgABAFCwsyAQJ/QSgQBiIBQX82AgAgAUEIaiIAQgA3AxAgAEEANgIIIABCADcDACAA.QgA3AxggAQsYACAAQgA3AxAgACABNgIAIAAgAq03AwgLNAEBf0EoEAYiAEEAOwEmIABBADYCACAAQgA3AwggAEIANwMQIABCADcDGCAAQgA3AB0gAAsGACAA.EFYLyAEBAn9ByAAQBiICQgA3AgQgAkH0DzYCACACQgA3AgwgAkIANwIUIAJCADcCHCACQgA3AiQgAkGEETYCACACQgA3AiwgAkIANwI0IAJCADcCPCACQQA2.AkQgAiEDAkACQCABQQBIBEAgAiEADAELIAAoAgwgACgCCCICa0ECdSABTAR/IABBCGogAUEBahBSIAAoAggFIAILIAFBAnRqIgIoAgAhACACIAM2AgAgAEUN.AQsgACAAKAIAKAIEEQIACyABQX9zQR92C0YBA38gACgCCCIBIAAoAgwiA0YEQEEBDwsDQCABKAIAIgIgACgCICACKAIAKAIQEQEAIgIEQCABQQRqIgEgA0cN.AQsLIAILnQUCDn8BfiAAKAIgIgIpAwggAikDECIPVwRAQQAPCyACKAIAIA+nai0AACEFIAIgD0IBfDcDEAJAIAVFDQADQCAAIAMgACgCACgCEBEBAARAIAUg.A0EBaiIDRw0BDAILC0EADwsCQCAAKAIIIgMgACgCDCICRwRAA0AgAygCACIBIAAgACgCBCABKAIAKAIIEQMARQ0CIANBBGoiAyACRw0ACwsgBQRAQQAhAwNA.IAAoAgggA0ECdGooAgAiAiAAKAIgIAIoAgAoAgwRAQBFDQIgA0EBaiIDIAVHDQALA0BBACEDAkAgCEECdCILIAAoAghqKAIAIgIgAigCACgCGBEAACIMQQBM.DQACQANAAkACQAJAIAAoAgggC2ooAgAiAiADIAIoAgAoAhQRAQAiCiAAKAIYIgQgACgCFCICayIJQQJ1IgZJDQAgBiAKQQFqIgFJBEAgACgCHCACayIHQQJ1.IAFPBEAgASAGa0ECdCIBBEAgBEEAIAH8CwALIAAgASAEajYCGAwCCyABQYCAgIAETw0DQf////8DIAdBAXUiBCABIAEgBEkbIAdB/P///wdPGyIEQYCAgIAE.Tw0FIARBAnQiDRAGIg4gCWohBCABIAZrQQJ0IgcEQCAEQQAgB/wLAAsgBCAGQQJ0ayEBIAkEQCABIAIgCfwKAAALIAAgDSAOajYCHCAAIAQgB2o2AhggACAB.NgIUIAJFDQIgAhAFIAAoAhQhAQwCCyABIAZPDQAgACACIAFBAnRqNgIYCyACIQELIAEgCkECdGogCDYCACAMIANBAWoiA0cNAQwDCwsQBwALEA4ACyAIQQFq.IgggBUcNAAsLIAAgACgCACgCHBEAAEUEQEEADwsgACAAKAIAKAIgEQAADwtBAAt2AQR/AkACQCAAKAIIIgFBAEgNACAAKAIEIAEQ2wEgACgCCCICQQBMDQAg.ACgCBCIAKAIEIAAoAgAiA2tBAnUhBEEAIQADQCAAIARGDQIgAyAAQQJ0aiAANgIAIABBAWoiACACRw0ACwsgAUF/c0Efdg8LEBUACxUAIAFBAToAVCABIAEo.AkQ2AkhBAQuZEAIOfwR+IwBBMGsiASQAIAAoAiAhAwJAAkAgAC8BJCIGQQh0IAZBCHZyQf//A3FBgQRNBEAgAykDCCIQIAMpAxAiD0IEfCIRUw0CIAEgAygC.ACIGIA+naigAACIINgIYIAMgETcDECAQIA9CCHwiD1MNAiABIAYgEadqKAAANgIUIAMgDzcDEAwBC0EBIAFBGGogAxBCRQ0BQQEgAUEUaiAAKAIgEEJFDQEg.ASgCGCEICyAIQdWq1aoFSw0AIAAoAiAiAykDCCIRIAMpAxAiD31CA38gDyARWQ0AIAitVA0AIAMoAgAgD6dqLQAAIQIgAyAPQgF8NwMQIAEoAhQhBgJAAkAg.AkUEQAJ/IwBBIGsiAiQAIAhBA2whAwJAAkAgCEUNACADQYCAgIAETw0BIAhBDGwiBBAGIQcgBEUNACAHQQAgBPwLAAsCQAJAAkAgA0EBIAAoAiAgBxCXASIL.RQ0AIAhFDQBBACEDA0ACQCAHIAxBAnRqIgkoAgAiBUEBdiEEAkAgBUEBcQRAIAMgBEgNAkEAIARrIQQMAQsgBCADQf////8Hc0sNAQsgAyAEaiIEQQBIDQAg.BCAGTw0AIAIgBDYCACAJKAIEIgVBAXYhAwJAIAVBAXEEQCADIARLDQJBACADayEDDAELIAMgBEH/////B3NLDQELIAMgBGoiBUEASA0AIAUgBk8NACACIAU2.AgQgCSgCCCIJQQF2IQMCQCAJQQFxBEAgAyAFSw0CQQAgA2shAwwBCyADIAVB/////wdzSw0BCyADIAVqIgNBAEgNACADIAZPDQAgAiADNgIIIAIgACgCLCIJ.KAJkIgU2AgwgCSgCaCENIAIgCUHgAGo2AhggAiACNgIUIAIgAkEMajYCECAMQQNqIQwgCQJ/IAUgDUkEQCAFIAQ2AgAgBSACKAIENgIEIAUgAigCCDYCCCAF.QQxqDAELIAJBEGoQFCACKAIMCzYCZCAOQQFqIg4gCEcNAQwDCwtBACELDAELIAdFDQELIAcQBQsgAkEgaiQAIAsMAQsQBwALDQEMAwsgBkH/AU0EQCAIRQ0B.QQAhAwNAAkAgAUEANgIQIAFCADcDCCAAKAIgIgIpAwgiESACKQMQIg9XDQAgAigCACIEIA+nai0AACEHIAIgD0IBfCIQNwMQIAYgB00NACABIAc2AgggECAR.WQ0AIAQgEKdqLQAAIQUgAiAPQgJ8IhA3AxAgBSAGTw0AIAEgBTYCDCAQIBFZDQAgBCAQp2otAAAhBCACIA9CA3w3AxAgBCAGTw0AIAEgBDYCECABIAAoAiwi.BCgCZCICNgIcIAQoAmghBSABIARB4ABqNgIoIAEgAUEIajYCJCABIAFBHGo2AiAgBAJ/IAIgBUkEQCACIAc2AgAgAiABKAIMNgIEIAIgASgCEDYCCCACQQxq.DAELIAFBIGoQFCABKAIcCzYCZCADQQFqIgMgCEcNAQwDCwsMAwsgBkH//wNNBEAgCEUNAUEAIQMDQAJAIAFBADYCECABQgA3AwggACgCICICKQMIIhEgAikD.ECIPQgJ8IhBTDQAgAigCACIEIA+nai8AACEHIAIgEDcDECAGIAdNDQAgASAHNgIIIBEgD0IEfCISUw0AIAQgEKdqLwAAIQUgAiASNwMQIAUgBk8NACABIAU2.AgwgESAPQgZ8Ig9TDQAgBCASp2ovAAAhBCACIA83AxAgBCAGTw0AIAEgBDYCECABIAAoAiwiBCgCZCICNgIcIAQoAmghBSABIARB4ABqNgIoIAEgAUEIajYC.JCABIAFBHGo2AiAgBAJ/IAIgBUkEQCACIAc2AgAgAiABKAIMNgIEIAIgASgCEDYCCCACQQxqDAELIAFBIGoQFCABKAIcCzYCZCADQQFqIgMgCEcNAQwDCwsM.AwsCQCAGQf///wBLDQAgAC8BJCIDQQh0IANBCHZyQf//A3FBggRJDQAgCEUNAQNAAkAgAUEANgIQIAFCADcDCEEBIAFBIGoiAyAAKAIgEEJFDQAgASgCICIC.IAZPDQAgASACNgIIQQEgAyAAKAIgEEJFDQAgASgCICICIAZPDQAgASACNgIMQQEgAyAAKAIgEEJFDQAgASgCICIDIAZPDQAgASADNgIQIAEgACgCLCICKAJk.IgM2AhwgAigCaCEEIAEgAkHgAGo2AiggASABQQhqNgIkIAEgAUEcajYCICACAn8gAyAESQRAIAMgASgCCDYCACADIAEoAgw2AgQgAyABKAIQNgIIIANBDGoM.AQsgAUEgahAUIAEoAhwLNgJkIAdBAWoiByAIRw0BDAMLCwwDCyAIRQ0AQQAhAwNAIAFBADYCECABQgA3AwggACgCICICKQMIIhEgAikDECIPQgR8IhBTDQIg.AigCACIEIA+naigAACEHIAIgEDcDECAGIAdNDQIgASAHNgIIIBEgD0IIfCISUw0CIAQgEKdqKAAAIQUgAiASNwMQIAUgBk8NAiABIAU2AgwgESAPQgx8Ig9T.DQIgBCASp2ooAAAhBCACIA83AxAgBCAGTw0CIAEgBDYCECABIAAoAiwiBCgCZCICNgIcIAQoAmghBSABIARB4ABqNgIoIAEgAUEIajYCJCABIAFBHGo2AiAg.BAJ/IAIgBUkEQCACIAc2AgAgAiABKAIMNgIEIAIgASgCEDYCCCACQQxqDAELIAFBIGoQFCABKAIcCzYCZCADQQFqIgMgCEcNAAsLIAAoAgQgBjYCUEEBIQoM.AQsLIAFBMGokACAKC/wCAQh/IwBBEGsiBSQAAkACQCAAKAIMIgEoAjggASgCNGsiASAAKAIEIgYoAgggBigCACIDa00NACABQQBIDQEgBigCBCEHIAEQBiIC.IAFqIQggAyAHRwRAIAMhASACIQQDQCAEIAEoAgA2AgAgBEEEaiEEIAFBBGoiASAHRw0ACwsgBiAINgIIIAYgAiAHIANrajYCBCAGIAI2AgAgA0UNACADEAUL.IABBCGohAwJAIAAoAkwiAQRAIAEoAgAiAiABKAIERgRAQQEhBAwCC0EAIQEDQCAFIAIgAUECdGooAgA2AgggAyAFQQhqEN0BIgRFDQIgAUEBaiIBIAAoAkwi.AigCBCACKAIAIgJrQQJ1SQ0ACwwBCyAAKAIMKAJAIgAoAgQgACgCAGtBAnUiAEEDbiECIABBA0kEQEEBIQQMAQtBACEBA0AgBSABQQNsNgIMIAMgBUEMahDd.ASIERQ0BIAFBAWoiASACRw0ACwsgBUEQaiQAIAQPCxAHAAu/AgEMfyAAKAIMIAAoAkQoAlAhAiABQQA6AFQgAUHEAGogAkHU4AAQNCAAKAJEIgIoAmQiAyAC.KAJgIgpGBEBBAQ8LIAIoAlAhAkEBIAMgCmtBDG0iAyADQQFNGyEMKAIcIQ0DQAJAQQAhBiANIAhBDGwiBGoiAygCACIHQX9GDQAgBCAKaiIEKAIAIgUgAk8N.ACAAKAJIKAIMIgsgB0ECdGooAgAiCSACTw0AIAEoAkQiByAFQQJ0aiAJNgIAIAMoAgQiBUF/Rg0AIAQoAgQiCSACTw0AIAsgBUECdGooAgAiBSACTw0AIAcg.CUECdGogBTYCACADKAIIIgNBf0YNACAEKAIIIgQgAk8NACALIANBAnRqKAIAIgMgAk8NACAHIARBAnRqIAM2AgBBASEGIAhBAWoiCCAMRw0BCwsgBgsHAgV/.AX4AC1QBAX8gAEHc3AA2AgggAEGI5QA2AgAgACgCOCIBBEAgACABNgI8IAEQBQsgAEHc3gA2AgggACgCLCIBBEAgARAFCyAAKAIgIgEEQCABEAULIAAQBQtS.AQF/IABB3NwANgIIIABBiOUANgIAIAAoAjgiAQRAIAAgATYCPCABEAULIABB3N4ANgIIIAAoAiwiAQRAIAEQBQsgACgCICIBBEAgARAFCyAAC0sBAX8gAEGI.5AA2AgAgACgCMCIBBEAgACABNgI0IAEQBQsgAEHQ4gA2AgAgACgCJCIBBEAgARAFCyAAKAIYIgEEQCABEAULIAAQBQv5AgEIfyMAQRBrIgUkAAJAAkAgACgC.DCIBKAIcIAEoAhhrIgEgACgCBCIGKAIIIAYoAgAiA2tNDQAgAUEASA0BIAYoAgQhByABEAYiAiABaiEIIAMgB0cEQCADIQEgAiEEA0AgBCABKAIANgIAIARB.BGohBCABQQRqIgEgB0cNAAsLIAYgCDYCCCAGIAIgByADa2o2AgQgBiACNgIAIANFDQAgAxAFCyAAQQhqIQMCQCAAKAJMIgEEQCABKAIAIgIgASgCBEYEQEEB.IQQMAgtBACEBA0AgBSACIAFBAnRqKAIANgIIIAMgBUEIahDeASIERQ0CIAFBAWoiASAAKAJMIgIoAgQgAigCACICa0ECdUkNAAsMAQsgACgCDCIAKAIEIAAo.AgBrQQJ1IgBBA24hAiAAQQNJBEBBASEEDAELQQAhAQNAIAUgAUEDbDYCDCADIAVBDGoQ3gEiBEUNASABQQFqIgEgAkcNAAsLIAVBEGokACAEDwsQBwALygIB.DH8gACgCDCEMIAAoAkQoAlAhAiABQQA6AFQgAUHEAGogAkHU4AAQNCAAKAJEIgIoAmQiBCACKAJgIgpGBEBBAQ8LIAIoAlAhAkEBIAQgCmtBDG0iBCAEQQFN.GyENA0ACQEEAIQQgBkHVqtWqBUYNACAGQQxsIgMgDCgCAGoiBSgCACIHQX9GDQAgAyAKaiIIKAIAIgMgAk8NACAAKAJIKAIMIgsgB0ECdGooAgAiCSACTw0A.IAEoAkQiByADQQJ0aiAJNgIAIAUoAgQiA0F/Rg0AIAgoAgQiCSACTw0AIAsgA0ECdGooAgAiAyACTw0AIAcgCUECdGogAzYCACAFKAIIIgVBf0YNACAIKAII.IgggAk8NACALIAVBAnRqKAIAIgUgAk8NACAHIAhBAnRqIAU2AgBBASEEIAZBAWoiBiANRw0BCwsgBAtUAQF/IABBiOQANgIIIABB5OIANgIAIAAoAjgiAQRA.IAAgATYCPCABEAULIABB0OIANgIIIAAoAiwiAQRAIAEQBQsgACgCICIBBEAgARAFCyAAEAULUgEBfyAAQYjkADYCCCAAQeTiADYCACAAKAI4IgEEQCAAIAE2.AjwgARAFCyAAQdDiADYCCCAAKAIsIgEEQCABEAULIAAoAiAiAQRAIAEQBQsgAAtJAQF/IABBiOQANgIAIAAoAjAiAQRAIAAgATYCNCABEAULIABB0OIANgIA.IAAoAiQiAQRAIAEQBQsgACgCGCIBBEAgARAFCyAACy0BAX8gAEHQ4gA2AgAgACgCJCIBBEAgARAFCyAAKAIYIgEEQCABEAULIAAQBQuUAQEDfyMAQUBqIgMk.ACAAIAEgACgCACgCLBEBACEEIAAgASAAKAIAKAIoEQEAIQAgAxBDIgUgASgCOCAEQf8BcSAAQQAgAEEBayIAQQpNBH8gAC0AkGoFQX8LIARsrBBnQeAAEAYg.BRBkIgAgAhAyGiAAQQE6AFQgACAAKAJENgJIIAAgASgCPDYCPCADQUBrJAAgAAsrAQF/IABB0OIANgIAIAAoAiQiAQRAIAEQBQsgACgCGCIBBEAgARAFCyAA.C4oBAQF/IABB4OAANgIAIAAoAlgiAQRAIAAgATYCXCABEAULIAAoAkgiAQRAIAAgATYCTCABEAULIAAoAjwiAQRAIAAgATYCQCABEAULIAAoAjAiAQRAIAAg.ATYCNCABEAULIABB0OIANgIAIAAoAiQiAQRAIAEQBQsgACgCGCIBBEAgARAFCyAAEAULoAMBCX8jAEEQayIFJAACQAJAIAAoAgwiASgCHCABKAIYayIGIAAo.AgQiBygCCCAHKAIAIgRrTQ0AIAZBAEgNASAHKAIEIQggBhAGIgMgBmohCSAEIAhHBEAgBCEBIAMhAgNAIAIgASgCADYCACACQQRqIQIgAUEEaiIBIAhHDQAL.CyAHIAk2AgggByADIAggBGtqNgIEIAcgAzYCACAERQ0AIAQQBSAAKAIMIgEoAhwgASgCGGshBgsgAEEIaiEEQQAhASAFQQA2AgQgAEHgAGogBkECdSAFQQRq.EB0CQCAAKAJ0IgIEQCACKAIAIgMgAigCBEYEQEEBIQIMAgsDQCAFIAMgAUECdGooAgA2AgggBCAFQQhqEN8BIgJFDQIgAUEBaiIBIAAoAnQiAygCBCADKAIA.IgNrQQJ1SQ0ACwwBCyAAKAIMIgAoAgQgACgCAGtBAnUiAEEDbiEDIABBA0kEQEEBIQIMAQsDQCAFIAFBA2w2AgwgBCAFQQxqEN8BIgJFDQEgAUEBaiIBIANH.DQALCyAFQRBqJAAgAg8LEAcAC8oCAQx/IAAoAgwhDCAAKAJsKAJQIQIgAUEAOgBUIAFBxABqIAJB1OAAEDQgACgCbCICKAJkIgQgAigCYCIKRgRAQQEPCyAC.KAJQIQJBASAEIAprQQxtIgQgBEEBTRshDQNAAkBBACEEIAZB1arVqgVGDQAgBkEMbCIDIAwoAgBqIgUoAgAiB0F/Rg0AIAMgCmoiCCgCACIDIAJPDQAgACgC.cCgCDCILIAdBAnRqKAIAIgkgAk8NACABKAJEIgcgA0ECdGogCTYCACAFKAIEIgNBf0YNACAIKAIEIgkgAk8NACALIANBAnRqKAIAIgMgAk8NACAHIAlBAnRq.IAM2AgAgBSgCCCIFQX9GDQAgCCgCCCIIIAJPDQAgCyAFQQJ0aigCACIFIAJPDQAgByAIQQJ0aiAFNgIAQQEhBCAGQQFqIgYgDUcNAQsLIAQLkwEBAX8gAEHg.4AA2AgggAEGM3wA2AgAgACgCYCIBBEAgACABNgJkIAEQBQsgACgCUCIBBEAgACABNgJUIAEQBQsgACgCRCIBBEAgACABNgJIIAEQBQsgACgCOCIBBEAgACAB.NgI8IAEQBQsgAEHQ4gA2AgggACgCLCIBBEAgARAFCyAAKAIgIgEEQCABEAULIAAQBQuRAQEBfyAAQeDgADYCCCAAQYzfADYCACAAKAJgIgEEQCAAIAE2AmQg.ARAFCyAAKAJQIgEEQCAAIAE2AlQgARAFCyAAKAJEIgEEQCAAIAE2AkggARAFCyAAKAI4IgEEQCAAIAE2AjwgARAFCyAAQdDiADYCCCAAKAIsIgEEQCABEAUL.IAAoAiAiAQRAIAEQBQsgAAuIAQEBfyAAQeDgADYCACAAKAJYIgEEQCAAIAE2AlwgARAFCyAAKAJIIgEEQCAAIAE2AkwgARAFCyAAKAI8IgEEQCAAIAE2AkAg.ARAFCyAAKAIwIgEEQCAAIAE2AjQgARAFCyAAQdDiADYCACAAKAIkIgEEQCABEAULIAAoAhgiAQRAIAEQBQsgAAuJAQECfyMAQRBrIgMkACAAIAE2AgQgASgC.ACEEIAEoAgQhASADQQA6AA8gAEEYaiABIARrQQJ1QQNuIANBD2oQGiAAKAIEIgEoAhghBCABKAIcIQEgA0EAOgAOIABBJGogASAEa0ECdSADQQ5qEBogACAC.KQIINwIQIAAgAikCADcCCCADQRBqJAALLQEBfyAAQdzeADYCACAAKAIkIgEEQCABEAULIAAoAhgiAQRAIAEQBQsgABAFCysBAX8gAEHc3gA2AgAgACgCJCIB.BEAgARAFCyAAKAIYIgEEQCABEAULIAALSwEBfyAAQdzcADYCACAAKAIwIgEEQCAAIAE2AjQgARAFCyAAQdzeADYCACAAKAIkIgEEQCABEAULIAAoAhgiAQRA.IAEQBQsgABAFCwkAIAAQ4AEQBQsJACAAEOEBEAULCQAgABDiARAFCwcAIAEtABgL2EMCGX8DfiMAQdAAayISJAAgAEEANgKEASAAKAKUAQRAIAAoApABIgwE.QANAIAwoAgAgDBAFIgwNAAsLIABBADYCkAECQCAAKAKMASIBRQ0AIAFBAnQiAUUNACAAKAKIAUEAIAH8CwALIABBADYClAELAkACQCAAKAIEIgwtACQiAUEI.dCAMLQAlckGBBE0EQCAMKAIgIQUCQCABQf8BcUEBTQRAIAUpAxAiG0IEfCIaIAUpAwhVDQMgBSgCACAbp2ooAAAhDiAFIBo3AxAMAQtBASASQRBqIAUQEkUN.AiAAKAIEIgwtACQhASASKAIQIQ4LIAAgDjYChAELIAwoAiAhBQJAIAFB/wFxQQFNBEAgBSkDECIbQgR8IhogBSkDCFUEQEEAIQwMBAsgEiAFKAIAIBunaigA.ACIBNgJMIAUgGjcDEAwBC0EBIBJBzABqIAUQEkUEQEEAIQwMAwsgACgCBCEMIBIoAkwhAQsgACABNgKcASAMKAIgIQECQCAMLQAkQQFNBEAgASkDECIbQgR8.IhogASkDCFUEQEEAIQwMBAsgEiABKAIAIBunaigAACIXNgJIIAEgGjcDEAwBC0EBIBJByABqIAEQEkUEQEEAIQwMAwsgEigCSCEXC0EAIQwgF0HVqtWqBUsN.ASAAKAKcASIFIBdBA2wiAUsNASABQQF2rSAFrCIaQgF9IBp+QgGIVg0BIAAoAgQiBSgCICIIKQMIIhwgCCkDECIaVw0BIAgoAgAiASAap2otAAAhECAIIBpC.AXwiGzcDEAJAIAUtACRBAU0EQCAcIBpCBXwiGlMNAyASIAEgG6dqKAAAIg42AkQgCCAaNwMQDAELQQEgEkHEAGogCBASRQ0CIBIoAkQhDgsgDiAXSw0BIBcg.DkEDbiAOaksNASAAKAIEIgEoAiAhBQJAIAEtACRBAU0EQCAFKQMQIhtCBHwiGiAFKQMIVQ0DIBIgBSgCACAbp2ooAAAiATYCQCAFIBo3AxAMAQtBASASQUBr.IAUQEkUNAiASKAJAIQELIAEgDksNASAAIAAoAhg2AhxB2AAQBhB+IQUgACgCCCEIIAAgBTYCCCAIBEAgCBAqIAAoAghFDQILIAAgACgCoAE2AqQBIABBoAFq.IBcQRyAAIAAoAqwBNgKwASAAQawBaiAXEEcgAEEANgJAIABBfzYCXCAAQn83AlQgACAAKAIkNgIoIAAgACgCMDYCNCAAIAAoAkg2AkwgAEHYAWoiGRCSASAZ.IBAQkQEgACgCCCAXIAAoApwBIAFqEH1FDQEgACgCnAEhBSASQQE6ABAgAEH4AGogASAFaiASQRBqEBoCQCAAKAIEIggtACQiBUEIdCAILQAlckGBBE0EQCAI.KAIgIQgCQCAFQQFNBEAgCCkDECIbQgR8IhogCCkDCFUNBSAIKAIAIBunaigAACEDIAggGjcDEAwBC0EBIBJBPGogCBASRQ0EIBIoAjwhAwsgA0UNAyADrSAA.KAIEKAIgIgUpAwggBSkDEH1VDQMgEkEQaiIHQQA7ASYgB0EANgIAIAdCADcDCCAHQgA3AxAgB0IANwMYIAdCADcAHSAAKAIEKAIgIgQoAgAgBCkDECIap2og.A2ohCCAEKQMIIBp9pyADayEFIAcgBC8BJjsBJiAHIAg2AgAgB0IANwMQIAcgBa03AwggACAHEEYiF0F/Rw0BDAMLQX8hFyAAIAgoAiAQRkF/Rg0CCyAAQegB.aiIGIAAQ5QEgACAQNgL0AiAAIAEgACgCnAFqNgKAAyASQRBqIghBADsBJiAIQQA2AgAgCEIANwMIIAhCADcDECAIQgA3AxggCEIANwAdQQAhECMAQRBrIhYk.AAJAAkAgBigCkAEiASABKAIAKAIgEQAALwEkIgFBCHQgAUEIdnJB//8DcUGBBE0EQCAGIAYpAyA3A0ggBiAGKQMYNwNAIAYgBikDEDcDOCAGIAYpAwg3AzAg.BiAGKQMANwMoIAZBKGpBASAWQQhqEEFFDQEgBiAGKQNINwMgIAYgBikDQDcDGCAGIAYpAzgiHDcDECAGIAYpAzAiGzcDCCAGIAYpAyg3AwAgFikDCCIaIBsg.HH1WDQEgBiAaIBx8NwMQCwJAIAYvASZBgQRNBEAgBiAGKQMgNwOAASAGIAYpAxg3A3ggBiAGKQMQNwNwIAYgBikDCDcDaCAGIAYpAwA3A2AgBkHgAGpBASAW.QQhqEEFFDQIgBiAGKQOAATcDICAGIAYpA3g3AxggBiAGKQNwIhw3AxAgBiAGKQNoIhs3AwggBiAGKQNgNwMAIBYpAwgiGiAbIBx9Vg0CIAYgGiAcfDcDEAwB.CyAGQdAAaiAGEAhFDQILIAYQ5wFFDQEgCCAGKQMgNwMgIAggBikDGDcDGCAIIAYpAxA3AxAgCCAGKQMINwMIIAggBikDADcDAAJAIAYoApABIgEgASgCACgC.IBEAAC8BJCIBQQh0IAFBCHZyQf//A3FBgQRNBEACQCAGKAKQASIBIAEoAgAoAiARAAAtACRBAU0EQCAIKQMQIhtCBHwiGiAIKQMIVQ0FIAgoAgAgG6dqKAAA.IQkgCCAaNwMQDAELQQEgFkEIaiAIEBJFDQQgFigCCCEJCyAJIAYoApgBIgVPDQMgCCkDECIaIAgpAwhZDQMgCCgCACAap2otAAAgCCAaQgF8NwMQDQMgBkKC.gICA8AA3A7ABDAELIAZCgoCAgPAANwOwASAGKAKYASEFCyAFQQBIDQFBACEJIBZBADYCCCAGQZwBaiAFIBZBCGoQHUEBIRACQAJAAkAgBigCtAEgBigCsAFr.QQFqIgsgBigCvAEiBSAGKAK4ASIPayIKQQxtIgdLBEAgBigCwAEgD2tBDG0iBCALTwRAIAsgB2tBDGxBDGsiASABQQxwa0EMaiIBBEAgBUEAIAH8CwALIAYg.ASAFajYCvAEMBAsgC0HWqtWqAU8NAUHVqtWqASAEQQF0IgEgCyABIAtLGyAEQarVqtUATxsiAUHWqtWqAU8NAiABQQxsIgQQBiIFIApqIQMgCyAHa0EMbEEM.ayIBIAFBDHBrQQxqIgcEQCADQQAgB/wLAAsgAyAKQXRtQQxsaiEBIAoEQCABIA8gCvwKAAALIAYgBCAFajYCwAEgBiADIAdqNgK8ASAGIAE2ArgBIA9FDQMg.DxAFDAMLIAcgC00NAiAFIA8gC0EMbGoiB0cEQANAIAVBDGsiASgCACIEBEAgBUEIayAENgIAIAQQBQsgASIFIAdHDQALCyAGIAc2ArwBDAILEAcACxAOAAsg.BkHEAWogBigCvAEgBigCuAFrQQxtEAwgBigCvAEgBigCuAFGDQEDQEEBIBZBCGogCBASRQ0BIBYoAggiBSAGKAKUASIBKAIEIAEoAgBrQQJ1QQNuSw0BIAUE.QCAJQQxsIgEgBigCuAFqIAUQDCAFQQEgCCAGKAK4ASABaigCABCXARogBigCxAEgCUECdGogBTYCAAsgCUEBaiIJIAYoArwBIAYoArgBa0EMbUkNAAsMAQtB.ACEQCyAWQRBqJAACQCAQRQ0AQQAhECMAQeAAayICJAAgAkEANgJQIAJCADcCSCACQgA3AzggAkIANwMwIAJBgICA/AM2AkAgAkEANgIsIAJCADcCJCAAIgco.AnwhGAJAAkAgDkEASgRAIABB6AFqIQUgACgC2AEgACgC3AFHIRYDQAJAAkAgBSgCrAEiAEF/RwRAIAUoAsQBIABBAnRqIgAgACgCACIBQQFrIgA2AgBBCSEE.IAFBAEwNAiAFKAK4ASAFKAKsAUEMbGooAgAgAEECdGooAgAiAEEESw0CIABBAnQoAvBeIQQMAQtBByEEIAUoApABIgAgACgCACgCIBEAAC8BJCIAQQh0IABB.CHZyQf//A3FBgQRLDQBBASEEIAUtAExBAUcNAEEAIQQgBSgCQCIPIAUoAkgiCUEDdmoiACAFKAJEIgpPDQAgAC0AACAFIAlBAWoiADYCSCAJQQdxdkEBcUUN.AAJAIAogDyAAQQN2IgNqIgFNBEAgACEBDAELIAEtAAAgBSAJQQJqIgE2AkggAUEDdiEDIABBB3F2QQFxIQQLIAogAyAPaiIASwR/IAAtAAAgBSABQQFqNgJI.IAFBB3F2QQF0QQJxIARyBSAEC0EBdEEBciEECyAFIAQ2AqgBCwJAAkAgBCIDRQRAIAIoAkwiACACKAJIRgRAQX8hBAwGC0F/IQEgBygCCCIUKAIYIgsCf0F/.IABBBGsiCSgCACINQX9GDQAaQX8gDUEBaiIAIA1BAmsgAEEDcBsiAEF/Rg0AGiAUKAIAIABBAnRqKAIACyITQQJ0aigCACIEQX9HBEAgBEEBaiIAIARBAmsg.AEEDcBshAQsgASANRgRAQX8hBAwGCyANQX9HBEBBfyEEIBQoAgwgDUECdGooAgBBf0cNBgsgFCgCDCEDIAFBf0cEQEF/IQQgAyABQQJ0aigCAEF/Rw0GCyAD.IA1BAnRqIBBBA2wiAEEBaiIENgIAIAMgBEECdCIPaiANNgIAIAMgAUECdGogAEECaiIRNgIAIAMgEUECdCIKaiABNgIAQX8hFQJ/QX8gDUF/Rg0AGgJAIA1B.A3AEQCANQQFrIQMMAQtBfyANQQJqIgNBf0YNARoLIBQoAgAgA0ECdGooAgALIQMCQCABQX9GDQAgAUEBaiIEIAFBAmsgBEEDcBsiAUF/Rg0AIBQoAgAgAUEC.dGooAgAhFQtBfyEEIAMgE0YNBSATIBVGDQUgFCgCACIBIABBAnRqIBM2AgAgASAPaiAVNgIAIAEgCmogAzYCACADQX9HBEAgCyADQQJ0aiARNgIACyAHKAJ4.IBNBA3ZB/P///wFxaiIBIAEoAgBBfiATd3E2AgAgCSAANgIADAELQX8hBAJ/An8CQAJAAkACQAJAAkACQCADQQFrDgcBDQANAA0CDQsgAigCTCIAIAIoAkhG.DQwgBygCCCIRKAIMIQogAEEEaygCACITQX9HBEAgCiATQQJ0aigCAEF/Rw0NCyAKIBBBA2wiAUECQQEgA0EFRiILG2oiCUECdCIDaiATNgIAIAogE0ECdGog.CTYCACACIBEoAhwiBDYCXCARKAIgIQAgAiARQRhqNgIQIAJBnNkANgIMIAIgAkHcAGo2AgggEQJ/IAAgBEsEQCAEQX82AgAgBEEEagwBCyACQQhqEAkgAigC.XAsiDzYCHEF/IQQgBygCCCIAKAIcIAAoAhgiCmtBAnUgGEoNDCADIAAoAgAiA2ogDyARKAIYIgRrQQJ1QQFrIgA2AgAgBCAPRwRAIAogAEECdGogCTYCAAsg.ASABQQJqIAsbIQQgAyABQQJ0aiALQQJ0agJ/IBNBf0YEQCADIARBAnRqQX82AgBBfwwBCwJAAkACQCATQQNwBEAgE0EBayENDAELIBNBAmoiDUF/Rg0BCyAD.IARBAnRqIAMgDUECdGooAgAiADYCACAAQX9GDQEgCiAAQQJ0aiAENgIADAELIAMgBEECdGpBfzYCAAtBfyATQQFqIgAgE0ECayAAQQNwGyIAQX9GDQAaIAMg.AEECdGooAgALNgIAIAIoAkxBBGsgATYCAAwCCyACKAJIIhUgAigCTCIARg0LIABBBGsiASgCACEUIAIgATYCTAJAIAIoAjQiCUUEQCABIQAMAQsgAigCPEUE.QCABIQAMAQsgAigCMAJ/IAlB/////wdqIBBxIAlpQQFLIgpFDQAaIBAgCSAQSw0AGiAQIAlwCyIPQQJ0aigCACIERQRAIAEhAAwBCyAEKAIAIgNFBEAgASEA.DAELAkAgCkUEQCAJQQFrIQoDQAJAIBAgAygCBCIERwRAIAQgCnEgD0YNASABIQAMBQsgAygCCCAQRg0DCyADKAIAIgMNAAsgASEADAILA0ACQCAQIAMoAgQi.BEcEQCAEIAlPBH8gBCAJcAUgBAsgD0YNASABIQAMBAsgAygCCCAQRg0CCyADKAIAIgMNAAsgASEADAELIAIgATYCXCACKAJQIQQgAiADQQxqNgIMIAIgAkHI.AGo2AhAgAiACQdwAajYCCAJAIAEgBEkEQCABIAMoAgw2AgAMAQsgAkEIahAJIAIoAlwhAAsgAiAANgJMIAIoAkghFQsgACAVRgRAQX8hBAwMC0F/IQQgAEEE.aygCACITIBRGDQsgBygCCCEVIBNBf0YiCkUEQCAVKAIMIBNBAnRqKAIAQX9HDQwLIBUoAgwhESAUQX9HBEAgESAUQQJ0aigCAEF/Rw0MCyARIBNBAnRqIBBB.A2wiC0ECaiIPNgIAIBEgD0ECdCIJaiATNgIAIBEgFEECdGogC0EBaiIBNgIAIBEgAUECdCIDaiAUNgIAIAoNAiATQQNwBEAgE0EBayENDAULIBNBAmoiDUF/.Rw0EIBUoAgAhBEF/DAULIAIgEEEDbDYCWCACIAcoAggiBCgCHCIBNgJcIAQoAiAhACACIARBGGo2AhAgAkGc2QA2AgwgAiACQdwAajYCCCAEAn8gACABSwRA.IAFBfzYCACABQQRqDAELIAJBCGoQCSACKAJcCyIJNgIcIAIoAlhBAnQiASAHKAIIIhEoAgBqIAkgBCgCGCIKayIPQQJ1IgNBAWsiBDYCACACIBEoAhwiCzYC.XCARKAIgIQAgAiARQRhqNgIQIAJBnNkANgIMIAIgAkHcAGo2AgggEQJ/IAAgC0sEQCALQX82AgAgC0EEagwBCyACQQhqEAkgAigCXAsiADYCHCARKAIAIAFq.IAAgESgCGGtBAnVBAWs2AgQgAigCWCEBIAIgBygCCCIRKAIcIgs2AlwgESgCICEAIAIgEUEYajYCECACQZzZADYCDCACIAJB3ABqNgIIIBECfyAAIAtLBEAg.C0F/NgIAIAtBBGoMAQsgAkEIahAJIAIoAlwLIgA2AhwgESgCACABQQJ0aiAAIBEoAhhrQQJ1QQFrNgIIIAcoAggiACgCHCAAKAIYIgtrQQJ1IBhKDQIgAigC.WCEAAkACQCAJIApHBEAgCyAEQQJ0aiAANgIAQQAhASAPQXxGDQELIAsgD2ogAEEBajYCACADQQFqIgFBf0YNAQsgCyABQQJ0aiACKAJYQQJqNgIACyACIAIo.AkwiATYCXCACKAJQIQAgAiACQcgAajYCECACIAJB2ABqNgIMIAIgAkHcAGo2AgggAgJ/IAAgAUsEQCABIAIoAlg2AgAgAUEEagwBCyACQQhqEAkgAigCXAsi.ADYCTCAAQQRrKAIAIQELIAIgATYCICAFIAJBIGoQ4wEgBygCKCIDIAcoAiRGDQYgDiAQQX9zaiEKA0AgCiADQQhrKAIAIgBJBEBBfyEEDAsLIAAgCkcNByAD.QQRrLQAAIQEgA0EMayIAKAIAIQQgByAANgIoIARBAEgEQEF/IQQMCwsgAigCTEEEaygCACEDIAIgDiAEQX9zajYCHCACIAJBHGoiADYCWCACIAJBMGo2Alwg.AkEIaiACQdwAaiAAIAJB2ABqEIwBIAIoAggCfyABQQFxBEBBfyADQX9GDQEaIANBAWoiACADQQJrIABBA3AbDAELQX8gA0F/Rg0AGiADQQFrIANBA3ANABog.A0ECags2AgwgBygCKCIDIAcoAiRHDQALDAYLQX8hDSAVKAIAIgQgC0ECdGpBfzYCAEF/DAMLQX8hBAwHCyAVKAIAIgQgDUECdGooAgALIQ0gBCALQQJ0aiAN.NgIAQX8gE0EBaiIBIBNBAmsgAUEDcBsiAUF/Rg0AGiAEIAFBAnRqKAIACyEBIAMgBGogATYCAAJ/IBRBf0YEQCAEIAlqQX82AgBBfyEDQX8MAQsCQAJAAkAg.FEEDcARAIBRBAWshAwwBCyAUQQJqIgNBf0YNAQsgBCAJaiAEIANBAnRqKAIAIgE2AgAgAUF/Rg0BIBUoAhggAUECdGogDzYCAAwBCyAEIAlqQX82AgALQX8h.A0F/IBRBAWoiASAUQQJrIAFBA3AbIgFBf0YNABogFSgCACABQQJ0aigCACEDIAELIQEgAiADNgJYIAcoAoQDIg8gDUECdCIKaiIEIAQoAgAgDyADQQJ0aigC.AGo2AgAgFSgCGCEPIA1Bf0cEQCAKIA9qIA8gAigCWEECdGooAgA2AgALIAEhAwJAA0AgA0F/Rg0BIBUoAgAgA0ECdGogDTYCACABAn9BfyADQQFqIgQgA0EC.ayAEQQNwGyIEQX9GDQAaQX8gFSgCDCAEQQJ0aigCACIDQX9GDQAaIANBAWoiBCADQQJrIARBA3AbCyIDRw0AC0F/IQQMBQsgDyACKAJYIgFBAnRqQX82AgAg.FgR/IAAFIAIgAigCKCIENgJcIAIoAiwhACACIAJBJGo2AhAgAiACQdgAajYCDCACIAJB3ABqNgIIIAICfyAAIARLBEAgBCABNgIAIARBBGoMAQsgAkEIahAJ.IAIoAlwLNgIoIAIoAkwLQQRrIgAgCzYCACAAKAIAIQALIAIgADYCICAFIAJBIGoQ4wELIBBBAWoiECAORw0ACyAOIRALQX8hBCAHKAIIIg4oAhwgDigCGGtB.AnUgGEoNACACKAJMIgMgAigCSEcEQCAHQcgAaiERIAdBPGohFiAHQbgCaiEPA0AgA0EEayIBKAIAIQAgAiABNgJMIAIgADYCWAJAAkACQCAHLwGOAkGBBE0E.QCAHKALgAiAHKALoAiIBQQN2aiIAIAcoAuQCTw0BIAAtAAAgByABQQFqNgLoAiABQQdxdkEBcUUNAQwCCyAPEBANAQsgAkEAOgAIIBYgAkEIahBEIAIgBygC.TCIBNgJcIAcoAlAgAiARNgIQIAIgAkHYAGo2AgwgAiACQdwAajYCCCABSwRAIAEgAigCWDYCACAHIAFBBGo2AkwMAgsgAkEIahAJIAcgAigCXDYCTAwBCwJA.IBAgBygCCCILKAIEIAsoAgAiCWtBAnVBA25ODQBBfyEBAkAgCygCGCIFAn9BfyACKAJYIhhBf0YNABpBfyAYQQFqIgAgGEECayAAQQNwGyIAQX9GDQAaIAkg.AEECdGooAgALIgpBAnRqKAIAIgNBf0YEQEEBIQ5BfyENDAELQQEhDkF/IQ0gA0EBaiIAIANBAmsgAEEDcBsiAEF/Rg0AQQAhDiAAQQFqIgEgAEECayABQQNw.GyIBQX9HBEAgCSABQQJ0aigCACENCyAAIQELQX8hAyAFIA1BAnRqKAIAIgVBf0cEQCAFQQFqIgAgBUECayAAQQNwGyEDCyABIBhGDQAgAyAYRg0AIAEgA0YN.ACAYQX9HBEAgCygCDCAYQQJ0aigCAEF/Rw0BCyAORQRAIAsoAgwgAUECdGooAgBBf0cNAQtBfyEAAn9BfyADQX9GDQAaIAsoAgwgA0ECdGooAgBBf0cNAUF/.IANBAWoiBSADQQJrIAVBA3AbIgVBf0YNABogCSAFQQJ0aigCAAshDiACIBBBA2wiBTYCCCALKAIMIgkgBUECdGogGDYCACAJIBhBAnRqIAU2AgAgCSACKAII.QQFqIgVBAnRqIAE2AgAgCSABQQJ0aiAFNgIAIAkgAigCCEECaiIBQQJ0aiADNgIAIAkgA0ECdGogATYCACALKAIAIgsgAigCCCIJQQJ0aiIBIA02AgAgASAK.NgIIIAEgDjYCBCAHKAJ4IgogDUF/IAlBAWoiDhsiBUEDdkH8////AXFqIgEgASgCAEF+IAV3cTYCACAOQX9HBEAgCyAOQQJ0aigCACEACyAKIABBA3ZB/P//./wFxaiIBIAEoAgBBfiAAd3E2AgBBfyEDIAlBAmoiAEF/RwRAIAsgAEECdGooAgAhAwsgCiADQQN2Qfz///8BcWoiACAAKAIAQX4gA3dxNgIAIAJBAToAXCAW.IAJB3ABqEEQgESACQQhqEIsBIBBBAWohEAwBCwwDCyACKAJMIgMgAigCSEcNAAsgBygCCCEOCyAQIA4oAgQgDigCAGtBAnVBA25HDQAgDigCHCAOKAIYa0EC.dSEEIAIoAiQiASACKAIoIhBGDQEDQCAOKAIYIgAgBEEBayIDQQJ0aiINKAIAQX9GBEADQCAEQQJrIQMgBEEBayEEIAAgA0ECdGoiDSgCAEF/Rg0ACwsgASgC.ACIKIANNBEAgAiAONgIIIA0oAgAhDSACQQE6ABQgAiANNgIQIAIgDTYCDCANQX9HBEADQCADIAcoAggoAgAgDUECdGoiACgCAEcEQEF/IQQMBQsgACAKNgIA.IAJBCGoQbyACKAIQIg1Bf0cNAAsgBygCCCEOCyAOKAIYIgAgA0ECdGohBSAKQX9HBEAgACAKQQJ0aiAFKAIANgIACyAFQX82AgBBASAKdCEPIAcoAngiBSAK.QQN2Qfz///8BcWoiCgJ/QQEgA3QiACAFIANBA3ZB/P///wFxaiIFKAIAcQRAIAooAgAgD3IMAQsgCigCACAPQX9zcQs2AgAgBSAFKAIAIABBf3NxNgIAIARB.AWshBAsgAUEEaiIBIBBHDQALCyACKAIkIQELIAEEQCACIAE2AiggARAFCyACKAI4IgAEQANAIAAoAgAgABAFIgANAAsLIAIoAjAhACACQQA2AjAgAARAIAAQ.BQsgAigCSCIABEAgAiAANgJMIAAQBQsgAkHgAGokACAEIgBBf0YNACAIKAIAIAgpAxAiGqdqIQUgCCkDCCAafachASAHKAIEKAIgIgggCC8BJjsBJiAIIAU2.AgAgCEIANwMQIAggAa03AwggBygCBCIILwEkIgFBCHQgAUEIdnIiBUH//wNxQYEETQRAIAgoAiAiASABKQMQIBesfDcDEAsCQCAHKALYASAHKALcAUYNACAH.KAIIIgEoAgAhCCABKAIEIQECQCAFQf//A3FBgQRPBEAgASAIRg0CDAELIAEgCEYNAQNAAkAgEiAMNgIMIAcgEkEMahCQAUUNACAMQQNqIgwgBygCCCIBKAIE.IAEoAgBrQQJ1SQ0BDAMLC0EAIQwMAgsDQAJAIBIgDDYCCCAHIBJBCGoQjwFFDQAgDEEDaiIMIAcoAggiASgCBCABKAIAa0ECdUkNAQwCCwtBACEMDAELIAYQ.jgEgBygC2AEiDCAHKALcAUcEQEEAIRcDQCAMIBdBkAFsIghqQQRqIAcoAggQfCAZKAIAIgEgCGoiBSgChAEiDCAFKAKIASIFRwRAA0AgGSgCACASIAwoAgA2.AgQgCGpBBGogEkEEahB6IAxBBGoiDCAFRw0ACyAZKAIAIQELQQAhDCABIAhqQQRqEHtFDQIgF0EBaiIXIAcoAtwBIAcoAtgBIgxrQZABbUkNAAsLIAdBuAFq.IAcoAggiASgCHCABKAIYa0ECdRBFIAcoAtgBIgEgBygC3AFHBEBBACEMA0AgASAMQZABbGoiAUHoAGogASgCPCABKAI4a0ECdSIFIAcoAggiASgCHCABKAIY.a0ECdSIBIAEgBUgbEEUgDEEBaiIMIAcoAtwBIAcoAtgBIgFrQZABbUkNAAsLIAcgABCNASEMCwwBC0EAIQwLIBJB0ABqJAAgDAuDOgIZfwN+IwBB0ABrIgwk.ACAAQQA2AoQBIAAoApQBBEAgACgCkAEiCgRAA0AgCigCACAKEAUiCg0ACwsgAEEANgKQAQJAIAAoAowBIgJFDQAgAkECdCICRQ0AIAAoAogBQQAgAvwLAAsg.AEEANgKUAQsCQAJAIAAoAgQiCi0AJCIEQQh0IAotACVyQYEETQRAIAooAiAhAgJAIARB/wFxQQFNBEAgAikDECIaQgR8IhsgAikDCFUNAyACKAIAIBqnaigA.ACELIAIgGzcDEAwBC0EBIAxBEGogAhASRQ0CIAAoAgQiCi0AJCEEIAwoAhAhCwsgACALNgKEAQsgCigCICECAkAgBEH/AXFBAU0EQCACKQMQIhpCBHwiGyAC.KQMIVQRAQQAhCgwECyAMIAIoAgAgGqdqKAAAIgQ2AkwgAiAbNwMQDAELQQEgDEHMAGogAhASRQRAQQAhCgwDCyAAKAIEIQogDCgCTCEECyAAIAQ2ApwBIAoo.AiAhAgJAIAotACRBAU0EQCACKQMQIhpCBHwiGyACKQMIVQRAQQAhCgwECyAMIAIoAgAgGqdqKAAAIg42AkggAiAbNwMQDAELQQEgDEHIAGogAhASRQRAQQAh.CgwDCyAMKAJIIQ4LQQAhCiAOQdWq1aoFSw0BIAAoApwBIgIgDkEDbCIBSw0BIAFBAXatIAKsIhpCAX0gGn5CAYhWDQEgACgCBCIBKAIgIgIpAwgiGyACKQMQ.IhpXDQEgAigCACIFIBqnai0AACEIIAIgGkIBfCIcNwMQAkAgAS0AJEEBTQRAIBsgGkIFfCIaUw0DIAwgBSAcp2ooAAAiCzYCRCACIBo3AxAMAQtBASAMQcQA.aiACEBJFDQIgDCgCRCELCyALIA5LDQEgDiALQQNuIAtqSw0BIAAoAgQiASgCICECAkAgAS0AJEEBTQRAIAIpAxAiGkIEfCIbIAIpAwhVDQMgDCACKAIAIBqn.aigAACIENgJAIAIgGzcDEAwBC0EBIAxBQGsgAhASRQ0CIAwoAkAhBAsgBCALSw0BIAAgACgCGDYCHEHYABAGEH4hASAAKAIIIQIgACABNgIIIAIEQCACECog.ACgCCEUNAgsgACAAKAKgATYCpAEgAEGgAWogDhBHIAAgACgCrAE2ArABIABBrAFqIA4QRyAAQQA2AkAgAEF/NgJcIABCfzcCVCAAIAAoAiQ2AiggACAAKAIw.NgI0IAAgACgCSDYCTCAAQdgBaiIWEJIBIBYgCBCRASAAKAIIIA4gACgCnAEgBGoQfUUNASAAKAKcASECIAxBAToAECAAQfgAaiACIARqIAxBEGoQGgJAIAAo.AgQiAi0AJCIBQQh0IAItACVyQYEETQRAIAIoAiAhAgJAIAFBAU0EQCACKQMQIhpCBHwiGyACKQMIVQ0FIAIoAgAgGqdqKAAAIQEgAiAbNwMQDAELQQEgDEE8.aiACEBJFDQQgDCgCPCEBCyABRQ0DIAGtIAAoAgQoAiAiAikDCCACKQMQfVUNAyAMQRBqIgJBADsBJiACQQA2AgAgAkIANwMIIAJCADcDECACQgA3AxggAkIA.NwAdIAAoAgQoAiAiBSgCACAFKQMQIhqnaiABaiERIAUpAwggGn2nIAFrIQEgAiAFLwEmOwEmIAIgETYCACACQgA3AxAgAiABrTcDCCAAIAIQRiIOQX9HDQEM.AwtBfyEOIAAgAigCIBBGQX9GDQILIABB6AFqIhQgABDlASAAIAg2AvQCIAAgBCAAKAKcAWo2AoADIAxBEGoiAkEAOwEmIAJBADYCACACQgA3AwggAkIANwMQ.IAJCADcDGCACQgA3AB0gAiERQQAhASMAQRBrIgIkAAJAIBQgERDpAUUNACARKQMQIhpCBHwiGyARKQMIVQ0AIBEoAgAgGqdqKAAAIQUgESAbNwMQIAVBAEgN.ACAFIBQoApgBIghODQAgAkEANgIMIBRBnAFqIAggAkEMahAdIBRBqAFqIBEQCCEBCyACQRBqJAACQCABRQ0AQQAhCCMAQeAAayIDJAAgA0EANgJQIANCADcC.SCADQgA3AzggA0IANwMwIANBgICA/AM2AkAgA0EANgIsIANCADcCJCAAIgUoAnwhEwJAAkAgC0EASgRAIABBkANqIRcgAEHoAWohECAAKALYASAAKALcAUch.FQNAAkACQAJAAkACQAJAIAUoAqQDQX9HBEAgFxAQDQELQQEhASAFLQC0AkEBRgRAIAUoAqgCIgcgBSgCsAIiAkEDdmoiACAFKAKsAiIJTw0CIAAtAAAgBSAC.QQFqIgA2ArACIAJBB3F2QQFxRQ0CQQAhBgJAIAkgByAAQQN2IgRqIgFNBEAgACEBDAELIAEtAAAgBSACQQJqIgE2ArACIAFBA3YhBCAAQQdxdkEBcSEGCyAJ.IAQgB2oiAEsEfyAALQAAIAUgAUEBajYCsAIgAUEHcXZBAXRBAnEgBnIFIAYLQQF0QQFyIQELIAUgATYCoAMMAwsgBSAFKAKkAyIBNgKgAyABDQIMAQsgBUEA.NgKgAwsgAygCTCIAIAMoAkhGBEBBfyECDAYLQX8hBCAFKAIIIgcoAhgiDwJ/QX8gAEEEayISKAIAIgFBf0YNABpBfyABQQFqIgAgAUECayAAQQNwGyIAQX9G.DQAaIAcoAgAgAEECdGooAgALIglBAnRqKAIAIgBBf0cEQCAAQQFqIgIgAEECayACQQNwGyEECyABIARGBEBBfyECDAYLIAFBf0cEQEF/IQIgBygCDCABQQJ0.aigCAEF/Rw0GCyAHKAIMIQYgBEF/RwRAQX8hAiAGIARBAnRqKAIAQX9HDQYLIAYgAUECdGogCEEDbCIAQQFqIgI2AgAgBiACQQJ0IhhqIAE2AgAgBiAEQQJ0.aiAAQQJqIg02AgAgBiANQQJ0IhlqIAQ2AgBBfyEGAn9BfyABQX9GDQAaAkAgAUEDcARAIAFBAWshAQwBC0F/IAFBAmoiAUF/Rg0BGgsgBygCACABQQJ0aigC.AAshAQJAIARBf0YNACAEQQFqIgIgBEECayACQQNwGyICQX9GDQAgBygCACACQQJ0aigCACEGC0F/IQIgASAJRg0FIAYgCUYNBSAHKAIAIgIgAEECdGogCTYC.ACACIBhqIAY2AgAgAiAZaiABNgIAIAFBf0cEQCAPIAFBAnRqIA02AgALIAUoAnggCUEDdkH8////AXFqIgIgAigCAEF+IAl3cTYCACASIAA2AgAMAQtBfyEC.An8CfwJAAkACQAJAAkACQAJAIAFBAWsOBwENAA0ADQINCyADKAJMIgAgAygCSEYNDCAFKAIIIgYoAgwhByAAQQRrKAIAIgRBf0cEQCAHIARBAnRqKAIAQX9H.DQ0LIAcgCEEDbCIAQQJBASABQQVGIgkbaiINQQJ0IhJqIAQ2AgAgByAEQQJ0aiANNgIAIAMgBigCHCIBNgJcIAYoAiAhByADIAZBGGo2AhAgA0Gc2QA2Agwg.AyADQdwAajYCCCAGAn8gASAHSQRAIAFBfzYCACABQQRqDAELIANBCGoQCSADKAJcCyIBNgIcIAUoAggiBygCHCAHKAIYIg9rQQJ1IBNKDQwgBygCACICIBJq.IAEgBigCGCIGa0ECdUEBayIHNgIAIAEgBkcEQCAPIAdBAnRqIA02AgALIAAgAEECaiAJGyEGIAIgAEECdGogCUECdGoCfyAEQX9GBEAgAiAGQQJ0akF/NgIA.QX8MAQsCQAJAAkAgBEEDcARAIARBAWshAQwBCyAEQQJqIgFBf0YNAQsgAiAGQQJ0aiACIAFBAnRqKAIAIgE2AgAgAUF/Rg0BIA8gAUECdGogBjYCAAwBCyAC.IAZBAnRqQX82AgALQX8gBEEBaiIBIARBAmsgAUEDcBsiAUF/Rg0AGiACIAFBAnRqKAIACzYCACADKAJMQQRrIAA2AgAMAgsgAygCSCIGIAMoAkwiAEYNCyAA.QQRrIgIoAgAhBCADIAI2AkwCQCADKAI0IgdFBEAgAiEADAELIAMoAjxFBEAgAiEADAELIAMoAjACfyAHQf////8HaiAIcSAHaUEBSyIJRQ0AGiAIIAcgCEsN.ABogCCAHcAsiDUECdGooAgAiAUUEQCACIQAMAQsgASgCACIBRQRAIAIhAAwBCwJAIAlFBEAgB0EBayEHA0ACQCAIIAEoAgQiCUcEQCAHIAlxIA1GDQEgAiEA.DAULIAEoAgggCEYNAwsgASgCACIBDQALIAIhAAwCCwNAAkAgCCABKAIEIglHBEAgByAJTQR/IAkgB3AFIAkLIA1GDQEgAiEADAQLIAEoAgggCEYNAgsgASgC.ACIBDQALIAIhAAwBCyADIAI2AlwgAygCUCEGIAMgAUEMajYCDCADIANByABqNgIQIAMgA0HcAGo2AggCQCACIAZJBEAgAiABKAIMNgIADAELIANBCGoQCSAD.KAJcIQALIAMgADYCTCADKAJIIQYLIAAgBkYEQEF/IQIMDAtBfyECIABBBGsoAgAiASAERg0LIAUoAgghByABQX9GIhJFBEAgBygCDCABQQJ0aigCAEF/Rw0M.CyAHKAIMIQYgBEF/RwRAIAYgBEECdGooAgBBf0cNDAsgBiABQQJ0aiAIQQNsIglBAmoiDzYCACAGIA9BAnQiDWogATYCACAGIARBAnRqIAlBAWoiAjYCACAG.IAJBAnQiGGogBDYCACASDQIgAUEDcARAIAFBAWshBgwFCyABQQJqIgZBf0cNBCAHKAIAIQJBfwwFCyADIAhBA2w2AlggAyAFKAIIIgIoAhwiADYCXCACKAIg.IQEgAyACQRhqNgIQIANBnNkANgIMIAMgA0HcAGo2AgggAgJ/IAAgAUkEQCAAQX82AgAgAEEEagwBCyADQQhqEAkgAygCXAsiATYCHCADKAJYQQJ0IgQgBSgC.CCIAKAIAaiABIAIoAhgiB2siBkECdSIJQQFrIg02AgAgAyAAKAIcIgI2AlwgACgCICEPIAMgAEEYajYCECADQZzZADYCDCADIANB3ABqNgIIIAACfyACIA9J.BEAgAkF/NgIAIAJBBGoMAQsgA0EIahAJIAMoAlwLIgI2AhwgACgCACAEaiACIAAoAhhrQQJ1QQFrNgIEIAMoAlghBCADIAUoAggiACgCHCICNgJcIAAoAiAh.DyADIABBGGo2AhAgA0Gc2QA2AgwgAyADQdwAajYCCCAAAn8gAiAPSQRAIAJBfzYCACACQQRqDAELIANBCGoQCSADKAJcCyICNgIcIAAoAgAgBEECdGogAiAA.KAIYa0ECdUEBazYCCCAFKAIIIgAoAhwgACgCGCIAa0ECdSATSg0CIAMoAlghAgJAAkAgASAHRwRAIAAgDUECdGogAjYCAEEAIQQgBkF8Rg0BCyAAIAZqIAJB.AWo2AgAgCUEBaiIEQX9GDQELIAAgBEECdGogAygCWEECajYCAAsgAyADKAJMIgA2AlwgAygCUCECIAMgA0HIAGo2AhAgAyADQdgAajYCDCADIANB3ABqNgII.IAMCfyAAIAJJBEAgACADKAJYNgIAIABBBGoMAQsgA0EIahAJIAMoAlwLIgA2AkwgAEEEaygCACEACyADIAA2AiAgECADQSBqEOQBIAUoAigiASAFKAIkRg0G.IAsgCEF/c2ohAgNAIAIgAUEIaygCACIASQRAQX8hAgwLCyAAIAJHDQcgAUEEay0AACEEIAFBDGsiACgCACEBIAUgADYCKCABQQBIBEBBfyECDAsLIAMoAkxB.BGsoAgAhACADIAsgAUF/c2o2AhwgAyADQRxqIgE2AlggAyADQTBqNgJcIANBCGogA0HcAGogASADQdgAahCMASADKAIIAn8gBEEBcQRAQX8gAEF/Rg0BGiAA.QQFqIgEgAEECayABQQNwGwwBC0F/IABBf0YNABogAEEBayAAQQNwDQAaIABBAmoLNgIMIAUoAigiASAFKAIkRw0ACwwGC0F/IQYgBygCACICIAlBAnRqQX82.AgBBfwwDC0F/IQIMBwsgBygCACICIAZBAnRqKAIACyEGIAIgCUECdGogBjYCAEF/IAFBAWoiEiABQQJrIBJBA3AbIgFBf0YNABogAiABQQJ0aigCAAshASAC.IBhqIAE2AgACfyAEQX9GBEAgAiANakF/NgIAQX8hAUF/DAELAkACQAJAIARBA3AEQCAEQQFrIQEMAQsgBEECaiIBQX9GDQELIAIgDWogAiABQQJ0aigCACIC.NgIAIAJBf0YNASAHKAIYIAJBAnRqIA82AgAMAQsgAiANakF/NgIAC0F/IQFBfyAEQQFqIgIgBEECayACQQNwGyICQX9GDQAaIAcoAgAgAkECdGooAgAhASAC.CyECIAMgATYCWCAFKAKEAyIEIAZBAnQiDWoiDyAPKAIAIAQgAUECdGooAgBqNgIAIAcoAhghBCAGQX9HBEAgBCANaiAEIAMoAlhBAnRqKAIANgIACyACIQEC.QANAIAFBf0YNASAHKAIAIAFBAnRqIAY2AgAgAgJ/QX8gAUEBaiINIAFBAmsgDUEDcBsiAUF/Rg0AGkF/IAcoAgwgAUECdGooAgAiAUF/Rg0AGiABQQFqIg0g.AUECayANQQNwGwsiAUcNAAtBfyECDAULIAQgAygCWCICQQJ0akF/NgIAIBUEfyAABSADIAMoAigiADYCXCADKAIsIQEgAyADQSRqNgIQIAMgA0HYAGo2Agwg.AyADQdwAajYCCCADAn8gACABSQRAIAAgAjYCACAAQQRqDAELIANBCGoQCSADKAJcCzYCKCADKAJMC0EEayIAIAk2AgAgACgCACEACyADIAA2AiAgECADQSBq.EOQBCyAIQQFqIgggC0cNAAsgCyEIC0F/IQIgBSgCCCIGKAIcIAYoAhhrQQJ1IBNKDQAgAygCTCIBIAMoAkhHBEAgBUHIAGohEyAFQTxqIQ0gBUG4AmohDwNA.IAFBBGsiACgCACEBIAMgADYCTCADIAE2AlgCQAJAAkAgBS8BjgJBgQRNBEAgBSgC4AIgBSgC6AIiAEEDdmoiASAFKALkAk8NASABLQAAIAUgAEEBajYC6AIg.AEEHcXZBAXFFDQEMAgsgDxAQDQELIANBADoACCANIANBCGoQRCADIAUoAkwiADYCXCAFKAJQIQEgAyATNgIQIAMgA0HYAGo2AgwgAyADQdwAajYCCCAAIAFJ.BEAgACADKAJYNgIAIAUgAEEEajYCTAwCCyADQQhqEAkgBSADKAJcNgJMDAELAkAgCCAFKAIIIgcoAgQgBygCACIJa0ECdUEDbk4NAEF/IQACQCAHKAIYIhAC.f0F/IAMoAlgiC0F/Rg0AGkF/IAtBAWoiASALQQJrIAFBA3AbIgFBf0YNABogCSABQQJ0aigCAAsiF0ECdGooAgAiAUF/RgRAQQEhBkF/IQQMAQtBASEGQX8h.BCABQQFqIhUgAUECayAVQQNwGyIBQX9GDQBBACEGIAFBAWoiACABQQJrIABBA3AbIgBBf0cEQCAJIABBAnRqKAIAIQQLIAEhAAtBfyEBIBAgBEECdGooAgAi.EEF/RwRAIBBBAWoiASAQQQJrIAFBA3AbIQELIAAgC0YNACABIAtGDQAgACABRg0AIAtBf0cEQCAHKAIMIAtBAnRqKAIAQX9HDQELIAZFBEAgBygCDCAAQQJ0.aigCAEF/Rw0BC0F/IQYCf0F/IAFBf0YNABogBygCDCABQQJ0aigCAEF/Rw0BQX8gAUEBaiIQIAFBAmsgEEEDcBsiEEF/Rg0AGiAJIBBBAnRqKAIACyEVIAMg.CEEDbCIQNgIIIAcoAgwiCSAQQQJ0aiALNgIAIAkgC0ECdGogEDYCACAJIAMoAghBAWoiC0ECdGogADYCACAJIABBAnRqIAs2AgAgCSADKAIIQQJqIgBBAnRq.IAE2AgAgCSABQQJ0aiAANgIAIAcoAgAiACADKAIIIgtBAnRqIgEgBDYCACABIBc2AgggASAVNgIEIAUoAngiByAEQX8gC0EBaiIBGyIEQQN2Qfz///8BcWoi.CSAJKAIAQX4gBHdxNgIAIAFBf0cEQCAAIAFBAnRqKAIAIQYLIAcgBkEDdkH8////AXFqIgEgASgCAEF+IAZ3cTYCAEF/IQEgC0ECaiILQX9HBEAgACALQQJ0.aigCACEBCyAHIAFBA3ZB/P///wFxaiIAIAAoAgBBfiABd3E2AgAgA0EBOgBcIA0gA0HcAGoQRCATIANBCGoQiwEgCEEBaiEIDAELDAMLIAMoAkwiASADKAJI.Rw0ACyAFKAIIIQYLIAggBigCBCAGKAIAa0ECdUEDbkcNACAGKAIcIAYoAhhrQQJ1IQIgAygCJCIEIAMoAigiC0YNAQNAIAYoAhgiCCACQQFrIgFBAnRqIgAo.AgBBf0YEQANAIAJBAmshASACQQFrIQIgCCABQQJ0aiIAKAIAQX9GDQALCyAEKAIAIgggAU0EQCADIAY2AgggACgCACEAIANBAToAFCADIAA2AhAgAyAANgIM.IABBf0cEQANAIAEgBSgCCCgCACAAQQJ0aiIAKAIARwRAQX8hAgwFCyAAIAg2AgAgA0EIahBvIAMoAhAiAEF/Rw0ACyAFKAIIIQYLIAYoAhgiByABQQJ0aiEA.IAhBf0cEQCAHIAhBAnRqIAAoAgA2AgALIABBfzYCAEEBIAh0IQAgBSgCeCIHIAhBA3ZB/P///wFxaiIIAn9BASABdCIJIAcgAUEDdkH8////AXFqIgEoAgBx.BEAgCCgCACAAcgwBCyAIKAIAIABBf3NxCzYCACABIAEoAgAgCUF/c3E2AgAgAkEBayECCyAEQQRqIgQgC0cNAAsLIAMoAiQhBAsgBARAIAMgBDYCKCAEEAUL.IAMoAjgiAARAA0AgACgCACAAEAUiAA0ACwsgAygCMCEAIANBADYCMCAABEAgABAFCyADKAJIIgAEQCADIAA2AkwgABAFCyADQeAAaiQAIAJBf0YNACARKAIA.IBEpAxAiGqdqIQEgESkDCCAafachCCAFKAIEKAIgIgAgAC8BJjsBJiAAIAE2AgAgAEIANwMQIAAgCK03AwggBSgCBCIALwEkIgFBCHQgAUEIdnIiCEH//wNx.QYEETQRAIAAoAiAiACAAKQMQIA6sfDcDEAsCQCAFKALYASAFKALcAUYNACAFKAIIIgEoAgAhACABKAIEIQECQCAIQf//A3FBgQRPBEAgACABRg0CDAELIAAg.AUYNAQNAAkAgDCAKNgIMIAUgDEEMahCQAUUNACAKQQNqIgogBSgCCCIAKAIEIAAoAgBrQQJ1SQ0BDAMLC0EAIQoMAgsDQAJAIAwgCjYCCCAFIAxBCGoQjwFF.DQAgCkEDaiIKIAUoAggiACgCBCAAKAIAa0ECdUkNAQwCCwtBACEKDAELIBQQjgEgBSgC2AEiCiAFKALcAUcEQEEAIQ4DQCAKIA5BkAFsIgBqQQRqIAUoAggQ.fCAWKAIAIgQgAGoiASgChAEiCiABKAKIASIBRwRAA0AgFigCACEIIAwgCigCADYCBCAAIAhqQQRqIAxBBGoQeiAKQQRqIgogAUcNAAsgFigCACEEC0EAIQog.ACAEakEEahB7RQ0CIA5BAWoiDiAFKALcASAFKALYASIKa0GQAW1JDQALCyAFQbgBaiAFKAIIIgAoAhwgACgCGGtBAnUQRSAFKALYASIEIAUoAtwBRwRAQQAh.CgNAIAQgCkGQAWxqIgBB6ABqIAAoAjwgACgCOGtBAnUiACAFKAIIIgEoAhwgASgCGGtBAnUiASAAIAFKGxBFIApBAWoiCiAFKALcASAFKALYASIEa0GQAW1J.DQALCyAFIAIQjQEhCgsMAQtBACEKCyAMQdAAaiQAIAoLJQEBfyAAQdwONgIAIAAoAggiAQRAIAAgATYCDCABEAULIAAQBQv3NwIYfwN+IwBB0ABrIgwkACAA.QQA2AoQBIAAoApQBBEAgACgCkAEiCQRAA0AgCSgCACAJEAUiCQ0ACwsgAEEANgKQAQJAIAAoAowBIgFFDQAgAUECdCIBRQ0AIAAoAogBQQAgAfwLAAsgAEEA.NgKUAQsCQAJAIAAoAgQiCS0AJCIBQQh0IAktACVyQYEETQRAIAkoAiAhAgJAIAFB/wFxQQFNBEAgAikDECIZQgR8IhogAikDCFUNAyACKAIAIBmnaigAACEL.IAIgGjcDEAwBC0EBIAxBEGogAhASRQ0CIAAoAgQiCS0AJCEBIAwoAhAhCwsgACALNgKEAQsgCSgCICECAkAgAUH/AXFBAU0EQCACKQMQIhlCBHwiGiACKQMI.VQRAQQAhCQwECyAMIAIoAgAgGadqKAAAIgE2AkwgAiAaNwMQDAELQQEgDEHMAGogAhASRQRAQQAhCQwDCyAAKAIEIQkgDCgCTCEBCyAAIAE2ApwBIAkoAiAh.AQJAIAktACRBAU0EQCABKQMQIhlCBHwiGiABKQMIVQRAQQAhCQwECyAMIAEoAgAgGadqKAAAIg82AkggASAaNwMQDAELQQEgDEHIAGogARASRQRAQQAhCQwD.CyAMKAJIIQ8LQQAhCSAPQdWq1aoFSw0BIAAoApwBIgEgD0EDbCICSw0BIAJBAXatIAGsIhlCAX0gGX5CAYhWDQEgACgCBCICKAIgIgEpAwgiGiABKQMQIhlX.DQEgASgCACIFIBmnai0AACEGIAEgGUIBfCIbNwMQAkAgAi0AJEEBTQRAIBogGUIFfCIZUw0DIAwgBSAbp2ooAAAiCzYCRCABIBk3AxAMAQtBASAMQcQAaiAB.EBJFDQIgDCgCRCELCyALIA9LDQEgDyALQQNuIAtqSw0BIAAoAgQiASgCICECAkAgAS0AJEEBTQRAIAIpAxAiGUIEfCIaIAIpAwhVDQMgDCACKAIAIBmnaigA.ACIBNgJAIAIgGjcDEAwBC0EBIAxBQGsgAhASRQ0CIAwoAkAhAQsgASALSw0BIAAgACgCGDYCHEHYABAGEH4hBSAAKAIIIQIgACAFNgIIIAIEQCACECogACgC.CEUNAgsgACAAKAKgATYCpAEgAEGgAWogDxBHIAAgACgCrAE2ArABIABBrAFqIA8QRyAAQQA2AkAgAEF/NgJcIABCfzcCVCAAIAAoAiQ2AiggACAAKAIwNgI0.IAAgACgCSDYCTCAAQdgBaiITEJIBIBMgBhCRASAAKAIIIA8gACgCnAEgAWoQfUUNASAAKAKcASECIAxBAToAECAAQfgAaiABIAJqIAxBEGoQGgJAIAAoAgQi.AS0AJCICQQh0IAEtACVyQYEETQRAIAEoAiAhAQJAIAJBAU0EQCABKQMQIhlCBHwiGiABKQMIVQ0FIAEoAgAgGadqKAAAIQ8gASAaNwMQDAELQQEgDEE8aiAB.EBJFDQQgDCgCPCEPCyAPRQ0DIA+tIAAoAgQoAiAiASkDCCABKQMQfVUNAyAMQRBqIgFBADsBJiABQQA2AgAgAUIANwMIIAFCADcDECABQgA3AxggAUIANwAd.IAAoAgQoAiAiAigCACACKQMQIhmnaiAPaiEFIAIpAwggGX2nIA9rIQcgASACLwEmOwEmIAEgBTYCACABQgA3AxAgASAHrTcDCCAAIAEQRiIPQX9HDQEMAwtB.fyEPIAAgASgCIBBGQX9GDQILIABB6AFqIhYiASAANgKQASAAIAAoAgAoAiARAAAoAiAiAigCACACKAIQaiECIAAgACgCACgCIBEAACgCICIFKQMIIAUpAxB9.pyEFIAEgACAAKAIAKAIgEQAAKAIgLwEmOwEmIAEgAjYCACABQgA3AxAgASAFrTcDCCAAIAY2AvQCIAxBEGoiAUEAOwEmIAFBADYCACABQgA3AwggAUIANwMQ.IAFCADcDGCABQgA3AB0CQCAWIAEiFBDpAUUNAEEAIQcjAEHQAGsiAyQAIANBADYCQCADQgA3AjggA0IANwMoIANCADcDICADQYCAgPwDNgIwIANBADYCHCAD.QgA3AhQgACIGKAJ8IRACQAJAIAtBAEoEQCAAKALYASAAKALcAUchFQNAAkACfwJ/AkACQAJAAkACQAJAIAYtALQCQQFHDQACQAJAIAYoAqgCIgUgBigCsAIi.AkEDdmoiACAGKAKsAiIETw0AIAAtAAAgBiACQQFqIgA2ArACIAJBB3F2QQFxRQ0AQQAhAQJAIAQgBSAAQQN2IgdqIgpNBEAgACECDAELIAotAAAgBiACQQJq.IgI2ArACIAJBA3YhByAAQQdxdkEBcSEBCyAEIAUgB2oiAEsEQCAALQAAIAYgAkEBajYCsAIgAkEHcXZBAXRBAnEgAXIhAQtBfyEFIAFBAXQOBwINAQ0BDQMN.CyADKAI8IgAgAygCOEYEQEF/IQUMDQtBfyEEIAYoAggiBygCGCIRAn9BfyAAQQRrIhIoAgAiAUF/Rg0AGkF/IAFBAWoiACABQQJrIABBA3AbIgBBf0YNABog.BygCACAAQQJ0aigCAAsiCkECdGooAgAiAEF/RwRAIABBAWoiAiAAQQJrIAJBA3AbIQQLIAEgBEYEQEF/IQUMDQsgAUF/RwRAQX8hBSAHKAIMIAFBAnRqKAIA.QX9HDQ0LIAcoAgwhACAEQX9HBEBBfyEFIAAgBEECdGooAgBBf0cNDQsgACABQQJ0aiAIQQNsIg1BAWoiAjYCACAAIAJBAnQiF2ogATYCACAAIARBAnRqIA1B.AmoiDjYCACAAIA5BAnQiGGogBDYCAEF/IQACf0F/IAFBf0YNABoCQCABQQNwBEAgAUEBayECDAELQX8gAUECaiICQX9GDQEaCyAHKAIAIAJBAnRqKAIACyEB.AkAgBEF/Rg0AIARBAWoiAiAEQQJrIAJBA3AbIgJBf0YNACAHKAIAIAJBAnRqKAIAIQALQX8hBSABIApGDQwgACAKRg0MIAcoAgAiAiANQQJ0aiAKNgIAIAIg.F2ogADYCACACIBhqIAE2AgAgAUF/RwRAIBEgAUECdGogDjYCAAsgBigCeCAKQQN2Qfz///8BcWoiACAAKAIAQX4gCndxNgIAIBIgDTYCAAwJCyADKAI8IgAg.AygCOEYNCyAGKAIIIgIoAgwhBCAAQQRrKAIAIgBBf0cEQCAEIABBAnRqKAIAQX9HDQwLIAQgCEEDbCIHQQJBASABQQJGIgobaiINQQJ0IhFqIAA2AgAgBCAA.QQJ0aiANNgIAIAMgAigCHCIBNgJMIAIoAiAhBCADIAJBGGo2AgggA0Gc2QA2AgQgAyADQcwAajYCACACAn8gASAESQRAIAFBfzYCACABQQRqDAELIAMQCSAD.KAJMCyIENgIcIAYoAggiASgCHCABKAIYIg5rQQJ1IBBKDQsgASgCACIBIBFqIAQgAigCGCICa0ECdUEBayIFNgIAIAIgBEcEQCAOIAVBAnRqIA02AgALIAcg.B0ECaiAKGyECIAEgB0ECdGogCkECdGoCfyAAQX9GBEAgASACQQJ0akF/NgIAQX8MAQsCQAJAAkAgAEEDcARAIABBAWshBAwBCyAAQQJqIgRBf0YNAQsgASAC.QQJ0aiABIARBAnRqKAIAIgU2AgAgBUF/Rg0BIA4gBUECdGogAjYCAAwBCyABIAJBAnRqQX82AgALQX8gAEEBaiICIABBAmsgAkEDcBsiAEF/Rg0AGiABIABB.AnRqKAIACzYCACADKAI8QQRrIAc2AgAMAgtBfyEFIAMoAjgiDSADKAI8IgBGDQogAEEEayIBKAIAIQcgAyABNgI8AkAgAygCJCIERQRAIAEhAAwBCyADKAIs.RQRAIAEhAAwBCyADKAIgAn8gBEH/////B2ogCHEgBGlBAUsiCkUNABogCCAEIAhLDQAaIAggBHALIg5BAnRqKAIAIgJFBEAgASEADAELIAIoAgAiAkUEQCAB.IQAMAQsCQCAKRQRAIARBAWshBANAAkAgCCACKAIEIgpHBEAgBCAKcSAORg0BIAEhAAwFCyACKAIIIAhGDQMLIAIoAgAiAg0ACyABIQAMAgsDQAJAIAggAigC.BCIKRwRAIAQgCk0EfyAKIARwBSAKCyAORg0BIAEhAAwECyACKAIIIAhGDQILIAIoAgAiAg0ACyABIQAMAQsgAyABNgJMIAMoAkAhBCADIAJBDGo2AgQgAyAD.QThqNgIIIAMgA0HMAGo2AgACQCABIARJBEAgASACKAIMNgIADAELIAMQCSADKAJMIQALIAMgADYCPCADKAI4IQ0LIAAgDUYNCiAAQQRrKAIAIgIgB0YNCiAG.KAIIIQQgAkF/RiIRRQRAIAQoAgwgAkECdGooAgBBf0cNCwsgBCgCDCEBIAdBf0cEQCABIAdBAnRqKAIAQX9HDQsLIAEgAkECdGogCEEDbCIKQQJqIg42AgAg.ASAOQQJ0Ig1qIAI2AgAgASAHQQJ0aiAKQQFqIgU2AgAgASAFQQJ0IhJqIAc2AgAgEQ0CIAJBA3AEQCACQQFrIQEMBQsgAkECaiIBQX9HDQQgBCgCACEFQX8M.BQsgAyAIQQNsNgJIIAMgBigCCCIBKAIcIgA2AkwgASgCICECIAMgAUEYajYCCCADQZzZADYCBCADIANBzABqNgIAIAECfyAAIAJJBEAgAEF/NgIAIABBBGoM.AQsgAxAJIAMoAkwLIgI2AhwgAygCSEECdCIHIAYoAggiACgCAGogAiABKAIYIgRrIgVBAnUiCkEBayINNgIAIAMgACgCHCIBNgJMIAAoAiAhDiADIABBGGo2.AgggA0Gc2QA2AgQgAyADQcwAajYCACAAAn8gASAOSQRAIAFBfzYCACABQQRqDAELIAMQCSADKAJMCyIBNgIcIAAoAgAgB2ogASAAKAIYa0ECdUEBazYCBCAD.KAJIIQcgAyAGKAIIIgAoAhwiATYCTCAAKAIgIQ4gAyAAQRhqNgIIIANBnNkANgIEIAMgA0HMAGo2AgAgAAJ/IAEgDkkEQCABQX82AgAgAUEEagwBCyADEAkg.AygCTAsiATYCHCAAKAIAIAdBAnRqIAEgACgCGGtBAnVBAWs2AgggBigCCCIAKAIcIAAoAhgiAGtBAnUgEEoNAiADKAJIIQcCQAJAIAIgBEcEQCAAIA1BAnRq.IAc2AgBBACEBIAVBfEYNAQsgACAFaiAHQQFqNgIAIApBAWoiAUF/Rg0BCyAAIAFBAnRqIAMoAkhBAmo2AgALIAMgAygCPCIANgJMIAMoAkAhASADIANBOGo2.AgggAyADQcgAajYCBCADIANBzABqNgIAIAMCfyAAIAFJBEAgACADKAJINgIAIABBBGoMAQsgAxAJIAMoAkwLNgI8CyAGKAIoIgIgBigCJEYNBSALIAhBf3Nq.IQEDQCABIAJBCGsoAgAiAEkEQEF/IQUMCgsgACABRw0GIAJBBGstAAAhBSACQQxrIgAoAgAhAiAGIAA2AiggAkEASARAQX8hBQwKCyADKAI8QQRrKAIAIQAg.AyALIAJBf3NqNgIQIAMgA0EQaiICNgJIIAMgA0EgajYCTCADIANBzABqIAIgA0HIAGoQjAEgAygCAAJ/IAVBAXEEQEF/IABBf0YNARogAEEBaiICIABBAmsg.AkEDcBsMAQtBfyAAQX9GDQAaIABBAWsgAEEDcA0AGiAAQQJqCzYCDCAGKAIoIgIgBigCJEcNAAsMBQtBfyEBIAQoAgAiBSAKQQJ0akF/NgIAQX8MAwtBfyEF.DAYLIAQoAgAiBSABQQJ0aigCAAshASAFIApBAnRqIAE2AgBBfyACQQFqIhEgAkECayARQQNwGyICQX9GDQAaIAUgAkECdGooAgALIQIgBSASaiACNgIAAn8g.B0F/RgRAIAUgDWpBfzYCAEF/IQJBfwwBCwJAAkACQCAHQQNwBEAgB0EBayECDAELIAdBAmoiAkF/Rg0BCyAFIA1qIAUgAkECdGooAgAiAjYCACACQX9GDQEg.BCgCGCACQQJ0aiAONgIADAELIAUgDWpBfzYCAAtBfyECQX8gB0EBaiIFIAdBAmsgBUEDcBsiBUF/Rg0AGiAEKAIAIAVBAnRqKAIAIQIgBQshBSADIAI2Akgg.BCgCGCEHIAFBf0cEQCAHIAFBAnRqIAcgAkECdGooAgA2AgALIAUhAgJAA0AgAkF/Rg0BIAQoAgAgAkECdGogATYCAAJ/QX8gAkEBaiINIAJBAmsgDUEDcBsi.AkF/Rg0AGkF/IAQoAgwgAkECdGooAgAiAkF/Rg0AGiACQQFqIg0gAkECayANQQNwGwsiAiAFRw0AC0F/IQUMBAsgByADKAJIIgFBAnRqQX82AgAgFQR/IAAF.IAMgAygCGCIANgJMIAMoAhwhAiADIANBFGo2AgggAyADQcgAajYCBCADIANBzABqNgIAIAMCfyAAIAJJBEAgACABNgIAIABBBGoMAQsgAxAJIAMoAkwLNgIY.IAMoAjwLQQRrIAo2AgALIAhBAWoiCCALRw0ACyALIQcLQX8hBSAGKAIIIggoAhwgCCgCGGtBAnUgEEoNACADKAI8IgIgAygCOEcEQCAGQcgAaiENIAZBPGoh.DiAGQbgCaiEVA0AgAkEEayIAKAIAIQEgAyAANgI8IAMgATYCSAJAAkACQCAGLwGOAkGBBE0EQCAGKALgAiAGKALoAiIAQQN2aiIBIAYoAuQCTw0BIAEtAAAg.BiAAQQFqNgLoAiAAQQdxdkEBcUUNAQwCCyAVEBANAQsgA0EAOgAAIA4gAxBEIAMgBigCTCIANgJMIAYoAlAhASADIA02AgggAyADQcgAajYCBCADIANBzABq.NgIAIAAgAUkEQCAAIAMoAkg2AgAgBiAAQQRqNgJMDAILIAMQCSAGIAMoAkw2AkwMAQsCQCAHIAYoAggiCigCBCAKKAIAIhBrQQJ1QQNuTg0AQX8hAQJAIAoo.AhgiBAJ/QX8gAygCSCILQX9GDQAaQX8gC0EBaiIAIAtBAmsgAEEDcBsiAEF/Rg0AGiAQIABBAnRqKAIACyIRQQJ0aigCACICQX9GBEBBASEIQX8hAAwBC0EB.IQhBfyEAIAJBAWoiEiACQQJrIBJBA3AbIgJBf0YNAEEAIQggAkEBaiIBIAJBAmsgAUEDcBsiAUF/RwRAIBAgAUECdGooAgAhAAsgAiEBC0F/IQIgBCAAQQJ0.aigCACIEQX9HBEAgBEEBaiICIARBAmsgAkEDcBshAgsgASALRg0AIAIgC0YNACABIAJGDQAgC0F/RwRAIAooAgwgC0ECdGooAgBBf0cNAQsgCEUEQCAKKAIM.IAFBAnRqKAIAQX9HDQELQX8hBAJ/QX8gAkF/Rg0AGiAKKAIMIAJBAnRqKAIAQX9HDQFBfyACQQFqIgggAkECayAIQQNwGyIIQX9GDQAaIBAgCEECdGooAgAL.IRIgAyAHQQNsIhA2AgAgCigCDCIIIBBBAnRqIAs2AgAgCCALQQJ0aiAQNgIAIAggAygCAEEBaiILQQJ0aiABNgIAIAggAUECdGogCzYCACAIIAMoAgBBAmoi.AUECdGogAjYCACAIIAJBAnRqIAE2AgAgCigCACIBIAMoAgAiC0ECdGoiAiAANgIAIAIgETYCCCACIBI2AgQgBigCeCIIIABBfyALQQFqIgAbIgJBA3ZB/P//./wFxaiIKIAooAgBBfiACd3E2AgAgAEF/RwRAIAEgAEECdGooAgAhBAsgCCAEQQN2Qfz///8BcWoiACAAKAIAQX4gBHdxNgIAQX8hAiALQQJqIgBBf0cEQCAB.IABBAnRqKAIAIQILIAggAkEDdkH8////AXFqIgAgACgCAEF+IAJ3cTYCACADQQE6AEwgDiADQcwAahBEIA0gAxCLASAHQQFqIQcMAQsMAwsgAygCPCICIAMo.AjhHDQALIAYoAgghCAsgByAIKAIEIAgoAgBrQQJ1QQNuRw0AIAgoAhwgCCgCGGtBAnUhBSADKAIUIgQgAygCGCILRg0BA0AgCCgCGCIAIAVBAWsiAkECdGoi.ASgCAEF/RgRAA0AgBUECayECIAVBAWshBSAAIAJBAnRqIgEoAgBBf0YNAAsLIAQoAgAiACACTQRAIAMgCDYCACABKAIAIQEgA0EBOgAMIAMgATYCCCADIAE2.AgQgAUF/RwRAA0AgAiAGKAIIKAIAIAFBAnRqIgEoAgBHBEBBfyEFDAULIAEgADYCACADEG8gAygCCCIBQX9HDQALIAYoAgghCAsgCCgCGCIHIAJBAnRqIQEg.AEF/RwRAIAcgAEECdGogASgCADYCAAsgAUF/NgIAQQEgAHQhASAGKAJ4IgcgAEEDdkH8////AXFqIgACf0EBIAJ0IgogByACQQN2Qfz///8BcWoiAigCAHEE.QCAAKAIAIAFyDAELIAAoAgAgAUF/c3ELNgIAIAIgAigCACAKQX9zcTYCACAFQQFrIQULIARBBGoiBCALRw0ACwsgAygCFCEECyAEBEAgAyAENgIYIAQQBQsg.AygCKCICBEADQCACKAIAIAIQBSICDQALCyADKAIgIQAgA0EANgIgIAAEQCAAEAULIAMoAjgiAARAIAMgADYCPCAAEAULIANB0ABqJAAgBUF/Rg0AIBQoAgAg.FCkDECIZp2ohASAUKQMIIBl9pyECIAYoAgQoAiAiACAALwEmOwEmIAAgATYCACAAQgA3AxAgACACrTcDCCAGKAIEIgAvASQiAUEIdCABQQh2ciICQf//A3FB.gQRNBEAgACgCICIAIAApAxAgD6x8NwMQCwJAIAYoAtgBIAYoAtwBRg0AIAYoAggiASgCACEAIAEoAgQhAQJAIAJB//8DcUGBBE8EQCAAIAFGDQIMAQsgACAB.Rg0BA0ACQCAMIAk2AgwgBiAMQQxqEJABRQ0AIAlBA2oiCSAGKAIIIgAoAgQgACgCAGtBAnVJDQEMAwsLQQAhCQwCCwNAAkAgDCAJNgIIIAYgDEEIahCPAUUN.ACAJQQNqIgkgBigCCCIAKAIEIAAoAgBrQQJ1SQ0BDAILC0EAIQkMAQsgFhCOASAGKALYASIJIAYoAtwBRwRAQQAhCwNAIAkgC0GQAWwiAGpBBGogBigCCBB8.IBMoAgAiASAAaiICKAKEASIJIAIoAogBIgJHBEADQCATKAIAIQEgDCAJKAIANgIEIAAgAWpBBGogDEEEahB6IAlBBGoiCSACRw0ACyATKAIAIQELQQAhCSAA.IAFqQQRqEHtFDQIgC0EBaiILIAYoAtwBIAYoAtgBIglrQZABbUkNAAsLIAZBuAFqIAYoAggiACgCHCAAKAIYa0ECdRBFIAYoAtgBIgEgBigC3AFHBEBBACEJ.A0AgASAJQZABbGoiAEHoAGogACgCPCAAKAI4a0ECdSIAIAYoAggiASgCHCABKAIYa0ECdSIBIAAgAUobEEUgCUEBaiIJIAYoAtwBIAYoAtgBIgFrQZABbUkN.AAsLIAYgBRCNASEJCwwBC0EAIQkLIAxB0ABqJAAgCQsjAQF/IABB3A42AgAgACgCCCIBBEAgACABNgIMIAEQBQsgAAsWACAAKAIwIgAgASAAKAIAKAIQEQEA.CxYAIAAoAjAiACABIAAoAgAoAgwRAQALFAAgACgCMCIAIAAoAgAoAiQRAAALqQEBA38gAEGI2AA2AgAgACgCMCEBIABBADYCMCABBEAgASABKAIAKAIEEQIA.CyAAQeDnADYCACAAKAIUIgEEQCAAIAE2AhggARAFCyAAKAIIIgEEQCABIgIgACgCDCIDRwRAA0AgA0EEayIDKAIAIQIgA0EANgIAIAIEQCACIAIoAgAoAgQR.AgALIAEgA0cNAAsgACgCCCECCyAAIAE2AgwgAhAFCyAAEAULpwEBA38gAEGI2AA2AgAgACgCMCEBIABBADYCMCABBEAgASABKAIAKAIEEQIACyAAQeDnADYC.ACAAKAIUIgEEQCAAIAE2AhggARAFCyAAKAIIIgEEQCABIgIgACgCDCIDRwRAA0AgA0EEayIDKAIAIQIgA0EANgIAIAIEQCACIAIoAgAoAgQRAgALIAEgA0cN.AAsgACgCCCECCyAAIAE2AgwgAhAFCyAACxQAIAAoAjAiACAAKAIAKAIcEQAACxQAIAAoAjAiACAAKAIAKAIYEQAAC9sKAgJ/AX4gACgCICIBKQMIIAEpAxAi.A1cEQEEADwsgASgCACADp2otAAAhAiABIANCAXw3AxAgACgCMCEBIABBADYCMCABBEAgASABKAIAKAIEEQIACwJAAkACfwJAAkACQCACDgMAAQIEC0GAAxAG.IgFB9NgANgIAIAFBBGpBAEHQAPwLACABQgA3A2AgAUF/NgJcIAFCfzcCVCABQgA3A2ggAUIANwNwIAFCADcDeCABQgA3A4ABIAFCADcDiAEgAUIANwOQASAB.QgA3ApwBIAFBgICA/AM2ApgBIAFCADcCpAEgAUIANwKsASABQgA3ArQBIAFCADcCvAEgAUIANwLEASABQgA3AswBIAFC/////w83AtQBIAFCADcC3AEgAUHo.AWoiAkEAOwEmIAJBADYCACACQgA3AwggAkIANwMQIAJCADcDGCACQgA3AB0gAUGQAmoiAkEAOwEmIAJBADYCACACQgA3AwggAkIANwMQIAJCADcDGCACQgA3.AB0gAUG4AmoiAkIANwAFIAJCADcCACABQcgCaiICQQA7ASYgAkEANgIAIAJCADcDCCACQgA3AxAgAkIANwMYIAJCADcAHSABQQA2AvgCIAFCADcD8AIgAQwC.C0GoAxAGIgFBqNkANgIAIAFBBGpBAEHQAPwLACABQgA3A2AgAUF/NgJcIAFCfzcCVCABQgA3A2ggAUIANwNwIAFCADcDeCABQgA3A4ABIAFCADcDiAEgAUIA.NwOQASABQgA3ApwBIAFBgICA/AM2ApgBIAFCADcCpAEgAUIANwKsASABQgA3ArQBIAFCADcCvAEgAUIANwLEASABQgA3AswBIAFC/////w83AtQBIAFCADcC.3AEgAUHoAWoiAkEAOwEmIAJBADYCACACQgA3AwggAkIANwMQIAJCADcDGCACQgA3AB0gAUGQAmoiAkEAOwEmIAJBADYCACACQgA3AwggAkIANwMQIAJCADcD.GCACQgA3AB0gAUG4AmoiAkIANwAFIAJCADcCACABQcgCaiICQQA7ASYgAkEANgIAIAJCADcDCCACQgA3AxAgAkIANwMYIAJCADcAHSABQgA3A4gDIAFCADcD.gAMgAUIANwP4AiABQgA3A/ACIAFBkANqIgJCADcABSACQgA3AgAgAUJ/NwOgAyABDAELQbgDEAYiAUHY2QA2AgAgAUEEakEAQdAA/AsAIAFCADcDYCABQX82.AlwgAUJ/NwJUIAFCADcDaCABQgA3A3AgAUIANwN4IAFCADcDgAEgAUIANwOIASABQgA3A5ABIAFCADcCnAEgAUGAgID8AzYCmAEgAUIANwKkASABQgA3AqwB.IAFCADcCtAEgAUIANwK8ASABQgA3AsQBIAFCADcCzAEgAUL/////DzcC1AEgAUIANwLcASABQegBaiICQQA7ASYgAkEANgIAIAJCADcDCCACQgA3AxAgAkIA.NwMYIAJCADcAHSABQZACaiICQQA7ASYgAkEANgIAIAJCADcDCCACQgA3AxAgAkIANwMYIAJCADcAHSABQbgCaiICQgA3AAUgAkIANwIAIAFByAJqIgJBADsB.JiACQQA2AgAgAkIANwMIIAJCADcDECACQgA3AxggAkIANwAdIAFCADcDiAMgAUIANwOAAyABQgA3A/gCIAFCADcD8AIgAUIANwOgAyABQoKAgIDwADcDmAMg.AUJ/NwOQAyABQgA3A6gDIAFCADcDsAMgAQshASAAKAIwIQIgACABNgIwIAJFDQEgAiACKAIAKAIEEQIACyAAKAIwIgENAEEADwsgASAAIAEoAgAoAggRAQAL.FgAgACgCMCIAIAEgACgCACgCFBEBAAt+AQN/IABB4OcANgIAIAAoAhQiAgRAIAAgAjYCGCACEAULIAAoAggiAgRAIAIiASAAKAIMIgNHBEADQCADQQRrIgMo.AgAhASADQQA2AgAgAQRAIAEgASgCACgCBBECAAsgAiADRw0ACyAAKAIIIQELIAAgAjYCDCABEAULIAALGwAgACgCLEUEQEEADwsgACAAKAIAKAIwEQAAC5gB.AgR/AX4jAEEQayICJAACQCAAKAIEIgNBf0YNACABKQMQQgBVDQAgASABKAIEIAAoAggiBCAAKAIMIgUgBSAEaxBTIAEpAxBCAFUNACABIAEoAgQgAEEUaiAA.QRhqQQQQUyABKQMQIAIgACgCBDoAD0IAVQ0AIAEgASgCBCACQQ9qIAJBEGpBARBTCyACQRBqJAAgA0F/Rwt1AQF/IABBpNYANgIAIABB3A42AhggACgCICIB.BEAgACABNgIkIAEQBQsgAEHEEzYCACAAKAIUIQEgAEEANgIUIAEEQCABIAEoAgAoAgQRAgALIABB7BE2AgAgACgCECEBIABBADYCECABBEAgARAXCyAAEAUL.cwEBfyAAQaTWADYCACAAQdwONgIYIAAoAiAiAQRAIAAgATYCJCABEAULIABBxBM2AgAgACgCFCEBIABBADYCFCABBEAgASABKAIAKAIEEQIACyAAQewRNgIA.IAAoAhAhASAAQQA2AhAgAQRAIAEQFwsgAAsTACAAQRhqIAAQNSAAKAIIEPMBCyUBAX8gAEEYaiAAEDUiAQR/IAEFIAAoAggLIAAoAgQoAiAQ7AELEQAgACAB.IAAoAgAoAjgRAQALMwACfyAAKAIELQAkQQJPBEBBACAAIAAoAgAoAjQRAABFDQEaCyAAQRhqIAAoAhAQiAELCwkDDn8BfQR+AAtAAQJ/IAFBAjYCACABKAIM.IAEoAggiA2siAkF7TQR/IAFBCGogAkEEaq0QYyABKAIIBSADCyACaiAAKAIENgAACy8AAn8gACgCBC0AJEEBTQRAQQAgACAAKAIAKAI0EQAARQ0BGgsgACAB.IAIQmwELC0MBAX8gACABNgIEIAEoAgQoAgggAkECdGooAgAhAyAAIAI2AgwgACADNgIIIAEoAgQoAgggAkECdGooAgAoAhxBCUYL+QECBH8BfiMAQSBrIgUk.AEF/IARBAnQgBEH/////A0sbIgYQBiEHIAYEQCAHQQAgBvwLAAsgASkCACEKIAUgBykCADcCECAFIAo3AgggBUEYaiAAQQhqIgggBUEQaiAFQQhqEGsgAiAF.KAIYNgIAIAIgBSgCHDYCBCADIARKBEBBACAEa0ECdCEJIAQhAANAIAEgAEECdCIGaikCACEKIAUgAiAGaiIGIAlqKQIANwIQIAUgCjcCCCAFQRhqIAggBUEQ.aiAFQQhqEGsgBiAFKAIYNgIAIAYgBSgCHDYCBCAAIARqIgAgA0gNAAsLIAcQBSAFQSBqJABBAQunBwIKfwJ+IwBBMGsiBiQAIAAoAggiB0ECa0EcTQRAIAAg.BzYCTCAAQX5BfyAHdCIJayIHNgJUIAAgCUF/czYCUCAAIAdBAXY2AlwgAEMAAABAIAezlTgCWAsgACAFNgI0AkACQCAEIAAoAigiBCgCBCAEKAIAa0ECdSIK.bCILIANKDQAgBkEANgIQIAZCADcDCCAKQQBMDQAgAEEIaiEMIABBLGohDSAAQeAAaiEOQQAhCQNAIAkgACgCKCIEKAIEIAQoAgAiBGtBAnVPDQIgBiAEIAlB.AnRqKAIANgIEIA0gBkEEaiAGQQhqEEgCQCAGKAIMIgQgBEEfdSIFcyAFayAGKAIIIgUgBUEfdSIHcyAHa2qtIAYoAhAiByAHQR91IghzIAhrrXwiEFAEQCAG.IAAoAlw2AggMAQsgBiAAKAJcIgisIhEgBax+IBB/pyIFNgIIIAYgESAErH4gEH+nIgQ2AgwgBCAEQR91Ig9zIA9rIAUgBUEfdSIEcyAEa2ohBCAHQQBOBEAg.BiAIIARrNgIQDAELIAYgBCAIazYCEAsgDhAQIQQgBigCCCEFAkAgBARAIAZBACAGKAIQazYCECAGQQAgBigCDGsiBzYCDCAGQQAgBWsiBTYCCAwBCyAGKAIM.IQcLAkAgBUEATgRAIAAoAlwiBSAGKAIQaiEEIAUgB2ohBQwBCwJ/IAdBAEgEQCAGKAIQIgQgBEEfdSIFcyAFawwBCyAAKAJUIAYoAhAiBEEfdSIFIAQgBXNr.agshBSAEQQBIBEAgByAHQR91IgRzIARrIQQMAQsgACgCVCAHQR91IgQgBCAHc2tqIQQLIAAoAlQhBwJAIAQgBXJFBEAgByIEIQUMAQsCQCAFDQAgBCAHRw0A.IAQhBQwBCwJAIAQNACAFIAdHDQAgBSEEDAELAkAgBQ0AIAQgACgCXCIITA0AIAhBAXQgBGshBEEAIQUMAQsCQCAFIAdHDQAgBCAAKAJcIghODQAgCEEBdCAE.ayEEDAELAkAgBCAHRw0AIAUgACgCXCIHTg0AIAdBAXQgBWshBQwBCyAEDQBBACEEIAUgACgCXCIHTA0AIAdBAXQgBWshBQsgASAJQQN0IgdqKQIAIRAgBiAE.NgIkIAYgBTYCICAGIBA3AhggBkEoaiAMIAZBIGogBkEYahBrIAIgB2oiBCAGKAIoNgIAIAQgBigCLDYCBCAJQQFqIgkgCkcNAAsLIAZBMGokACADIAtODwsQ.FQALDwAgAEGgzgA2AgAgABAFCw0AIABBoM4ANgIAIAALoQECAn8DfgJAIAEpAwgiBSABKQMQIgRCBHwiBlMNACABKAIAIASnaigAACEDIAEgBjcDECAFIARC.CHwiBFMNACABIAQ3AxAgA0EBcUUNACADZyIBQQJrQRxLDQAgAEEgIAFrIgE2AgggAEF+QX8gAXQiAmsiATYCECAAIAJBf3M2AgxBASECIAAgAUEBdjYCGCAA.QwAAAEAgAbOVOAIUCyACC6cHAgp/An4jAEEwayIGJAAgACgCCCIHQQJrQRxNBEAgACAHNgJMIABBfkF/IAd0IglrIgc2AlQgACAJQX9zNgJQIAAgB0EBdjYC.XCAAQwAAAEAgB7OVOAJYCyAAIAU2AjQCQAJAIAQgACgCKCIEKAIEIAQoAgBrQQJ1IgpsIgsgA0oNACAGQQA2AhAgBkIANwMIIApBAEwNACAAQQhqIQwgAEEs.aiENIABB4ABqIQ5BACEJA0AgCSAAKAIoIgQoAgQgBCgCACIEa0ECdU8NAiAGIAQgCUECdGooAgA2AgQgDSAGQQRqIAZBCGoQSgJAIAYoAgwiBCAEQR91IgVz.IAVrIAYoAggiBSAFQR91IgdzIAdraq0gBigCECIHIAdBH3UiCHMgCGutfCIQUARAIAYgACgCXDYCCAwBCyAGIAAoAlwiCKwiESAFrH4gEH+nIgU2AgggBiAR.IASsfiAQf6ciBDYCDCAEIARBH3UiD3MgD2sgBSAFQR91IgRzIARraiEEIAdBAE4EQCAGIAggBGs2AhAMAQsgBiAEIAhrNgIQCyAOEBAhBCAGKAIIIQUCQCAE.BEAgBkEAIAYoAhBrNgIQIAZBACAGKAIMayIHNgIMIAZBACAFayIFNgIIDAELIAYoAgwhBwsCQCAFQQBOBEAgACgCXCIFIAYoAhBqIQQgBSAHaiEFDAELAn8g.B0EASARAIAYoAhAiBCAEQR91IgVzIAVrDAELIAAoAlQgBigCECIEQR91IgUgBCAFc2tqCyEFIARBAEgEQCAHIAdBH3UiBHMgBGshBAwBCyAAKAJUIAdBH3Ui.BCAEIAdza2ohBAsgACgCVCEHAkAgBCAFckUEQCAHIgQhBQwBCwJAIAUNACAEIAdHDQAgBCEFDAELAkAgBA0AIAUgB0cNACAFIQQMAQsCQCAFDQAgBCAAKAJc.IghMDQAgCEEBdCAEayEEQQAhBQwBCwJAIAUgB0cNACAEIAAoAlwiCE4NACAIQQF0IARrIQQMAQsCQCAEIAdHDQAgBSAAKAJcIgdODQAgB0EBdCAFayEFDAEL.IAQNAEEAIQQgBSAAKAJcIgdMDQAgB0EBdCAFayEFCyABIAlBA3QiB2opAgAhECAGIAQ2AiQgBiAFNgIgIAYgEDcCGCAGQShqIAwgBkEgaiAGQRhqEGsgAiAH.aiIEIAYoAig2AgAgBCAGKAIsNgIEIAlBAWoiCSAKRw0ACwsgBkEwaiQAIAMgC04PCxAVAAvjAQEFfyABQQE2AgAgAUEIaiEEIAEoAgwgASgCCCICayIDQXtN.BH8gBCADQQRqrRBjIAQoAgAFIAILIANqIAAoAgQ2AAAgACgCCCIDIAAoAgxHBEBBACECA0AgAyACQQJ0aiEGIAEoAgwgASgCCCIDayIFQXtNBH8gBCAFQQRq.rRBjIAQoAgAFIAMLIAVqIAYoAgA2AAAgAkEBaiICIAAoAgwgACgCCCIDa0ECdUkNAAsLIAEoAgwgASgCCCICayIBQXtNBH8gBCABQQRqrRBjIAQoAgAFIAIL.IAFqIAAoAhQ2AAALDwAgAEGsxgA2AgAgABAFCw0AIABBrMYANgIAIAAL+QECBX8BfiMAQSBrIgUkAEF/IARBAnQgBEH/////A0sbIgYQBiEHIAYEQCAHQQAg.BvwLAAsgBykCACELIAUgASkCADcCGCAFIAs3AgggBUEQaiAAQQhqIgggBUEIaiAFQRhqEGwgAiAFKAIQNgIAIAIgBSgCFDYCBCADIARKBEBBACAEa0ECdCEJ.IAQhAANAIAIgAEECdCIKaiIGIAlqKQIAIQsgBSABIApqKQIANwIYIAUgCzcCCCAFQRBqIAggBUEIaiAFQRhqEGwgBiAFKAIQNgIAIAYgBSgCFDYCBCAAIARq.IgAgA0gNAAsLIAcQBSAFQSBqJABBAQujBwIKfwJ+IwBBMGsiBiQAIAAoAggiB0ECa0EcTQRAIAAgBzYCTCAAQX5BfyAHdCIJayIHNgJUIAAgCUF/czYCUCAA.IAdBAXY2AlwgAEMAAABAIAezlTgCWAsgACAFNgI0AkACQCAEIAAoAigiBCgCBCAEKAIAa0ECdSIKbCILIANKDQAgBkEANgIQIAZCADcDCCAKQQBMDQAgAEEI.aiEMIABBLGohDSAAQeAAaiEOQQAhCQNAIAkgACgCKCIEKAIEIAQoAgAiBGtBAnVPDQIgBiAEIAlBAnRqKAIANgIEIA0gBkEEaiAGQQhqEEgCQCAGKAIMIgQg.BEEfdSIFcyAFayAGKAIIIgUgBUEfdSIHcyAHa2qtIAYoAhAiByAHQR91IghzIAhrrXwiEFAEQCAGIAAoAlw2AggMAQsgBiAAKAJcIgisIhEgBax+IBB/pyIF.NgIIIAYgESAErH4gEH+nIgQ2AgwgBCAEQR91Ig9zIA9rIAUgBUEfdSIEcyAEa2ohBCAHQQBOBEAgBiAIIARrNgIQDAELIAYgBCAIazYCEAsgDhAQIQQgBigC.CCEFAkAgBARAIAZBACAGKAIQazYCECAGQQAgBigCDGsiBzYCDCAGQQAgBWsiBTYCCAwBCyAGKAIMIQcLAkAgBUEATgRAIAAoAlwiBSAGKAIQaiEEIAUgB2oh.BQwBCwJ/IAdBAEgEQCAGKAIQIgQgBEEfdSIFcyAFawwBCyAAKAJUIAYoAhAiBEEfdSIFIAQgBXNragshBSAEQQBIBEAgByAHQR91IgRzIARrIQQMAQsgACgC.VCAHQR91IgQgBCAHc2tqIQQLIAAoAlQhBwJAIAQgBXJFBEAgByIEIQUMAQsCQCAFDQAgBCAHRw0AIAQhBQwBCwJAIAQNACAFIAdHDQAgBSEEDAELAkAgBQ0A.IAQgACgCXCIITA0AIAhBAXQgBGshBEEAIQUMAQsCQCAFIAdHDQAgBCAAKAJcIghODQAgCEEBdCAEayEEDAELAkAgBCAHRw0AIAUgACgCXCIHTg0AIAdBAXQg.BWshBQwBCyAEDQBBACEEIAUgACgCXCIHTA0AIAdBAXQgBWshBQsgBiABIAlBA3QiB2opAgA3AiggBiAENgIcIAYgBTYCGCAGQSBqIAwgBkEYaiAGQShqEGwg.AiAHaiIEIAYoAiA2AgAgBCAGKAIkNgIEIAlBAWoiCSAKRw0ACwsgBkEwaiQAIAMgC04PCxAVAAsOACAAQew+NgIAIAAQBQsMACAAQew+NgIAIAALrQECAn8D.fgJAIAEpAwgiBSABKQMQIgRCBHwiBlMNACABKAIAIASnaigAACEDIAEgBjcDECABLwEmQYEETQRAIAUgBEIIfCIEUw0BIAEgBDcDEAsgA0EBcUUNACADZyIB.QQJrQRxLDQAgAEEgIAFrIgE2AgggAEF+QX8gAXQiAmsiATYCECAAIAJBf3M2AgxBASECIAAgAUEBdjYCGCAAQwAAAEAgAbOVOAIUCyACC6MHAgp/An4jAEEw.ayIGJAAgACgCCCIHQQJrQRxNBEAgACAHNgJMIABBfkF/IAd0IglrIgc2AlQgACAJQX9zNgJQIAAgB0EBdjYCXCAAQwAAAEAgB7OVOAJYCyAAIAU2AjQCQAJA.IAQgACgCKCIEKAIEIAQoAgBrQQJ1IgpsIgsgA0oNACAGQQA2AhAgBkIANwMIIApBAEwNACAAQQhqIQwgAEEsaiENIABB4ABqIQ5BACEJA0AgCSAAKAIoIgQo.AgQgBCgCACIEa0ECdU8NAiAGIAQgCUECdGooAgA2AgQgDSAGQQRqIAZBCGoQSgJAIAYoAgwiBCAEQR91IgVzIAVrIAYoAggiBSAFQR91IgdzIAdraq0gBigC.ECIHIAdBH3UiCHMgCGutfCIQUARAIAYgACgCXDYCCAwBCyAGIAAoAlwiCKwiESAFrH4gEH+nIgU2AgggBiARIASsfiAQf6ciBDYCDCAEIARBH3UiD3MgD2sg.BSAFQR91IgRzIARraiEEIAdBAE4EQCAGIAggBGs2AhAMAQsgBiAEIAhrNgIQCyAOEBAhBCAGKAIIIQUCQCAEBEAgBkEAIAYoAhBrNgIQIAZBACAGKAIMayIH.NgIMIAZBACAFayIFNgIIDAELIAYoAgwhBwsCQCAFQQBOBEAgACgCXCIFIAYoAhBqIQQgBSAHaiEFDAELAn8gB0EASARAIAYoAhAiBCAEQR91IgVzIAVrDAEL.IAAoAlQgBigCECIEQR91IgUgBCAFc2tqCyEFIARBAEgEQCAHIAdBH3UiBHMgBGshBAwBCyAAKAJUIAdBH3UiBCAEIAdza2ohBAsgACgCVCEHAkAgBCAFckUE.QCAHIgQhBQwBCwJAIAUNACAEIAdHDQAgBCEFDAELAkAgBA0AIAUgB0cNACAFIQQMAQsCQCAFDQAgBCAAKAJcIghMDQAgCEEBdCAEayEEQQAhBQwBCwJAIAUg.B0cNACAEIAAoAlwiCE4NACAIQQF0IARrIQQMAQsCQCAEIAdHDQAgBSAAKAJcIgdODQAgB0EBdCAFayEFDAELIAQNAEEAIQQgBSAAKAJcIgdMDQAgB0EBdCAF.ayEFCyAGIAEgCUEDdCIHaikCADcCKCAGIAQ2AhwgBiAFNgIYIAZBIGogDCAGQRhqIAZBKGoQbCACIAdqIgQgBigCIDYCACAEIAYoAiQ2AgQgCUEBaiIJIApH.DQALCyAGQTBqJAAgAyALTg8LEBUACw4AIABBuDc2AgAgABAFCwwAIABBuDc2AgAgAAvaBwEHfyMAQSBrIgUkAAJAAkACQCACQQJrDgIAAQILIAAoAgQhBCAA.KAIMIQYgBUF/NgIcIAVC/////4+AgMA/NwIUIAVCfzcCDCABQX5GDQEgBCgCBCgCCCAGQQJ0aigCACEJIAQgBCgCACgCCBEAAEEBRgRAIAQvASQaIAQoAgQo.AgggBkECdGooAgAhAiAEIAQoAgAoAggRAAAhAAJAIAFBAWtBBUsNACAAQQFHDQAgBCAEKAIAKAIkEQAAIQAgBCAGIAQoAgAoAiwRAQAhByAARQ0AIAdFDQAg.BCAGIAQoAgAoAigRAQAhCCABQQZHDQAgBCgCLCEGQfAAEAYiAyACNgIEIAMgBSkCDDcCCCADIAUpAhQ3AhAgAyAFKAIcNgIYIAMgBzYCKCADIAdBDGoiATYC.JCADIAggACAIGyIANgIgIAMgBjYCHCADIAc2AkQgAyABNgJAIAMgADYCPCADIAY2AjggA0IANwIwIANBuDdB7D4gCBs2AgAgA0KAgID8czcCWCADQn83AlAg.A0KBgICAcDcCSCADQcw7QfjBACAIGzYCLCADQeAAaiIAQgA3AAUgAEIANwIACyADDQILQRwQBiIDIAk2AgQgAyAFKQIMNwIIIAMgBSkCFDcCECADIAUoAhw2.AhggA0GAxQA2AgAMAQsgACgCBCEEIAAoAgwhBiAFQX82AhwgBUL/////j4CAwD83AhQgBUJ/NwIMIAFBfkYNACAEKAIEKAIIIAZBAnRqKAIAIQkgBCAEKAIA.KAIIEQAAQQFGBEAgBC8BJBogBCgCBCgCCCAGQQJ0aigCACECIAQgBCgCACgCCBEAACEAAkAgAUEBa0EFSw0AIABBAUcNACAEIAQoAgAoAiQRAAAhACAEIAYg.BCgCACgCLBEBACEHIABFDQAgB0UNACAEIAYgBCgCACgCKBEBACEIIAFBBkcNACAEKAIsIQZB8AAQBiIDIAI2AgQgAyAFKQIMNwIIIAMgBSkCFDcCECADIAUo.Ahw2AhggAyAHNgIoIAMgB0EMaiIBNgIkIAMgCCAAIAgbIgA2AiAgAyAGNgIcIAMgBzYCRCADIAE2AkAgAyAANgI8IAMgBjYCOCADQgA3AjAgA0GsxgBBoM4A.IAgbNgIAIANCgICA/HM3AlggA0J/NwJQIANCgYCAgHA3AkggA0HoygBByNEAIAgbNgIsIANB4ABqIgBCADcABSAAQgA3AgALIAMNAQtBHBAGIgMgCTYCBCAD.IAUpAgw3AgggAyAFKQIUNwIQIAMgBSgCHDYCGCADQejUADYCAAsgBUEgaiQAIAMLEwAgAEEYaiAAEDUgACgCCBCtAQszAAJ/IAAoAgQtACRBAk8EQEEAIABB.GGogABA1IAIQckUNARoLIABBGGogACgCEBCIAQsLMAACfyAAKAIELQAkQQFNBEBBACAAQRhqIAAoAgggAhByRQ0BGgsgACABIAIQmwELC0gBAX8gACABNgIE.IAEoAgQoAgggAkECdGooAgAhASAAIAI2AgwgACABNgIIIAAoAggiAC0AGEEDRgRAIAAoAhxBCUYhAwsgAwvOBAIKfwF+IAAgBDYCCCAAQSBqIAQQDEF/IARB.AnQgBEH/////A0sbIgUQBiEKIAUEQCAKQQAgBfwLAAsCQCAAKAIIIgZBAEwNACAAKAIgIQUDQAJAIAogB0ECdCIGaigCACIJIAAoAhAiCEoEQCAFIAZqIAg2.AgAMAQsgBSAGaiEGIAAoAgwiCCAJSgRAIAYgCDYCAAwBCyAGIAk2AgALIAdBAWoiByAAKAIIIgZIDQALIAZBAEwNAEEAIQcDQAJAIAEgB0ECdCIGajQCACAF.IAZqNAIAfCIQIAA0AhBVBEAgECAANQIUfSEQDAELIBAgADQCDFkNACAQIAA1AhR8IRALIAIgBmogED4CACAHQQFqIgcgACgCCCIGSA0ACwsCQCADIARMDQAg.BkEATA0AQQAgBGtBAnQhDCAEIQUDQAJAIAZBAEwNACACIAVBAnQiDWoiDiAMaiEPIAAoAiAhCUEAIQcDQAJAIA8gB0ECdCIGaigCACIIIAAoAhAiC0oEQCAG.IAlqIAs2AgAMAQsgBiAJaiEGIAAoAgwiCyAISgRAIAYgCzYCAAwBCyAGIAg2AgALIAdBAWoiByAAKAIIIgZIDQALQQAhByAGQQBMDQAgASANaiEIA0ACQCAI.IAdBAnQiBmo0AgAgBiAJajQCAHwiECAANAIQVQRAIBAgADUCFH0hEAwBCyAQIAA0AgxZDQAgECAANQIUfCEQCyAGIA5qIBA+AgAgB0EBaiIHIAAoAggiBkgN.AAsLIAQgBWoiBSADSA0ACwsgChAFQQELIwEBfyAAQcwZNgIAIAAoAiAiAQRAIAAgATYCJCABEAULIAALiggCC38CfiMAQSBrIgckACAAIAU2AkQCQAJAIAQg.ACgCOCIEKAIEIAQoAgBrQQJ1IgxsIg0gA0oNACAHQQA2AhggB0IANwMQIAxBAEwNACAAQTxqIQ4gAEHwAGohDwNAIAkgACgCOCIEKAIEIAQoAgAiBGtBAnVP.DQIgByAEIAlBAnRqKAIANgIEIA4gB0EEaiAHQRBqEEgCQCAHKAIUIgQgBEEfdSIFcyAFayAHKAIQIgUgBUEfdSIGcyAGa2qtIAcoAhgiBiAGQR91IghzIAhr.rXwiEVAEQCAHIAAoAmw2AhAMAQsgByAAKAJsIgisIhIgBax+IBF/pyIFNgIQIAcgEiAErH4gEX+nIgQ2AhQgBCAEQR91IgpzIAprIAUgBUEfdSIEcyAEa2oh.BCAGQQBOBEAgByAIIARrNgIYDAELIAcgBCAIazYCGAsgDxAQIQQgBygCECEFAkAgBARAIAdBACAHKAIYazYCGCAHQQAgBygCFGsiBjYCFCAHQQAgBWsiBTYC.EAwBCyAHKAIUIQYLAkAgBUEATgRAIAAoAmwiBSAHKAIYaiEEIAUgBmohBQwBCwJ/IAZBAEgEQCAHKAIYIgQgBEEfdSIFcyAFawwBCyAAKAJkIAcoAhgiBEEf.dSIFIAQgBXNragshBSAEQQBIBEAgBiAGQR91IgRzIARrIQQMAQsgACgCZCAGQR91IgQgBCAGc2tqIQQLIAAoAmQhBgJAIAQgBXJFBEAgBiIEIQUMAQsCQCAF.DQAgBCAGRw0AIAQhBQwBCwJAIAQNACAFIAZHDQAgBSEEDAELAkAgBQ0AIAQgACgCbCIITA0AIAhBAXQgBGshBEEAIQUMAQsCQCAFIAZHDQAgBCAAKAJsIghO.DQAgCEEBdCAEayEEDAELAkAgBCAGRw0AIAUgACgCbCIGTg0AIAZBAXQgBWshBQwBCyAEDQBBACEEIAUgACgCbCIGTA0AIAZBAXQgBWshBQsgByAENgIMIAcg.BTYCCAJAIAAoAghBAEwNACACIAlBA3QiCmohECAAKAIgIQRBACEFA0ACQCAFQQJ0IgYgB0EIamooAgAiCCAAKAIQIgtKBEAgBCAGaiALNgIADAELIAQgBmoh.BiAAKAIMIgsgCEoEQCAGIAs2AgAMAQsgBiAINgIACyAFQQFqIgUgACgCCCIGSA0AC0EAIQUgBkEATA0AIAEgCmohCANAAkAgCCAFQQJ0IgZqNAIAIAQgBmo0.AgB8IhEgADQCEFUEQCARIAA1AhR9IREMAQsgESAANAIMWQ0AIBEgADUCFHwhEQsgBiAQaiARPgIAIAVBAWoiBSAAKAIISA0ACwsgCUEBaiIJIAxHDQALCyAH.QSBqJAAgAyANTg8LEBUACy0BAX8gAEHQMDYCACAAQcwZNgIAIAAoAiAiAQRAIAAgATYCJCABEAULIAAQBQsrAQF/IABB0DA2AgAgAEHMGTYCACAAKAIgIgEE.QCAAIAE2AiQgARAFCyAAC6oMAhJ+C38jAEEQayIgJAACQAJAIARBAkcNACAAQQI2AgggACAFNgJAIABBIGpBAhAMIAMgACgCOCIEKAIEIAQoAgBrIgRBAXVI.DQBBASEfIARBAnUiIUEATA0AIABBPGohBSAAQcQAaiEiQQAhAwNAIAMgACgCOCIEKAIEIAQoAgAiBGtBAnVPDQIgICAEIANBAnRqKAIANgIMAn8jAEHQAGsi.GCQAQX8hHQJAICAoAgwiG0F/Rg0AIAUoAiAhGSAbQQFqIgQgG0ECayAEQQNwGyIEQX9HBEAgGSgCACAEQQJ0aigCACEdC0F/IRpBf0ECIBtBA3AbIBtqIgRB.f0cEQCAZKAIAIARBAnRqKAIAIRoLIB0gBSgCJCIEKAIEIAQoAgAiGWtBAnUiBE8NACAEIBpNDQAgGSAdQQJ0aigCACEeAkACQAJAIBkgGkECdGooAgAiGiAD.Tg0AIAMgHkwNACACIBpBA3RqIgQoAgQhGyACIB5BA3RqIhkoAgQhHwJAIAQoAgAiBCAZKAIAIh1HDQAgGyAfRw0AIAUgHzYCDCAFIB02AggMAgsgBSgCBCAD.QQJ0aigCACEZIBhCADcDQCAYQgA3AzggGEIANwMwIBggBSgCACIcLQBUBH8gGQUgHCgCRCAZQQJ0aigCAAs2AhggHCAYQRhqIBwsABggGEEwahAfIAUoAgQg.HkECdGooAgAhGSAYQgA3AyggGEIANwMgIBhCADcDGCAYIAUoAgAiHC0AVAR/IBkFIBwoAkQgGUECdGooAgALNgIAIBwgGCAcLAAYIBhBGGoQHyAFKAIEIBpB.AnRqKAIAIRkgGEIANwMQIBhCADcDCCAYQgA3AwAgGCAFKAIAIhotAFQEfyAZBSAaKAJEIBlBAnRqKAIACzYCTCAaIBhBzABqIBosABggGBAfIBgpAwggGCkD.ICIRfSIKIAp+IBgpAwAgGCkDGCISfSILIAt+fCAYKQMQIBgpAygiE30iDCAMfnwiCFANAEEAIRpC////////////ACAIgCAdrCINIA1CP4ciBoUgBn0iByAf.rCIOIA5CP4ciBoUgBn0iBiAGIAdUG1QNAiAYKQM4IhQgEX0gCn4gGCkDMCIVIBJ9IAt+fCAYKQNAIhYgE30gDH58IgkgCUI/hyIGhSAGfSIXQv//////////./wAgBKwgDX0iDyAPQj+HIgaFIAZ9IgcgG6wgDn0iECAQQj+HIgaFIAZ9IgYgBiAHVBuAVg0CIBdC////////////ACALIAtCP4ciBoUgBn0iByAKIApCP4ci.BoUgBn0iBiAGIAdUGyIHIAwgDEI/hyIGhSAGfSIGIAYgB1QbgFYNAiAUIBEgCSAKfiAIf3x9IgYgBn4gFSASIAkgC34gCH98fSIGIAZ+fCAWIBMgCSAMfiAI.f3x9IgYgBn58IAh+EPsBIQcgBSgCFCIERQ0CIAUoAhAgBEEBayIZQQN2Qfz///8BcWooAgAhBCAFIBk2AhRBASEaIAUgCSAQfiAIIA5+fEIAIAcgD34iBn0g.BiAEIBl2QQFxIgQbfCAIfz4CDCAFIAkgD34gCCANfnwgByAQfiIGQgAgBn0gBBt8IAh/PgIIDAILIAUgAiADIB5KBH8gHkEBdAUgA0EATARAIAVCADcCCAwC.CyADQQF0QQJrC0ECdGoiBCgCADYCCCAFIAQoAgQ2AgwLQQEhGgsgGEHQAGokACAaDAELEBUACyIfRQ0BAkAgACgCCEEATA0AIAIgA0EDdCIbaiEdIAAoAiAh.HkEAIQQDQAJAICIgBEECdCIaaigCACIcIAAoAhAiGUoEQCAaIB5qIBk2AgAMAQsgGiAeaiEaIAAoAgwiGSAcSgRAIBogGTYCAAwBCyAaIBw2AgALIARBAWoi.BCAAKAIIIhlIDQALQQAhBCAZQQBMDQAgASAbaiEZA0ACQCAZIARBAnQiG2o0AgAgGyAeajQCAHwiBiAANAIQVQRAIAYgADUCFH0hBgwBCyAGIAA0AgxZDQAg.BiAANQIUfCEGCyAbIB1qIAY+AgAgBEEBaiIEIAAoAghIDQALCyADQQFqIgMgIUcNAAsLICBBEGokACAfDwsQFQALOwEBfyAAQewuNgIAIAAoAkwiAQRAIAEQ.BQsgAEHMGTYCACAAKAIgIgEEQCAAIAE2AiQgARAFCyAAEAULOQEBfyAAQewuNgIAIAAoAkwiAQRAIAEQBQsgAEHMGTYCACAAKAIgIgEEQCAAIAE2AiQgARAF.CyAAC88NBAl/DH0BfAF+IwBBEGsiCSQAAkACQCAEQQJHDQAgACAFNgJAIABBAjYCSEEIEAYhBSAAKAJEIQQgACAFNgJEIAQEQCAEEAULIABBAjYCCCAAQSBq.QQIQDCADIAAoAjgiBCgCBCAEKAIAayIEQQF1SA0AQQEhByAEQQJ1IgtBAEwNAEEAIQMDQCADIAAoAjgiBCgCBCAEKAIAIgRrQQJ1Tw0CIAkgBCADQQJ0aigC.ADYCDAJ/QwAAAAAhECMAQTBrIgQkAEF/IQcCQCAJKAIMIgZBf0YNACAAKAIwIQggBkEBaiIFIAZBAmsgBUEDcBsiBUF/RwRAIAgoAgAgBUECdGooAgAhBwtB.fyEFQX9BAiAGQQNwGyAGaiIGQX9HBEAgCCgCACAGQQJ0aigCACEFCyAHIAAoAjQiBigCBCAGKAIAIgZrQQJ1IghPDQAgBSAITw0AIAYgB0ECdGooAgAhBwJA.AkAgBiAFQQJ0aigCACIGIANODQAgAyAHTA0AIAIgACgCSCIFIAZsQQJ0aiIIKAIEsiERIAIgBSAHbEECdGoiBSgCBLIhEwJAIAgoAgCyIhIgBSgCALIiGVwN.ACARIBNcDQAgACgCRCIFQYCAgIB4QYCAgIB4IBL8ACASu0QAAMD////fQWQbIBJDAAAAz10bNgIAAkAgEUMAAADPXQ0AIBG7RAAAwP///99BZA0AIAUgEfwA.NgIEQQEhBgwDCyAFQYCAgIB4NgIEQQEhBgwCCyAAKAJAIANBAnRqKAIAIQggBEEANgIoIARCADcDICAEIAAoAjwiBS0AVAR/IAgFIAUoAkQgCEECdGooAgAL.NgIQIAUgBEEQaiAFLAAYIARBIGoQIhogACgCQCAHQQJ0aigCACEHIARBADYCGCAEQgA3AxAgBCAAKAI8IgUtAFQEfyAHBSAFKAJEIAdBAnRqKAIACzYCACAF.IAQgBSwAGCAEQRBqECIaIAAoAkAgBkECdGooAgAhByAEQQA2AgggBEIANwMAIAQgACgCPCIFLQBUBH8gBwUgBSgCRCAHQQJ0aigCAAs2AiwgBSAEQSxqIAUs.ABggBBAiGiAEKgIIIAQqAhgiFJMiDyAPlCAEKgIEIAQqAhQiFZMiFiAWlCAEKgIAIAQqAhAiGpMiFyAXlEMAAAAAkpKSIRgCfSAAKAJYQYICTgRAQwAAAAAg.GEMAAAAAXkUNARoLIAQqAiggFJMiECAPIA8gEJQgFiAEKgIkIBWTIg+UIBcgBCoCICAakyIUlEMAAAAAkpKSIBiVIhCUkyIVIBWUIA8gFiAQlJMiDyAPlCAU.IBcgEJSTIg8gD5RDAAAAAJKSkiAYlZELIQ8gACgCUCIFBEAgACgCTCAFQQFrIgdBA3ZB/P///wFxaigCACEGIAAgBzYCUCAAKAJEIghBgICAgHhBgICAgHhB.gICAgHggESATkyIRIBCUIBOSIBIgGZMiEiAPlCITIBOMIAYgB3ZBAXEiBxuSu0QAAAAAAADgP6CcIhv8AiAbRAAAwP///99BZBsgGyAbYhsgG0QAAAAAAADg.wWMbNgIEIAhBgICAgHhBgICAgHhBgICAgHggEiAQlCAZkiARIA+UIhCMIBAgBxuSu0QAAAAAAADgP6CcIhv8AiAbRAAAwP///99BZBsgGyAbYhsgG0QAAAAA.AADgwWMbNgIACyAFQQBHIQYMAQsgAyAHTARAIANBAEwEQEEBIQYgACgCSEEATA0CIAAoAkQhB0EAIQUDQCAHIAVBAnRqQQA2AgAgBUEBaiIFIAAoAkhIDQAL.DAILIANBAWshBwtBASEGIAAoAkgiBUEATA0AIAIgBSAHbEECdGohByAAKAJEIQhBACEFA0AgCCAFQQJ0IgZqIAYgB2ooAgA2AgBBASEGIAVBAWoiBSAAKAJI.SA0ACwsgBEEwaiQAIAYMAQsQFQALIgdFDQECQCAAKAIIQQBMDQAgAiADQQN0IgxqIQ0gACgCRCEOIAAoAiAhBUEAIQQDQAJAIA4gBEECdCIGaigCACIIIAAo.AhAiCkoEQCAFIAZqIAo2AgAMAQsgBSAGaiEGIAAoAgwiCiAISgRAIAYgCjYCAAwBCyAGIAg2AgALIARBAWoiBCAAKAIIIgZIDQALQQAhBCAGQQBMDQAgASAM.aiEIA0ACQCAIIARBAnQiBmo0AgAgBSAGajQCAHwiHCAANAIQVQRAIBwgADUCFH0hHAwBCyAcIAA0AgxZDQAgHCAANQIUfCEcCyAGIA1qIBw+AgAgBEEBaiIE.IAAoAghIDQALCyADQQFqIgMgC0cNAAsLIAlBEGokACAHDwsQFQALiwIBCX8CQCABKAJYIgNFDQAgAygCAEEBRw0AIAAgAygCCCgAADYCBCAAQQhqIAEtABgQ.DCADKAIIIQMCQCABLQAYIgRFBEBBBCEBDAELIARBA3EhBiAAKAIIIQdBBCEBIARBBE8EQCAEQfwBcSEKA0AgByACQQJ0aiIEIAEgA2oiBSoAADgCACAEIAUq.AAQ4AgQgBCAFKgAIOAIIIAQgBSoADDgCDCACQQRqIQIgAUEQaiEBIAlBBGoiCSAKRw0ACyAGRQ0BCwNAIAcgAkECdGogASADaioAADgCACACQQFqIQIgAUEE.aiEBIAhBAWoiCCAGRw0ACwsgACABIANqKgAAOAIUQQEhAgsgAgvTAwILfwN+IwBBIGsiBCQAIARBADYCHAJAAkAgAS8BJkGBBE0EQCABKQMQIg1CBHwiDiAB.KQMIVQ0CIAEoAgAgDadqKAAAIQUgASAONwMQDAELQQEgBEEcaiABECRFDQEgBCgCHCEFCyAFRQ0AIAUgACgCMCICKAIEIAIoAgBrQQJ1Sw0AIABBzABqIAUQ.IyAEQQxqIgJCADcABSACQgA3AgACQCACIgogARAIRQ0AQQEhAgNAQQEgB3QhBiAKEBAhCSAAKAJMIAdBA3ZB/P///wFxaiEIAn8gCSALcyIDQQFxBEAgCCgC.ACAGcgwBCyAIKAIAIAZBf3NxCyEGIAIgCXMhCyAIIAY2AgAgAyECIAdBAWoiByAFRw0ACyABKQMIIg8gASkDECINQgR8Ig5TDQAgASgCACIDIA2naigAACEC.IAEgDjcDECAPIA1CCHwiDVMNACADIA6naigAACEDIAEgDTcDECACIANKDQAgACADNgIQIAAgAjYCDCADrCACrH0iDUL+////B1YNAEEBIQwgACANpyICQQFq.IgE2AhQgACABQQF2IgE2AhggAEEAIAFrNgIcIAJBAXFFDQAgACABQQFrNgIYCwsgBEEgaiQAIAwLUgEBfyAAQZAtNgIAIAAoAkwiAQRAIAEQBQsgACgCRCEB.IABBADYCRCABBEAgARAFCyAAQcwZNgIAIAAoAiAiAQRAIAAgATYCJCABEAULIAAQBQtQAQF/IABBkC02AgAgACgCTCIBBEAgARAFCyAAKAJEIQEgAEEANgJE.IAEEQCABEAULIABBzBk2AgAgACgCICIBBEAgACABNgIkIAEQBQsgAAu1EwIdfwF+IwBBQGoiCCQAIAAgBDYCCCAAQSBqIAQQDCAIQgA3AzggCEIANwMwIAhC.ADcDKCAIQgA3AyAgCEIANwMYIAhCADcDECAIQQA2AgwgCEEQaiIGIAQgCEEMaiIFEB0gCEEANgIMIAZBDHIgBCAFEB0gCEEANgIMIAhBKGogBCAFEB0gCEEA.NgIMIAhBNGogBCAFEB0CQCAAKAIIQQBMDQAgCCgCECEJIAAoAiAhBkEAIQUDQAJAIAkgBUECdCIHaigCACIKIAAoAhAiDEoEQCAGIAdqIAw2AgAMAQsgBiAH.aiEHIAAoAgwiDCAKSgRAIAcgDDYCAAwBCyAHIAo2AgALIAVBAWoiBSAAKAIIIgdIDQALIAdBAEwNAEEAIQUDQAJAIAEgBUECdCIHajQCACAGIAdqNAIAfCIj.IAA0AhBVBEAgIyAANQIUfSEjDAELICMgADQCDFkNACAjIAA1AhR8ISMLIAIgB2ogIz4CACAFQQFqIgUgACgCCEgNAAsLIAAoAjQhHiAAKAIwIRNBEBAGIhRC.ADcCCCAUQgA3AgACQAJAIARFDQAgBEGAgICABE8NASAEQQJ0IgUQBiEOIAVFDQAgDkEAIAX8CwALAkAgAyAAKAI4IgUoAgQgBSgCACIfa0ECdSIYIARsSA0A.IBhBAkgEQEEBIRAMAQsgBEF+cSEZIARBAXEhGiAEQXxxISAgBEEDcSEbIARBAWshHCAEQQJ0IR0gAEE8aiEhIARBBEkhIkEBIQwDQAJAAn8CQCAfIAxBAnRq.KAIAIgdBf0YNAEEAIQogB0EDcCIDQQBHIAdBAmoiBUF/R3IhFSATKAIMIRZBASEGIAdBAWsgBSADG0ECdCERIAchAwJAA0ACQCAWIANBAnRqKAIAIgVBf0YN.ACAIQRBqIApBDGxqKAIAIQ0gHigCACIJIBMoAgAiCyAFQQJ0aigCAEECdGooAgAhECAJIAVBAWoiDyAFQQJrIA9BA3AbIg9Bf0cEfyALIA9BAnRqKAIABUF/.C0ECdGooAgAhEgJ/AkAgBUEDcARAIAVBAWshBQwBC0F/IAVBAmoiBUF/Rg0BGgsgCyAFQQJ0aigCAAshBSAMIBBMDQAgDCASTA0AIAkgBUECdGooAgAiBSAM.Tg0AAkAgBEUNACACIAQgEGxBAnRqIRAgAiAEIAVsQQJ0aiEPIAIgBCASbEECdGohEkEAIQVBACELIBwEQANAIA0gBUECdCIJaiAJIA9qKAIAIAkgEmooAgBq.IAkgEGooAgBrNgIAIA0gCUEEciIJaiAJIA9qKAIAIAkgEmooAgBqIAkgEGooAgBrNgIAIAVBAmohBSALQQJqIgsgGUcNAAsgGkUNAQsgDSAFQQJ0IgVqIAUg.D2ooAgAgBSASaigCAGogBSAQaigCAGs2AgALQQQhCSAKQQFqIgpBBEYNAgsCQCAHAn8gBkEBcQRAQX8gA0EBaiIFIANBAmsgBUEDcBsiA0F/Rg0BGkF/IBMo.AgwgA0ECdGooAgAiA0F/Rg0BGiADQQFqIgUgA0ECayAFQQNwGwwBCwJAIANBA3AEQCADQQFrIQUMAQtBfyADQQJqIgVBf0YNARoLQX8gEygCDCAFQQJ0aigC.ACIDQX9GDQAaIANBAWsgA0EDcA0AGiADQQJqCyIDRg0AIAYgA0F/RnEEQCAVRQ0BIBMoAgwgEWooAgAiA0F/Rg0BQQAhBiADQQFrIANBAmogA0EDcBshAwsg.A0F/Rw0BCwsgCiIJQQBMDQELAkAgBEUNACAdRQ0AIA5BACAd/AsAC0EAIRAgISAJQQFrIgNBDGxqIhIoAgQiBSAUIANBAnRqIhUoAgAiBmsiA0EAIAMgBU0b.IRZBACELQQAhBwNAIBUgBiIDQQFqIgY2AgAgCyAWRg0FAkAgEigCACADQQN2Qfz///8BcWooAgAgA3ZBAXENACAHQQFqIQcgBEUNACAIQRBqIAtBDGxqKAIA.IQpBACENQQAhA0EAIQ9BACEFICJFBEADQCAOIANBAnQiBWoiESAFIApqKAIAIBEoAgBqNgIAIA4gBUEEciIRaiIXIAogEWooAgAgFygCAGo2AgAgDiAFQQhy.IhFqIhcgCiARaigCACAXKAIAajYCACAOIAVBDHIiBWoiESAFIApqKAIAIBEoAgBqNgIAIANBBGohAyAPQQRqIg8gIEcNAAsgAyEFIBtFDQELA0AgDiAFQQJ0.IgNqIg8gAyAKaigCACAPKAIAajYCACAFQQFqIQUgDUEBaiINIBtHDQALCyALQQFqIgsgCUcNAAsgBCAMbCIGIAdFDQEaAkAgBEUNAEEAIQVBACENIBwEQANA.IA4gBUECdGoiAyADKAIAIAdtNgIAIAMgAygCBCAHbTYCBCAFQQJqIQUgDUECaiINIBlHDQALIBpFDQELIA4gBUECdGoiAyADKAIAIAdtNgIACyAAKAIIQQBM.DQIgAiAGQQJ0IgpqIQkgACgCICEDQQAhBQNAAkAgDiAFQQJ0IgZqKAIAIgcgACgCECILSgRAIAMgBmogCzYCAAwBCyADIAZqIQYgACgCDCILIAdKBEAgBiAL.NgIADAELIAYgBzYCAAsgBUEBaiIFIAAoAggiBkgNAAtBACEFIAZBAEwNAiABIApqIQcDQAJAIAcgBUECdCIGajQCACADIAZqNAIAfCIjIAA0AhBVBEAgIyAA.NQIUfSEjDAELICMgADQCDFkNACAjIAA1AhR8ISMLIAYgCWogIz4CACAFQQFqIgUgACgCCEgNAAsMAgsgBCAMbAshAyAAKAIIQQBMDQAgAiADQQJ0IgpqIQkg.AiAMQQFrIARsQQJ0aiELIAAoAiAhA0EAIQUDQAJAIAsgBUECdCIGaigCACIHIAAoAhAiDUoEQCADIAZqIA02AgAMAQsgAyAGaiEGIAAoAgwiDSAHSgRAIAYg.DTYCAAwBCyAGIAc2AgALIAVBAWoiBSAAKAIIIgZIDQALQQAhBSAGQQBMDQAgASAKaiEHA0ACQCAHIAVBAnQiBmo0AgAgAyAGajQCAHwiIyAANAIQVQRAICMg.ADUCFH0hIwwBCyAjIAA0AgxZDQAgIyAANQIUfCEjCyAGIAlqICM+AgAgBUEBaiIFIAAoAghIDQALC0EBIRAgDEEBaiIMIBhHDQALCyAOBEAgDhAFCyAUEAUg.CCgCNCIABEAgCCAANgI4IAAQBQsgCCgCKCIABEAgCCAANgIsIAAQBQsgCCgCHCIABEAgCCAANgIgIAAQBQsgCCgCECIABEAgCCAANgIUIAAQBQsgCEFAayQA.IBAPCxAHAAu9BwIHfwN+IwBBIGsiBSQAAkAgAS8BJkGBBE0EQCABKQMQIgkgASkDCFkNASABKAIAIAmnai0AACABIAlCAXw3AxANAQsCQEEBIAVBHGogARAk.RQ0AIAUoAhwiBCAAKAIwIgIoAgQgAigCAGtBAnVLDQACQCAEBEBBACECIABBPGogBBAjIAVBDGoiA0IANwAFIANCADcCACADIgcgARAIRQ0BA0BBASACdCED.IAcQECEIIAAoAjwgAkEDdkH8////AXFqIgYCfyAIBEAgBigCACADcgwBCyAGKAIAIANBf3NxCzYCACACQQFqIgIgBEcNAAsLQQEgBUEcaiABECRFDQEgBSgC.HCIEIAAoAjAiAigCBCACKAIAa0ECdUsNASAEBEBBACECIABByABqIAQQIyAFQQxqIgNCADcABSADQgA3AgAgAyIHIAEQCEUNAQNAQQEgAnQhAyAHEBAhCCAA.KAJIIAJBA3ZB/P///wFxaiIGAn8gCEUEQCAGKAIAIANBf3NxDAELIAYoAgAgA3ILNgIAIAJBAWoiAiAERw0ACwtBASAFQRxqIAEQJEUNASAFKAIcIgQgACgC.MCICKAIEIAIoAgBrQQJ1Sw0BIAQEQEEAIQIgAEHUAGogBBAjIAVBDGoiA0IANwAFIANCADcCACADIgcgARAIRQ0BA0BBASACdCEDIAcQECEIIAAoAlQgAkED.dkH8////AXFqIgYCfyAIRQRAIAYoAgAgA0F/c3EMAQsgBigCACADcgs2AgAgAkEBaiICIARHDQALC0EBIAVBHGogARAkRQ0BIAUoAhwiBCAAKAIwIgIoAgQg.AigCAGtBAnVLDQEgBARAQQAhAiAAQeAAaiAEECMgBUEMaiIDQgA3AAUgA0IANwIAIAMiByABEAhFDQEDQEEBIAJ0IQMgBxAQIQggACgCYCACQQN2Qfz///8B.cWoiBgJ/IAhFBEAgBigCACADQX9zcQwBCyAGKAIAIANyCzYCACACQQFqIgIgBEcNAAsLQQAhAiABKQMIIgsgASkDECIJQgR8IgpTDQIgASgCACIDIAmnaigA.ACEEIAEgCjcDECALIAlCCHwiCVMNAiADIAqnaigAACEDIAEgCTcDECADIARIDQIgACADNgIQIAAgBDYCDCADrCAErH0iCUL+////B1YNAkEBIQIgACAJpyIE.QQFqIgE2AhQgACABQQF2IgE2AhggAEEAIAFrNgIcIARBAXFFDQIgACABQQFrNgIYDAILC0EAIQILIAVBIGokACACC2UBAX8gAEGgKzYCACAAKAJgIgEEQCAB.EAULIAAoAlQiAQRAIAEQBQsgACgCSCIBBEAgARAFCyAAKAI8IgEEQCABEAULIABBzBk2AgAgACgCICIBBEAgACABNgIkIAEQBQsgABAFC2MBAX8gAEGgKzYC.ACAAKAJgIgEEQCABEAULIAAoAlQiAQRAIAEQBQsgACgCSCIBBEAgARAFCyAAKAI8IgEEQCABEAULIABBzBk2AgAgACgCICIBBEAgACABNgIkIAEQBQsgAAvF.DgIafwF+IAAgBDYCCCAAQSBqIAQQDEF/IARBAnQiEiAEQf////8DSxsiBRAGIQ0gBUUiB0UEQCANQQAgBfwLAAsgBRAGIQ4gB0UEQCAOQQAgBfwLAAsCQCAA.KAIIIglBAEwNACAAKAIgIQdBACEFA0ACQCANIAVBAnQiBmooAgAiDCAAKAIQIghKBEAgBiAHaiAINgIADAELIAYgB2ohBiAAKAIMIgggDEoEQCAGIAg2AgAM.AQsgBiAMNgIACyAFQQFqIgUgACgCCCIJSA0ACyAJQQBMDQBBACEFA0ACQCABIAVBAnQiBmo0AgAgBiAHajQCAHwiICAANAIQVQRAICAgADUCFH0hIAwBCyAg.IAA0AgxZDQAgICAANQIUfCEgCyACIAZqICA+AgAgBUEBaiIFIAAoAggiCUgNAAsLAkAgACgCOCIFKAIEIAUoAgAiG2tBAnUiEyAEbCIcIANKDQAgE0ECSA0A.IAAoAjQhHSAAKAIwIRQgBEH+////B3EhFSAEQQFxIRYgBEH8////B3EhHiAEQQNxIRcgBEEBayEYIARBBEkhH0EBIRADQCAbIBBBAnRqKAIAIQwCQCAEQQBM.IhkNACASRQ0AIA1BACAS/AsACwJAAkAgDEF/RgRAIAQgEGwhBQwBCyAUKAIMIRpBACEPIAwhBgNAAkAgGiAGQQJ0aigCACIFQX9GDQAgHSgCACIHIBQoAgAi.CCAFQQJ0aigCAEECdGooAgAhCyAHIAVBAWoiCiAFQQJrIApBA3AbIgpBf0cEfyAIIApBAnRqKAIABUF/C0ECdGooAgAhCgJ/AkAgBUEDcARAIAVBAWshBQwB.C0F/IAVBAmoiBUF/Rg0BGgsgCCAFQQJ0aigCAAshBSALIBBODQAgCiAQTg0AIAcgBUECdGooAgAiBSAQTg0AAkAgGQ0AIAIgBCALbEECdGohByACIAQgBWxB.AnRqIQsgAiAEIApsQQJ0aiEKQQAhCEEAIRECQCAYBEADQCAOIAhBAnQiBWogBSALaigCACAFIApqKAIAaiAFIAdqKAIAazYCACAOIAVBBHIiBWogBSALaigC.ACAFIApqKAIAaiAFIAdqKAIAazYCACAIQQJqIQggEUECaiIRIBVHDQALIBZFDQELIA4gCEECdCIFaiAFIAtqKAIAIAUgCmooAgBqIAUgB2ooAgBrNgIAC0EA.IQhBACEHQQAhBSAfRQRAA0AgDSAHQQJ0IgtqIgogCyAOaigCACAKKAIAajYCACANIAtBBHIiCmoiESAKIA5qKAIAIBEoAgBqNgIAIA0gC0EIciIKaiIRIAog.DmooAgAgESgCAGo2AgAgDSALQQxyIgtqIgogCyAOaigCACAKKAIAajYCACAHQQRqIQcgBUEEaiIFIB5HDQALIAchBSAXRQ0BCwNAIA0gBUECdCIHaiILIAcg.DmooAgAgCygCAGo2AgAgBUEBaiEFIAhBAWoiCCAXRw0ACwsgD0EBaiEPCwJ/AkAgBkEDcARAIAZBAWshBQwBC0F/IAZBAmoiBUF/Rg0BGgtBfyAaIAVBAnRq.KAIAIgVBf0YNABogBUEBayAFQQNwDQAaIAVBAmoLIgYgDEcgBkF/R3ENAAsgBCAQbCEFIA9FDQACQCAZDQBBACEIQQAhByAYBEADQCANIAhBAnRqIgYgBigC.ACAPbTYCACAGIAYoAgQgD202AgQgCEECaiEIIAdBAmoiByAVRw0ACyAWRQ0BCyANIAhBAnRqIgcgBygCACAPbTYCAAsgCUEATA0BIAIgBUECdCIIaiEPIAAo.AiAhB0EAIQUDQAJAIA0gBUECdCIGaigCACIMIAAoAhAiCUoEQCAGIAdqIAk2AgAMAQsgBiAHaiEGIAAoAgwiCSAMSgRAIAYgCTYCAAwBCyAGIAw2AgALIAVB.AWoiBSAAKAIIIglIDQALQQAhBSAJQQBMDQEgASAIaiEMA0ACQCAMIAVBAnQiBmo0AgAgBiAHajQCAHwiICAANAIQVQRAICAgADUCFH0hIAwBCyAgIAA0AgxZ.DQAgICAANQIUfCEgCyAGIA9qICA+AgAgBUEBaiIFIAAoAggiCUgNAAsMAQsgCUEATA0AIAIgBUECdCIIaiEPIAIgEEEBayAEbEECdGohCyAAKAIgIQdBACEF.A0ACQCALIAVBAnQiBmooAgAiDCAAKAIQIglKBEAgBiAHaiAJNgIADAELIAYgB2ohBiAAKAIMIgkgDEoEQCAGIAk2AgAMAQsgBiAMNgIACyAFQQFqIgUgACgC.CCIJSA0AC0EAIQUgCUEATA0AIAEgCGohDANAAkAgDCAFQQJ0IgZqNAIAIAYgB2o0AgB8IiAgADQCEFUEQCAgIAA1AhR9ISAMAQsgICAANAIMWQ0AICAgADUC.FHwhIAsgBiAPaiAgPgIAIAVBAWoiBSAAKAIIIglIDQALCyAQQQFqIhAgE0cNAAsLIA4QBSANEAUgAyAcTgutCgIQfwF+IAAgBDYCCCAAQSBqIAQQDCAAKAI0.IREgACgCMCEPQX8gBEECdCAEQf////8DSxsiBRAGIQ0gBQRAIA1BACAF/AsACwJAIAAoAggiBkEATA0AIAAoAiAhCkEAIQUDQAJAIA0gBUECdCIGaigCACIH.IAAoAhAiCEoEQCAGIApqIAg2AgAMAQsgBiAKaiEGIAAoAgwiCCAHSgRAIAYgCDYCAAwBCyAGIAc2AgALIAVBAWoiBSAAKAIIIgZIDQALIAZBAEwNAEEAIQUD.QAJAIAEgBUECdCIGajQCACAGIApqNAIAfCIWIAA0AhBVBEAgFiAANQIUfSEWDAELIBYgADQCDFkNACAWIAA1AhR8IRYLIAIgBmogFj4CACAFQQFqIgUgACgC.CCIGSA0ACwsCQCAAKAI4IgUoAgQgBSgCACISa0ECdSIQIARsIhMgA0oNACAQQQJIDQAgBEH+////B3EhFCAEQQFxIRVBASEKA0AgBCAKbCEMAkACQCASIApB.AnRqKAIAIgVBf0YNACAPKAIMIAVBAnRqKAIAIgVBf0YNACARKAIAIgcgDygCACIIIAVBAnRqKAIAQQJ0aigCACELIAcgBUEBaiIJIAVBAmsgCUEDcBsiCUF/.RwR/IAggCUECdGooAgAFQX8LQQJ0aigCACEJAn8CQCAFQQNwBEAgBUEBayEFDAELQX8gBUECaiIFQX9GDQEaCyAIIAVBAnRqKAIACyEFIAogC0wNACAJIApO.DQAgByAFQQJ0aigCACIFIApODQACQCAEQQBMDQAgAiAEIAtsQQJ0aiEIIAIgBCAFbEECdGohCyACIAQgCWxBAnRqIQlBACEFQQAhDiAEQQFHBEADQCANIAVB.AnQiB2ogByALaigCACAHIAlqKAIAaiAHIAhqKAIAazYCACANIAdBBHIiB2ogByALaigCACAHIAlqKAIAaiAHIAhqKAIAazYCACAFQQJqIQUgDkECaiIOIBRH.DQALIBVFDQELIA0gBUECdCIFaiAFIAtqKAIAIAUgCWooAgBqIAUgCGooAgBrNgIACyAGQQBMDQEgAiAMQQJ0IgtqIQkgACgCICEHQQAhBQNAAkAgDSAFQQJ0.IgZqKAIAIgggACgCECIMSgRAIAYgB2ogDDYCAAwBCyAGIAdqIQYgACgCDCIMIAhKBEAgBiAMNgIADAELIAYgCDYCAAsgBUEBaiIFIAAoAggiBkgNAAtBACEF.IAZBAEwNASABIAtqIQgDQAJAIAggBUECdCIGajQCACAGIAdqNAIAfCIWIAA0AhBVBEAgFiAANQIUfSEWDAELIBYgADQCDFkNACAWIAA1AhR8IRYLIAYgCWog.Fj4CACAFQQFqIgUgACgCCCIGSA0ACwwBCyAGQQBMDQAgAiAMQQJ0IgtqIQkgAiAKQQFrIARsQQJ0aiEMIAAoAiAhB0EAIQUDQAJAIAwgBUECdCIGaigCACII.IAAoAhAiDkoEQCAGIAdqIA42AgAMAQsgBiAHaiEGIAAoAgwiDiAISgRAIAYgDjYCAAwBCyAGIAg2AgALIAVBAWoiBSAAKAIIIgZIDQALQQAhBSAGQQBMDQAg.ASALaiEIA0ACQCAIIAVBAnQiBmo0AgAgBiAHajQCAHwiFiAANAIQVQRAIBYgADUCFH0hFgwBCyAWIAA0AgxZDQAgFiAANQIUfCEWCyAGIAlqIBY+AgAgBUEB.aiIFIAAoAggiBkgNAAsLIApBAWoiCiAQRw0ACwsgDRAFIAMgE04LiggCC38CfiMAQSBrIgckACAAIAU2AkQCQAJAIAQgACgCOCIEKAIEIAQoAgBrQQJ1Igxs.Ig0gA0oNACAHQQA2AhggB0IANwMQIAxBAEwNACAAQTxqIQ4gAEHwAGohDwNAIAkgACgCOCIEKAIEIAQoAgAiBGtBAnVPDQIgByAEIAlBAnRqKAIANgIEIA4g.B0EEaiAHQRBqEEoCQCAHKAIUIgQgBEEfdSIFcyAFayAHKAIQIgUgBUEfdSIGcyAGa2qtIAcoAhgiBiAGQR91IghzIAhrrXwiEVAEQCAHIAAoAmw2AhAMAQsg.ByAAKAJsIgisIhIgBax+IBF/pyIFNgIQIAcgEiAErH4gEX+nIgQ2AhQgBCAEQR91IgpzIAprIAUgBUEfdSIEcyAEa2ohBCAGQQBOBEAgByAIIARrNgIYDAEL.IAcgBCAIazYCGAsgDxAQIQQgBygCECEFAkAgBARAIAdBACAHKAIYazYCGCAHQQAgBygCFGsiBjYCFCAHQQAgBWsiBTYCEAwBCyAHKAIUIQYLAkAgBUEATgRA.IAAoAmwiBSAHKAIYaiEEIAUgBmohBQwBCwJ/IAZBAEgEQCAHKAIYIgQgBEEfdSIFcyAFawwBCyAAKAJkIAcoAhgiBEEfdSIFIAQgBXNragshBSAEQQBIBEAg.BiAGQR91IgRzIARrIQQMAQsgACgCZCAGQR91IgQgBCAGc2tqIQQLIAAoAmQhBgJAIAQgBXJFBEAgBiIEIQUMAQsCQCAFDQAgBCAGRw0AIAQhBQwBCwJAIAQN.ACAFIAZHDQAgBSEEDAELAkAgBQ0AIAQgACgCbCIITA0AIAhBAXQgBGshBEEAIQUMAQsCQCAFIAZHDQAgBCAAKAJsIghODQAgCEEBdCAEayEEDAELAkAgBCAG.Rw0AIAUgACgCbCIGTg0AIAZBAXQgBWshBQwBCyAEDQBBACEEIAUgACgCbCIGTA0AIAZBAXQgBWshBQsgByAENgIMIAcgBTYCCAJAIAAoAghBAEwNACACIAlB.A3QiCmohECAAKAIgIQRBACEFA0ACQCAFQQJ0IgYgB0EIamooAgAiCCAAKAIQIgtKBEAgBCAGaiALNgIADAELIAQgBmohBiAAKAIMIgsgCEoEQCAGIAs2AgAM.AQsgBiAINgIACyAFQQFqIgUgACgCCCIGSA0AC0EAIQUgBkEATA0AIAEgCmohCANAAkAgCCAFQQJ0IgZqNAIAIAQgBmo0AgB8IhEgADQCEFUEQCARIAA1AhR9.IREMAQsgESAANAIMWQ0AIBEgADUCFHwhEQsgBiAQaiARPgIAIAVBAWoiBSAAKAIISA0ACwsgCUEBaiIJIAxHDQALCyAHQSBqJAAgAyANTg8LEBUACy0BAX8g.AEHMITYCACAAQcwZNgIAIAAoAiAiAQRAIAAgATYCJCABEAULIAAQBQsrAQF/IABBzCE2AgAgAEHMGTYCACAAKAIgIgEEQCAAIAE2AiQgARAFCyAAC5wMAhJ+.C38jAEEQayIgJAACQAJAIARBAkcNACAAQQI2AgggACAFNgJAIABBIGpBAhAMIAMgACgCOCIEKAIEIAQoAgBrIgRBAXVIDQBBASEeIARBAnUiIUEATA0AIABB.PGohBSAAQcQAaiEiQQAhAwNAIAMgACgCOCIEKAIEIAQoAgAiBGtBAnVPDQIgICAEIANBAnRqKAIANgIMAn8jAEHQAGsiGSQAQX8hBAJ/QX8gICgCDCIYQX9G.DQAaIBhBAWoiBCAYQQJrIARBA3AbIQQgGEEBayAYQQNwDQAaIBhBAmoLIRwCQCAFKAIgKAIcIh8gBEECdGooAgAiGCAFKAIkIgQoAgQgBCgCACIaa0ECdSIE.Tw0AIAQgHyAcQQJ0aigCACIETQ0AIBogGEECdGooAgAhHQJAAkACQCAaIARBAnRqKAIAIhogA04NACADIB1MDQAgAiAaQQN0aiIEKAIEIRwgAiAdQQN0aiIY.KAIEIR4CQCAEKAIAIgQgGCgCACIfRw0AIBwgHkcNACAFIB42AgwgBSAfNgIIDAILIAUoAgQgA0ECdGooAgAhGCAZQgA3A0AgGUIANwM4IBlCADcDMCAZIAUo.AgAiGy0AVAR/IBgFIBsoAkQgGEECdGooAgALNgIYIBsgGUEYaiAbLAAYIBlBMGoQHyAFKAIEIB1BAnRqKAIAIRggGUIANwMoIBlCADcDICAZQgA3AxggGSAF.KAIAIhstAFQEfyAYBSAbKAJEIBhBAnRqKAIACzYCACAbIBkgGywAGCAZQRhqEB8gBSgCBCAaQQJ0aigCACEYIBlCADcDECAZQgA3AwggGUIANwMAIBkgBSgC.ACIaLQBUBH8gGAUgGigCRCAYQQJ0aigCAAs2AkwgGiAZQcwAaiAaLAAYIBkQHyAZKQMIIBkpAyAiEX0iCiAKfiAZKQMAIBkpAxgiEn0iCyALfnwgGSkDECAZ.KQMoIhN9IgwgDH58IghQDQBBACEaQv///////////wAgCIAgH6wiDSANQj+HIgaFIAZ9IgcgHqwiDiAOQj+HIgaFIAZ9IgYgBiAHVBtUDQIgGSkDOCIUIBF9.IAp+IBkpAzAiFSASfSALfnwgGSkDQCIWIBN9IAx+fCIJIAlCP4ciBoUgBn0iF0L///////////8AIASsIA19Ig8gD0I/hyIGhSAGfSIHIBysIA59IhAgEEI/.hyIGhSAGfSIGIAYgB1QbgFYNAiAXQv///////////wAgCyALQj+HIgaFIAZ9IgcgCiAKQj+HIgaFIAZ9IgYgBiAHVBsiByAMIAxCP4ciBoUgBn0iBiAGIAdU.G4BWDQIgFCARIAkgCn4gCH98fSIGIAZ+IBUgEiAJIAt+IAh/fH0iBiAGfnwgFiATIAkgDH4gCH98fSIGIAZ+fCAIfhD7ASEHIAUoAhQiBEUNAiAFKAIQIARB.AWsiGEEDdkH8////AXFqKAIAIQQgBSAYNgIUQQEhGiAFIAkgEH4gCCAOfnxCACAHIA9+IgZ9IAYgBCAYdkEBcSIEG3wgCH8+AgwgBSAJIA9+IAggDX58IAcg.EH4iBkIAIAZ9IAQbfCAIfz4CCAwCCyAFIAIgAyAdSgR/IB1BAXQFIANBAEwEQCAFQgA3AggMAgsgA0EBdEECawtBAnRqIgQoAgA2AgggBSAEKAIENgIMC0EB.IRoLIBlB0ABqJAAgGgwBCxAVAAsiHkUNAQJAIAAoAghBAEwNACACIANBA3QiHGohHyAAKAIgIR1BACEEA0ACQCAiIARBAnQiGmooAgAiGyAAKAIQIhhKBEAg.GiAdaiAYNgIADAELIBogHWohGiAAKAIMIhggG0oEQCAaIBg2AgAMAQsgGiAbNgIACyAEQQFqIgQgACgCCCIYSA0AC0EAIQQgGEEATA0AIAEgHGohGANAAkAg.GCAEQQJ0IhxqNAIAIBwgHWo0AgB8IgYgADQCEFUEQCAGIAA1AhR9IQYMAQsgBiAANAIMWQ0AIAYgADUCFHwhBgsgHCAfaiAGPgIAIARBAWoiBCAAKAIISA0A.CwsgA0EBaiIDICFHDQALCyAgQRBqJAAgHg8LEBUACzsBAX8gAEHcHzYCACAAKAJMIgEEQCABEAULIABBzBk2AgAgACgCICIBBEAgACABNgIkIAEQBQsgABAF.CzkBAX8gAEHcHzYCACAAKAJMIgEEQCABEAULIABBzBk2AgAgACgCICIBBEAgACABNgIkIAEQBQsgAAvBDQQJfwx9AXwBfiMAQRBrIgkkAAJAAkAgBEECRw0A.IAAgBTYCQCAAQQI2AkhBCBAGIQUgACgCRCEEIAAgBTYCRCAEBEAgBBAFCyAAQQI2AgggAEEgakECEAwgAyAAKAI4IgQoAgQgBCgCAGsiBEEBdUgNAEEBIQYg.BEECdSIMQQBMDQBBACEDA0AgAyAAKAI4IgQoAgQgBCgCACIEa0ECdU8NAiAJIAQgA0ECdGooAgA2AgwCf0MAAAAAIRAjAEEwayIEJABBfyEFAn9BfyAJKAIM.IgZBf0YNABogBkEBaiIFIAZBAmsgBUEDcBshBSAGQQFrIAZBA3ANABogBkECagshBwJAIAAoAjAoAhwiCCAFQQJ0aigCACIFIAAoAjQiBigCBCAGKAIAIgZr.QQJ1IgpPDQAgCCAHQQJ0aigCACIHIApPDQAgBiAFQQJ0aigCACEFAkACQCAGIAdBAnRqKAIAIgcgA04NACADIAVMDQAgAiAAKAJIIgYgB2xBAnRqIggoAgSy.IREgAiAFIAZsQQJ0aiIGKAIEsiETAkAgCCgCALIiEiAGKAIAsiIZXA0AIBEgE1wNACAAKAJEIgVBgICAgHhBgICAgHggEvwAIBK7RAAAwP///99BZBsgEkMA.AADPXRs2AgACQCARQwAAAM9dDQAgEbtEAADA////30FkDQAgBSAR/AA2AgRBASEGDAMLIAVBgICAgHg2AgRBASEGDAILIAAoAkAgA0ECdGooAgAhCCAEQQA2.AiggBEIANwMgIAQgACgCPCIGLQBUBH8gCAUgBigCRCAIQQJ0aigCAAs2AhAgBiAEQRBqIAYsABggBEEgahAiGiAAKAJAIAVBAnRqKAIAIQYgBEEANgIYIARC.ADcDECAEIAAoAjwiBS0AVAR/IAYFIAUoAkQgBkECdGooAgALNgIAIAUgBCAFLAAYIARBEGoQIhogACgCQCAHQQJ0aigCACEGIARBADYCCCAEQgA3AwAgBCAA.KAI8IgUtAFQEfyAGBSAFKAJEIAZBAnRqKAIACzYCLCAFIARBLGogBSwAGCAEECIaIAQqAgggBCoCGCIUkyIPIA+UIAQqAgQgBCoCFCIVkyIWIBaUIAQqAgAg.BCoCECIakyIXIBeUQwAAAACSkpIhGAJ9IAAoAlhBggJOBEBDAAAAACAYQwAAAABeRQ0BGgsgBCoCKCAUkyIQIA8gDyAQlCAWIAQqAiQgFZMiD5QgFyAEKgIg.IBqTIhSUQwAAAACSkpIgGJUiEJSTIhUgFZQgDyAWIBCUkyIPIA+UIBQgFyAQlJMiDyAPlEMAAAAAkpKSIBiVkQshDyAAKAJQIgUEQCAAKAJMIAVBAWsiBkED.dkH8////AXFqKAIAIQcgACAGNgJQIAAoAkQiCEGAgICAeEGAgICAeEGAgICAeCARIBOTIhEgEJQgE5IgEiAZkyISIA+UIhMgE4wgByAGdkEBcSIGG5K7RAAA.AAAAAOA/oJwiG/wCIBtEAADA////30FkGyAbIBtiGyAbRAAAAAAAAODBYxs2AgQgCEGAgICAeEGAgICAeEGAgICAeCASIBCUIBmSIBEgD5QiEIwgECAGG5K7.RAAAAAAAAOA/oJwiG/wCIBtEAADA////30FkGyAbIBtiGyAbRAAAAAAAAODBYxs2AgALIAVBAEchBgwBCyADIAVMBEAgA0EATARAQQEhBiAAKAJIQQBMDQIg.ACgCRCEHQQAhBQNAIAcgBUECdGpBADYCACAFQQFqIgUgACgCSEgNAAsMAgsgA0EBayEFC0EBIQYgACgCSCIHQQBMDQAgAiAFIAdsQQJ0aiEHIAAoAkQhCEEA.IQUDQCAIIAVBAnQiBmogBiAHaigCADYCAEEBIQYgBUEBaiIFIAAoAkhIDQALCyAEQTBqJAAgBgwBCxAVAAsiBkUNAQJAIAAoAghBAEwNACACIANBA3QiCmoh.DSAAKAJEIQ4gACgCICEFQQAhBANAAkAgDiAEQQJ0IgdqKAIAIgggACgCECILSgRAIAUgB2ogCzYCAAwBCyAFIAdqIQcgACgCDCILIAhKBEAgByALNgIADAEL.IAcgCDYCAAsgBEEBaiIEIAAoAggiB0gNAAtBACEEIAdBAEwNACABIApqIQgDQAJAIAggBEECdCIHajQCACAFIAdqNAIAfCIcIAA0AhBVBEAgHCAANQIUfSEc.DAELIBwgADQCDFkNACAcIAA1AhR8IRwLIAcgDWogHD4CACAEQQFqIgQgACgCCEgNAAsLIANBAWoiAyAMRw0ACwsgCUEQaiQAIAYPCxAVAAvWAwILfwN+IwBB.IGsiBCQAIARBADYCHAJAAkAgAS8BJkGBBE0EQCABKQMQIg1CBHwiDiABKQMIVQ0CIAEoAgAgDadqKAAAIQUgASAONwMQDAELQQEgBEEcaiABECRFDQEgBCgC.HCEFCyAFRQ0AIAUgACgCMCgCQCICKAIEIAIoAgBrQQJ1Sw0AIABBzABqIAUQIyAEQQxqIgJCADcABSACQgA3AgACQCACIgogARAIRQ0AQQEhAgNAQQEgB3Qh.BiAKEBAhCSAAKAJMIAdBA3ZB/P///wFxaiEIAn8gCSALcyIDQQFxBEAgCCgCACAGcgwBCyAIKAIAIAZBf3NxCyEGIAIgCXMhCyAIIAY2AgAgAyECIAdBAWoi.ByAFRw0ACyABKQMIIg8gASkDECINQgR8Ig5TDQAgASgCACIDIA2naigAACECIAEgDjcDECAPIA1CCHwiDVMNACADIA6naigAACEDIAEgDTcDECACIANKDQAg.ACADNgIQIAAgAjYCDCADrCACrH0iDUL+////B1YNAEEBIQwgACANpyICQQFqIgE2AhQgACABQQF2IgE2AhggAEEAIAFrNgIcIAJBAXFFDQAgACABQQFrNgIY.CwsgBEEgaiQAIAwLBABBAgtSAQF/IABB9B02AgAgACgCTCIBBEAgARAFCyAAKAJEIQEgAEEANgJEIAEEQCABEAULIABBzBk2AgAgACgCICIBBEAgACABNgIk.IAEQBQsgABAFC1ABAX8gAEH0HTYCACAAKAJMIgEEQCABEAULIAAoAkQhASAAQQA2AkQgAQRAIAEQBQsgAEHMGTYCACAAKAIgIgEEQCAAIAE2AiQgARAFCyAA.C4wUAh5/AX4jAEFAaiIJJAAgACAENgIIIABBIGogBBAMIAlCADcDOCAJQgA3AzAgCUIANwMoIAlCADcDICAJQgA3AxggCUIANwMQIAlBADYCDCAJQRBqIgUg.BCAJQQxqIggQHSAJQQA2AgwgBUEMciAEIAgQHSAJQQA2AgwgCUEoaiAEIAgQHSAJQQA2AgwgCUE0aiAEIAgQHQJAIAAoAghBAEwNACAJKAIQIQggACgCICEL.A0ACQCAIIAdBAnQiCmooAgAiBiAAKAIQIgVKBEAgCiALaiAFNgIADAELIAogC2ohCiAAKAIMIgUgBkoEQCAKIAU2AgAMAQsgCiAGNgIACyAHQQFqIgcgACgC.CCIFSA0ACyAFQQBMDQBBACEHA0ACQCABIAdBAnQiBWo0AgAgBSALajQCAHwiJCAANAIQVQRAICQgADUCFH0hJAwBCyAkIAA0AgxZDQAgJCAANQIUfCEkCyAC.IAVqICQ+AgAgB0EBaiIHIAAoAghIDQALCyAAKAI0ISAgACgCMCEPQRAQBiIYQgA3AgggGEIANwIAAkACQCAERQ0AIARBgICAgARPDQEgBEECdCIFEAYhDCAF.RQ0AIAxBACAF/AsACwJAIAMgACgCOCIFKAIEIAUoAgAiIWtBAnUiGiAEbEgNACAaQQJIBEBBASEWDAELIARBfnEhGyAEQQFxIRwgBEF8cSEiIARBA3EhHSAE.QQFrIR4gBEECdCEfIABBPGohI0EBIRADQAJAAn8CQCAhIBBBAnRqKAIAIghBf0YNAEEBIQpBASAIQQFrIAhBAmoiBiAIQQNwIgUbIhF0IRZBACEDIAVBAEcg.BkF/R3IhFyAPKAIAIRMgEUEFdkECdCELIAghBwJAA0ACQCATIAdBA3ZB/P///wFxaigCACAHdkEBcQ0AIA8oAkAoAgwgB0ECdGooAgAiEkF/Rg0AIAlBEGog.A0EMbGooAgAhGSAgKAIAIg0gDygCHCIGIBJBAWoiBSASQQJrIAVBA3AbQQJ0aigCAEECdGooAgAhFCANIAYgEkECdGoiBSgCAEECdGooAgAiBiAQTg0AIBAg.FEwNACANIAVBfEEIIBJBA3AbaigCAEECdGooAgAiBSAQTg0AAkAgBEUNACACIAQgBmxBAnRqIRIgAiAEIAVsQQJ0aiENIAIgBCAUbEECdGohBkEAIQ5BACEV.IB4EQANAIBkgDkECdCIFaiAFIA1qKAIAIAUgBmooAgBqIAUgEmooAgBrNgIAIBkgBUEEciIFaiAFIA1qKAIAIAUgBmooAgBqIAUgEmooAgBrNgIAIA5BAmoh.DiAVQQJqIhUgG0cNAAsgHEUNAQsgGSAOQQJ0IgVqIAUgDWooAgAgBSAGaigCAGogBSASaigCAGs2AgALQQQhBSADQQFqIgNBBEYNAgsCQCAKQQFxBEAgB0EC.ayEFIAdBAWohBkF/IQcgBiAFIAZBA3AbIgVBf0YNASAPKAIAIAVBA3ZB/P///wFxaigCACAFdkEBcQ0BIA8oAkAoAgwgBUECdGooAgAiBkF/Rg0BIAZBAWoi.BSAGQQJrIAVBA3AbIQcMAQsCQCAHQQNwBEAgB0EBayEGDAELIAdBAmohBkF/IQcgBkF/Rg0BC0F/IQcgDygCACAGQQN2Qfz///8BcWooAgAgBnZBAXENACAP.KAJAKAIMIAZBAnRqKAIAIgVBf0YNACAFQQNwBEAgBUEBayEHDAELIAVBAmohBwsCQCAHIAhGDQAgCiAHQX9GcQRAIBdFDQEgDygCACALaigCACAWcQ0BIA8o.AkAoAgwgEUECdGooAgAiBUF/Rg0BIAVBAWsgBUECaiAFQQNwGyEHQQAhCgsgB0F/Rw0BCwsgAyIFQQBMDQELAkAgBEUNACAfRQ0AIAxBACAf/AsAC0EAIRYg.IyAFQQFrIgNBDGxqIhMoAgQiCCAYIANBAnRqIgsoAgAiCmsiA0EAIAMgCE0bIQdBACEVQQAhEQNAIAsgCiIDQQFqIgo2AgAgByAVRg0FAkAgEygCACADQQN2.Qfz///8BcWooAgAgA3ZBAXENACARQQFqIREgBEUNACAJQRBqIBVBDGxqKAIAIQ1BACEOQQAhA0EAIRdBACEGIARBBE8EQANAIAwgA0ECdCIUaiIIIA0gFGoo.AgAgCCgCAGo2AgAgDCAUQQRyIgZqIgggBiANaigCACAIKAIAajYCACAMIBRBCHIiBmoiCCAGIA1qKAIAIAgoAgBqNgIAIAwgFEEMciIGaiIIIAYgDWooAgAg.CCgCAGo2AgAgA0EEaiEDIBdBBGoiFyAiRw0ACyADIQYgHUUNAQsDQCAMIAZBAnQiCGoiAyAIIA1qKAIAIAMoAgBqNgIAIAZBAWohBiAOQQFqIg4gHUcNAAsL.IBVBAWoiFSAFRw0ACyAEIBBsIgUgEUUNARoCQCAERQ0AQQAhBkEAIQ4gHgRAA0AgDCAGQQJ0aiIDIAMoAgAgEW02AgAgAyADKAIEIBFtNgIEIAZBAmohBiAO.QQJqIg4gG0cNAAsgHEUNAQsgDCAGQQJ0aiIDIAMoAgAgEW02AgALIAAoAghBAEwNAiACIAVBAnQiCGohBSAAKAIgIQtBACEHA0ACQCAMIAdBAnQiCmooAgAi.BiAAKAIQIgNKBEAgCiALaiADNgIADAELIAogC2ohCiAAKAIMIgMgBkoEQCAKIAM2AgAMAQsgCiAGNgIACyAHQQFqIgcgACgCCCIDSA0AC0EAIQcgA0EATA0C.IAEgCGohAwNAAkAgAyAHQQJ0IghqNAIAIAggC2o0AgB8IiQgADQCEFUEQCAkIAA1AhR9ISQMAQsgJCAANAIMWQ0AICQgADUCFHwhJAsgBSAIaiAkPgIAIAdB.AWoiByAAKAIISA0ACwwCCyAEIBBsCyEDIAAoAghBAEwNACACIANBAnQiCmohCCACIBBBAWsgBGxBAnRqIQUgACgCICETQQAhBwNAAkAgBSAHQQJ0IgZqKAIA.IgsgACgCECIDSgRAIAYgE2ogAzYCAAwBCyAGIBNqIQYgACgCDCIDIAtKBEAgBiADNgIADAELIAYgCzYCAAsgB0EBaiIHIAAoAggiA0gNAAtBACEHIANBAEwN.ACABIApqIQMDQAJAIAMgB0ECdCIFajQCACAFIBNqNAIAfCIkIAA0AhBVBEAgJCAANQIUfSEkDAELICQgADQCDFkNACAkIAA1AhR8ISQLIAUgCGogJD4CACAH.QQFqIgcgACgCCEgNAAsLQQEhFiAQQQFqIhAgGkcNAAsLIAwEQCAMEAULIBgQBSAJKAI0IgAEQCAJIAA2AjggABAFCyAJKAIoIgAEQCAJIAA2AiwgABAFCyAJ.KAIcIgAEQCAJIAA2AiAgABAFCyAJKAIQIgAEQCAJIAA2AhQgABAFCyAJQUBrJAAgFg8LEAcAC8kHAgd/A34jAEEgayIFJAACQCABLwEmQYEETQRAIAEpAxAi.CSABKQMIWQ0BIAEoAgAgCadqLQAAIAEgCUIBfDcDEA0BCwJAQQEgBUEcaiABECRFDQAgBSgCHCIEIAAoAjAoAkAiAigCBCACKAIAa0ECdUsNAAJAIAQEQEEA.IQIgAEE8aiAEECMgBUEMaiIDQgA3AAUgA0IANwIAIAMiByABEAhFDQEDQEEBIAJ0IQMgBxAQIQggACgCPCACQQN2Qfz///8BcWoiBgJ/IAgEQCAGKAIAIANy.DAELIAYoAgAgA0F/c3ELNgIAIAJBAWoiAiAERw0ACwtBASAFQRxqIAEQJEUNASAFKAIcIgQgACgCMCgCQCICKAIEIAIoAgBrQQJ1Sw0BIAQEQEEAIQIgAEHI.AGogBBAjIAVBDGoiA0IANwAFIANCADcCACADIgcgARAIRQ0BA0BBASACdCEDIAcQECEIIAAoAkggAkEDdkH8////AXFqIgYCfyAIRQRAIAYoAgAgA0F/c3EM.AQsgBigCACADcgs2AgAgAkEBaiICIARHDQALC0EBIAVBHGogARAkRQ0BIAUoAhwiBCAAKAIwKAJAIgIoAgQgAigCAGtBAnVLDQEgBARAQQAhAiAAQdQAaiAE.ECMgBUEMaiIDQgA3AAUgA0IANwIAIAMiByABEAhFDQEDQEEBIAJ0IQMgBxAQIQggACgCVCACQQN2Qfz///8BcWoiBgJ/IAhFBEAgBigCACADQX9zcQwBCyAG.KAIAIANyCzYCACACQQFqIgIgBEcNAAsLQQEgBUEcaiABECRFDQEgBSgCHCIEIAAoAjAoAkAiAigCBCACKAIAa0ECdUsNASAEBEBBACECIABB4ABqIAQQIyAF.QQxqIgNCADcABSADQgA3AgAgAyIHIAEQCEUNAQNAQQEgAnQhAyAHEBAhCCAAKAJgIAJBA3ZB/P///wFxaiIGAn8gCEUEQCAGKAIAIANBf3NxDAELIAYoAgAg.A3ILNgIAIAJBAWoiAiAERw0ACwtBACECIAEpAwgiCyABKQMQIglCBHwiClMNAiABKAIAIgMgCadqKAAAIQQgASAKNwMQIAsgCUIIfCIJUw0CIAMgCqdqKAAA.IQMgASAJNwMQIAMgBEgNAiAAIAM2AhAgACAENgIMIAOsIASsfSIJQv7///8HVg0CQQEhAiAAIAmnIgRBAWoiATYCFCAAIAFBAXYiATYCGCAAQQAgAWs2Ahwg.BEEBcUUNAiAAIAFBAWs2AhgMAgsLQQAhAgsgBUEgaiQAIAILZQEBfyAAQfgbNgIAIAAoAmAiAQRAIAEQBQsgACgCVCIBBEAgARAFCyAAKAJIIgEEQCABEAUL.IAAoAjwiAQRAIAEQBQsgAEHMGTYCACAAKAIgIgEEQCAAIAE2AiQgARAFCyAAEAULYwEBfyAAQfgbNgIAIAAoAmAiAQRAIAEQBQsgACgCVCIBBEAgARAFCyAA.KAJIIgEEQCABEAULIAAoAjwiAQRAIAEQBQsgAEHMGTYCACAAKAIgIgEEQCAAIAE2AiQgARAFCyAAC9oOAhp/AX4gACAENgIIIABBIGogBBAMQX8gBEECdCIT.IARB/////wNLGyIFEAYhDSAFRSIGRQRAIA1BACAF/AsACyAFEAYhDiAGRQRAIA5BACAF/AsACwJAIAAoAggiCEEATA0AIAAoAiAhBkEAIQUDQAJAIA0gBUEC.dCIHaigCACIKIAAoAhAiCEoEQCAGIAdqIAg2AgAMAQsgBiAHaiEHIAAoAgwiCCAKSgRAIAcgCDYCAAwBCyAHIAo2AgALIAVBAWoiBSAAKAIIIghIDQALIAhB.AEwNAEEAIQUDQAJAIAEgBUECdCIHajQCACAGIAdqNAIAfCIgIAA0AhBVBEAgICAANQIUfSEgDAELICAgADQCDFkNACAgIAA1AhR8ISALIAIgB2ogID4CACAF.QQFqIgUgACgCCCIISA0ACwsCQCAAKAI4IgUoAgQgBSgCACIba0ECdSIUIARsIhwgA0oNACAUQQJIDQAgACgCNCEdIAAoAjAhEiAEQf7///8HcSEVIARBAXEh.FiAEQfz///8HcSEeIARBA3EhFyAEQQFrIRggBEEESSEfQQEhEANAIBsgEEECdGooAgAhCgJAIARBAEwiGQ0AIBNFDQAgDUEAIBP8CwALAkACQCAKQX9GBEAg.BCAQbCEHDAELIBIoAgAhGkEAIQ8gCiEFA0ACQCAaIAVBA3ZB/P///wFxaigCACAFdkEBcQ0AIBIoAkAoAgwgBUECdGooAgAiBkF/Rg0AIB0oAgAiByASKAIc.IgsgBkEBaiIJIAZBAmsgCUEDcBtBAnRqKAIAQQJ0aigCACEJIAcgCyAGQQJ0aiILKAIAQQJ0aigCACIMIBBODQAgCSAQTg0AIAcgC0F8QQggBkEDcBtqKAIA.QQJ0aigCACIGIBBODQACQCAZDQAgAiAEIAxsQQJ0aiEHIAIgBCAGbEECdGohCyACIAQgCWxBAnRqIQxBACEJQQAhEQJAIBgEQANAIA4gCUECdCIGaiAGIAtq.KAIAIAYgDGooAgBqIAYgB2ooAgBrNgIAIA4gBkEEciIGaiAGIAtqKAIAIAYgDGooAgBqIAYgB2ooAgBrNgIAIAlBAmohCSARQQJqIhEgFUcNAAsgFkUNAQsg.DiAJQQJ0IgZqIAYgC2ooAgAgBiAMaigCAGogBiAHaigCAGs2AgALQQAhCUEAIQdBACELQQAhBiAfRQRAA0AgDSAHQQJ0IgZqIgwgBiAOaigCACAMKAIAajYC.ACANIAZBBHIiDGoiESAMIA5qKAIAIBEoAgBqNgIAIA0gBkEIciIMaiIRIAwgDmooAgAgESgCAGo2AgAgDSAGQQxyIgZqIgwgBiAOaigCACAMKAIAajYCACAH.QQRqIQcgC0EEaiILIB5HDQALIAchBiAXRQ0BCwNAIA0gBkECdCIHaiILIAcgDmooAgAgCygCAGo2AgAgBkEBaiEGIAlBAWoiCSAXRw0ACwsgD0EBaiEPCyAK.An8CQCAFQQNwBEAgBUEBayEGDAELQX8gBUECaiIGQX9GDQEaC0F/IBogBkEDdkH8////AXFqKAIAIAZ2QQFxDQAaQX8gEigCQCgCDCAGQQJ0aigCACIFQX9G.DQAaIAVBAWsgBUEDcA0AGiAFQQJqCyIFRyAFQX9HcQ0ACyAEIBBsIQcgD0UNAAJAIBkNAEEAIQZBACEJIBgEQANAIA0gBkECdGoiBSAFKAIAIA9tNgIAIAUg.BSgCBCAPbTYCBCAGQQJqIQYgCUECaiIJIBVHDQALIBZFDQELIA0gBkECdGoiBSAFKAIAIA9tNgIACyAIQQBMDQEgAiAHQQJ0IglqIQ8gACgCICEGQQAhBQNA.AkAgDSAFQQJ0IgdqKAIAIgogACgCECIISgRAIAYgB2ogCDYCAAwBCyAGIAdqIQcgACgCDCIIIApKBEAgByAINgIADAELIAcgCjYCAAsgBUEBaiIFIAAoAggi.CEgNAAtBACEFIAhBAEwNASABIAlqIQoDQAJAIAogBUECdCIHajQCACAGIAdqNAIAfCIgIAA0AhBVBEAgICAANQIUfSEgDAELICAgADQCDFkNACAgIAA1AhR8.ISALIAcgD2ogID4CACAFQQFqIgUgACgCCCIISA0ACwwBCyAIQQBMDQAgAiAHQQJ0IglqIQ8gAiAQQQFrIARsQQJ0aiELIAAoAiAhBkEAIQUDQAJAIAsgBUEC.dCIHaigCACIKIAAoAhAiCEoEQCAGIAdqIAg2AgAMAQsgBiAHaiEHIAAoAgwiCCAKSgRAIAcgCDYCAAwBCyAHIAo2AgALIAVBAWoiBSAAKAIIIghIDQALQQAh.BSAIQQBMDQAgASAJaiEKA0ACQCAKIAVBAnQiB2o0AgAgBiAHajQCAHwiICAANAIQVQRAICAgADUCFH0hIAwBCyAgIAA0AgxZDQAgICAANQIUfCEgCyAHIA9q.ICA+AgAgBUEBaiIFIAAoAggiCEgNAAsLIBBBAWoiECAURw0ACwsgDhAFIA0QBSADIBxOC5sKAhB/AX4gACAENgIIIABBIGogBBAMIAAoAjQhESAAKAIwIQ9B.fyAEQQJ0IARB/////wNLGyIFEAYhDSAFBEAgDUEAIAX8CwALAkAgACgCCCIGQQBMDQAgACgCICEJQQAhBQNAAkAgDSAFQQJ0IgZqKAIAIgcgACgCECIISgRA.IAYgCWogCDYCAAwBCyAGIAlqIQYgACgCDCIIIAdKBEAgBiAINgIADAELIAYgBzYCAAsgBUEBaiIFIAAoAggiBkgNAAsgBkEATA0AQQAhBQNAAkAgASAFQQJ0.IgZqNAIAIAYgCWo0AgB8IhYgADQCEFUEQCAWIAA1AhR9IRYMAQsgFiAANAIMWQ0AIBYgADUCFHwhFgsgAiAGaiAWPgIAIAVBAWoiBSAAKAIIIgZIDQALCwJA.IAAoAjgiBSgCBCAFKAIAIhJrQQJ1IhAgBGwiEyADSg0AIBBBAkgNACAEQf7///8HcSEUIARBAXEhFUEBIQkDQCAEIAlsIQwCQAJAIBIgCUECdGooAgAiBUF/.Rg0AIA8oAgAgBUEDdkH8////AXFqKAIAIAV2QQFxDQAgDygCQCgCDCAFQQJ0aigCACIFQX9GDQAgESgCACIHIA8oAhwiCCAFQQFqIgogBUECayAKQQNwG0EC.dGooAgBBAnRqKAIAIQsgByAIIAVBAnRqIggoAgBBAnRqKAIAIgogCU4NACAJIAtMDQAgByAIQXxBCCAFQQNwG2ooAgBBAnRqKAIAIgUgCU4NAAJAIARBAEwN.ACACIAQgCmxBAnRqIQggAiAEIAVsQQJ0aiEKIAIgBCALbEECdGohC0EAIQVBACEOIARBAUcEQANAIA0gBUECdCIHaiAHIApqKAIAIAcgC2ooAgBqIAcgCGoo.AgBrNgIAIA0gB0EEciIHaiAHIApqKAIAIAcgC2ooAgBqIAcgCGooAgBrNgIAIAVBAmohBSAOQQJqIg4gFEcNAAsgFUUNAQsgDSAFQQJ0IgVqIAUgCmooAgAg.BSALaigCAGogBSAIaigCAGs2AgALIAZBAEwNASACIAxBAnQiCmohCyAAKAIgIQdBACEFA0ACQCANIAVBAnQiBmooAgAiCCAAKAIQIgxKBEAgBiAHaiAMNgIA.DAELIAYgB2ohBiAAKAIMIgwgCEoEQCAGIAw2AgAMAQsgBiAINgIACyAFQQFqIgUgACgCCCIGSA0AC0EAIQUgBkEATA0BIAEgCmohCANAAkAgCCAFQQJ0IgZq.NAIAIAYgB2o0AgB8IhYgADQCEFUEQCAWIAA1AhR9IRYMAQsgFiAANAIMWQ0AIBYgADUCFHwhFgsgBiALaiAWPgIAIAVBAWoiBSAAKAIIIgZIDQALDAELIAZB.AEwNACACIAxBAnQiCmohCyACIAlBAWsgBGxBAnRqIQwgACgCICEHQQAhBQNAAkAgDCAFQQJ0IgZqKAIAIgggACgCECIOSgRAIAYgB2ogDjYCAAwBCyAGIAdq.IQYgACgCDCIOIAhKBEAgBiAONgIADAELIAYgCDYCAAsgBUEBaiIFIAAoAggiBkgNAAtBACEFIAZBAEwNACABIApqIQgDQAJAIAggBUECdCIGajQCACAGIAdq.NAIAfCIWIAA0AhBVBEAgFiAANQIUfSEWDAELIBYgADQCDFkNACAWIAA1AhR8IRYLIAYgC2ogFj4CACAFQQFqIgUgACgCCCIGSA0ACwsgCUEBaiIJIBBHDQAL.CyANEAUgAyATTgsCAAu4AQIDfgN/AkAgASkDCCIEIAEpAxAiAkIEfCIDUw0AIAEoAgAiBSACp2ooAAAhBiABIAM3AxAgBCACQgh8IgJTDQAgBSADp2ooAAAh.BSABIAI3AxAgBSAGSA0AIAAgBTYCECAAIAY2AgwgBawgBqx9IgJC/v///wdWDQBBASEHIAAgAqciBkEBaiIBNgIUIAAgAUEBdiIBNgIYIABBACABazYCHCAG.QQFxRQ0AIAAgAUEBazYCGAsgBwsKACAAKAIILQAYC8YSAQ1/AkACQAJAAkACQAJAAkACQCAAKAIIIgMoAhxBAWsOBgEAAwIFBAcLIAMtABgiBBAGIQYgACgC.ECIDKAJQBH8gAygCACgCACADKAIwagVBAAshCSABRQ0FIAQEQCAEQfwBcSEMIARBA3EhCiAEQQRJIQ0DQEEAIQVBACEDAkAgDUUEQANAIAMgBmoiByAJIAJB.AnRqIggoAgA6AAAgByAIKAIEOgABIAcgCCgCCDoAAiAHIAgoAgw6AAMgA0EEaiEDIAJBBGohAiAFQQRqIgUgDEcNAAsgCkUNAQtBACEFA0AgAyAGaiAJIAJB.AnRqKAIAOgAAIANBAWohAyACQQFqIQIgBUEBaiIFIApHDQALCyAEBEAgACgCCCgCQCgCACALaiAGIAT8CgAACyAEIAtqIQsgDkEBaiIOIAFHDQALDAYLIAFB.AUcEQCABQQFxIAFBfnEhAQNAIAJBAmoiAiABRw0AC0UNBgsMBQsgAy0AGCIEEAYhBiAAKAIQIgMoAlAEfyADKAIAKAIAIAMoAjBqBUEACyEJIAFFDQQgBARA.IARB/AFxIQwgBEEDcSEKIARBBEkhDQNAQQAhBUEAIQMCQCANRQRAA0AgAyAGaiIHIAkgAkECdGoiCCgCADoAACAHIAgoAgQ6AAEgByAIKAIIOgACIAcgCCgC.DDoAAyADQQRqIQMgAkEEaiECIAVBBGoiBSAMRw0ACyAKRQ0BC0EAIQUDQCADIAZqIAkgAkECdGooAgA6AAAgA0EBaiEDIAJBAWohAiAFQQFqIgUgCkcNAAsL.IAQEQCAAKAIIKAJAKAIAIAtqIAYgBPwKAAALIAQgC2ohCyAOQQFqIg4gAUcNAAsMBQsgAUEBRwRAIAFBAXEgAUF+cSEBA0AgAkECaiICIAFHDQALRQ0FCwwE.CyADLQAYIgJBAXQiBBAGIQYgACgCECIDKAJQBH8gAygCACgCACADKAIwagVBAAshCSABRQ0DIAIEQCACQfwBcSEMIAJBA3EhCiACQQRJIQ1BACECA0BBACEF.QQAhAwJAIA1FBEADQCAGIANBAXRqIgcgCSACQQJ0aiIIKAIAOwEAIAcgCCgCBDsBAiAHIAgoAgg7AQQgByAIKAIMOwEGIANBBGohAyACQQRqIQIgBUEEaiIF.IAxHDQALIApFDQELQQAhBQNAIAYgA0EBdGogCSACQQJ0aigCADsBACADQQFqIQMgAkEBaiECIAVBAWoiBSAKRw0ACwsgBARAIAAoAggoAkAoAgAgC2ogBiAE./AoAAAsgBCALaiELIA5BAWoiDiABRw0ACwwECyABQQFHBEAgAUEBcSABQX5xIQFBACECA0AgBEUiBUUEQCAAKAIIKAJAKAIAIAYgBPwKAAALIAVFBEAgACgC.CCgCQCgCACAGIAT8CgAACyACQQJqIgIgAUcNAAtFDQQLIARFDQMgACgCCCgCQCgCACAGIAT8CgAADAMLIAMtABgiAkEBdCIEEAYhBiAAKAIQIgMoAlAEfyAD.KAIAKAIAIAMoAjBqBUEACyEJIAFFDQIgAgRAIAJB/AFxIQwgAkEDcSEKIAJBBEkhDUEAIQIDQEEAIQVBACEDAkAgDUUEQANAIAYgA0EBdGoiByAJIAJBAnRq.IggoAgA7AQAgByAIKAIEOwECIAcgCCgCCDsBBCAHIAgoAgw7AQYgA0EEaiEDIAJBBGohAiAFQQRqIgUgDEcNAAsgCkUNAQtBACEFA0AgBiADQQF0aiAJIAJB.AnRqKAIAOwEAIANBAWohAyACQQFqIQIgBUEBaiIFIApHDQALCyAEBEAgACgCCCgCQCgCACALaiAGIAT8CgAACyAEIAtqIQsgDkEBaiIOIAFHDQALDAMLIAFB.AUcEQCABQQFxIAFBfnEhAUEAIQIDQCAERSIFRQRAIAAoAggoAkAoAgAgBiAE/AoAAAsgBUUEQCAAKAIIKAJAKAIAIAYgBPwKAAALIAJBAmoiAiABRw0AC0UN.AwsgBEUNAiAAKAIIKAJAKAIAIAYgBPwKAAAMAgsgAy0AGCICQQJ0IgQQBiEGIAAoAhAiAygCUAR/IAMoAgAoAgAgAygCMGoFQQALIQkgAUUNASACBEAgAkH8.AXEhDCACQQNxIQogAkEESSENQQAhAgNAQQAhBUEAIQMCQCANRQRAA0AgBiADQQJ0aiIHIAkgAkECdGoiCCgCADYCACAHIAgoAgQ2AgQgByAIKAIINgIIIAcg.CCgCDDYCDCADQQRqIQMgAkEEaiECIAVBBGoiBSAMRw0ACyAKRQ0BC0EAIQUDQCAGIANBAnRqIAkgAkECdGooAgA2AgAgA0EBaiEDIAJBAWohAiAFQQFqIgUg.CkcNAAsLIAQEQCAAKAIIKAJAKAIAIAtqIAYgBPwKAAALIAQgC2ohCyAOQQFqIg4gAUcNAAsMAgsgAUEBRwRAIAFBAXEgAUF+cSEBQQAhAgNAIARFIgVFBEAg.ACgCCCgCQCgCACAGIAT8CgAACyAFRQRAIAAoAggoAkAoAgAgBiAE/AoAAAsgAkECaiICIAFHDQALRQ0CCyAERQ0BIAAoAggoAkAoAgAgBiAE/AoAAAwBCyAD.LQAYIgJBAnQiBBAGIQYgACgCECIDKAJQBH8gAygCACgCACADKAIwagVBAAshCSABRQ0AIAIEQCACQfwBcSEMIAJBA3EhCiACQQRJIQ1BACECA0BBACEFQQAh.AwJAIA1FBEADQCAGIANBAnRqIgcgCSACQQJ0aiIIKAIANgIAIAcgCCgCBDYCBCAHIAgoAgg2AgggByAIKAIMNgIMIANBBGohAyACQQRqIQIgBUEEaiIFIAxH.DQALIApFDQELQQAhBQNAIAYgA0ECdGogCSACQQJ0aigCADYCACADQQFqIQMgAkEBaiECIAVBAWoiBSAKRw0ACwsgBARAIAAoAggoAkAoAgAgC2ogBiAE/AoA.AAsgBCALaiELIA5BAWoiDiABRw0ACwwBCyABQQFHBEAgAUEBcSABQX5xIQFBACECA0AgBEUiBUUEQCAAKAIIKAJAKAIAIAYgBPwKAAALIAVFBEAgACgCCCgC.QCgCACAGIAT8CgAACyACQQJqIgIgAUcNAAtFDQELIARFDQAgACgCCCgCQCgCACAGIAT8CgAACyAGEAVBASEGCyAGC8QXAQl/IwBBMGsiAyQAAkAgAkEBRw0A.IAAoAgQhBSAAKAIMIQYgA0EANgIoIANCADcDICADQgA3AxggA0IANwMQIANCADcDCAJ/AkACQCABQX5GDQAgBSgCBCgCCCAGQQJ0aigCACEKIAUgBSgCACgC.CBEAAEEBRgRAIAUvASQiAEEIdCAAQQh2ckH//wNxIQhBACEAIwBBIGsiAiQAIAUoAgQoAgggBkECdGooAgAhBCAFIAUoAgAoAggRAAAhBwJAIAFBAWsiC0EF.Sw0AIAdBAUcNACAFIAUoAgAoAiQRAAAhCSAFIAYgBSgCACgCLBEBACEHIAlFDQAgB0UNACAHQQxqIQAgBSAGIAUoAgAoAigRAQAiBgRAIAUoAiwhASACIAc2.AhggAiAGNgIQIAIgATYCDCACIAA2AhRBACEAAkACQAJAAkACQAJAAkACQCALDgYAAQMCBAUHC0E8EAYiACAENgIEIAAgAykCCDcCCCAAIAMpAhA3AhAgACAD.KQIYNwIYIABBADYCKCAAQgA3AiAgAygCJCIBIAMoAiAiBEcEQCABIARrIgFBAEgNBiAAIAEQBiIFNgIgIAAgASAFaiIGNgIoIAEEQCAFIAQgAfwKAAALIAAg.BjYCJAsgACACKQIUNwI0IAAgAikCDDcCLCAAQbgUNgIADAYLQTwQBiIAIAQ2AgQgACADKQIINwIIIAAgAykCEDcCECAAIAMpAhg3AhggAEEANgIoIABCADcC.ICADKAIkIgEgAygCICIERwRAIAEgBGsiAUEASA0FIAAgARAGIgU2AiAgACABIAVqIgY2AiggAQRAIAUgBCAB/AoAAAsgACAGNgIkCyAAIAIpAhQ3AjQgACAC.KQIMNwIsIABBiBo2AgAMBQtB8AAQBiIAIAQ2AgQgACADKQIINwIIIAAgAykCEDcCECAAIAMpAhg3AhggAEEANgIoIABCADcCICADKAIkIgEgAygCICIERwRA.IAEgBGsiAUEASA0EIAAgARAGIgU2AiAgACABIAVqIgY2AiggAQRAIAUgBCAB/AoAAAsgACAGNgIkCyAAIAIpAhQ3AjQgACACKQIMNwIsIABCADcCPCAAQfgb.NgIAIABCADcCRCAAQgA3AkwgAEIANwJUIABCADcCXCAAQgA3AmQgAEEANgJsDAQLQdwAEAYiACAENgIEIAAgAykCCDcCCCAAIAMpAhA3AhAgACADKQIYNwIY.IABBADYCKCAAQgA3AiAgAygCJCIBIAMoAiAiBEcEQCABIARrIgFBAEgNAyAAIAEQBiIFNgIgIAAgASAFaiIGNgIoIAEEQCAFIAQgAfwKAAALIAAgBjYCJAsg.ACACKQIUNwI0IAAgAikCDDcCLCAAQgA3AjwgAEH0HTYCACAAQgA3AkQgAEIANwJMIABBADYCVCAAIAg2AlgMAwtB7AAQBiIAIAQ2AgQgACADKQIINwIIIAAg.AykCEDcCECAAIAMpAhg3AhggAEEANgIoIABCADcCICADKAIkIgEgAygCICIERwRAIAEgBGsiAUEASA0CIAAgARAGIgU2AiAgACABIAVqIgY2AiggAQRAIAUg.BCAB/AoAAAsgACAGNgIkCyAAIAIpAhQ3AjQgACACKQIMNwIsIABBADYCVCAAQgA3AkwgAEIANwI8IABB3B82AgAgACACKQIMNwJYIAAgAikCFDcCYCAAQX82.AmgMAgtBgAEQBiIAIAQ2AgQgAEHMGTYCACAAIAMpAgg3AgggACADKQIQNwIQIAAgAykCGDcCGCAAQQA2AiggAEIANwIgIAMoAiQiASADKAIgIgRHBEAgASAE.ayIBQQBIDQEgACABEAYiBTYCICAAIAEgBWoiBjYCKCABBEAgBSAEIAH8CgAACyAAIAY2AiQLIAAgAikCFDcCNCAAIAIpAgw3AiwgAEIANwJAIABBzCE2AgAg.ACACKQIMNwJIIAAgAikCFDcCUCAAQoCAgPxzNwJoIABCfzcCYCAAQoGAgIBwNwJYIABBvCM2AjwgAEHwAGoiAUIANwAFIAFCADcCAAwBCxAHAAsMAQsgBSgC.LCEFIAIgBzYCGCACIAk2AhAgAiAFNgIMIAIgADYCFEEAIQACQAJAAkACQAJAAkACQAJAIAFBAWsOBgABAwIEBQcLQTwQBiIAIAQ2AgQgACADKQIINwIIIAAg.AykCEDcCECAAIAMpAhg3AhggAEEANgIoIABCADcCICADKAIkIgEgAygCICIERwRAIAEgBGsiAUEASA0GIAAgARAGIgU2AiAgACABIAVqIgY2AiggAQRAIAUg.BCAB/AoAAAsgACAGNgIkCyAAIAIpAhQ3AjQgACACKQIMNwIsIABBxCY2AgAMBgtBPBAGIgAgBDYCBCAAIAMpAgg3AgggACADKQIQNwIQIAAgAykCGDcCGCAA.QQA2AiggAEIANwIgIAMoAiQiASADKAIgIgRHBEAgASAEayIBQQBIDQUgACABEAYiBTYCICAAIAEgBWoiBjYCKCABBEAgBSAEIAH8CgAACyAAIAY2AiQLIAAg.AikCFDcCNCAAIAIpAgw3AiwgAEG8KTYCAAwFC0HwABAGIgAgBDYCBCAAIAMpAgg3AgggACADKQIQNwIQIAAgAykCGDcCGCAAQQA2AiggAEIANwIgIAMoAiQi.ASADKAIgIgRHBEAgASAEayIBQQBIDQQgACABEAYiBTYCICAAIAEgBWoiBjYCKCABBEAgBSAEIAH8CgAACyAAIAY2AiQLIAAgAikCFDcCNCAAIAIpAgw3Aiwg.AEIANwI8IABBoCs2AgAgAEIANwJEIABCADcCTCAAQgA3AlQgAEIANwJcIABCADcCZCAAQQA2AmwMBAtB3AAQBiIAIAQ2AgQgACADKQIINwIIIAAgAykCEDcC.ECAAIAMpAhg3AhggAEEANgIoIABCADcCICADKAIkIgEgAygCICIERwRAIAEgBGsiAUEASA0DIAAgARAGIgU2AiAgACABIAVqIgY2AiggAQRAIAUgBCAB/AoA.AAsgACAGNgIkCyAAIAIpAhQ3AjQgACACKQIMNwIsIABCADcCPCAAQZAtNgIAIABCADcCRCAAQgA3AkwgAEEANgJUIAAgCDYCWAwDC0HsABAGIgAgBDYCBCAA.IAMpAgg3AgggACADKQIQNwIQIAAgAykCGDcCGCAAQQA2AiggAEIANwIgIAMoAiQiASADKAIgIgRHBEAgASAEayIBQQBIDQIgACABEAYiBTYCICAAIAEgBWoi.BjYCKCABBEAgBSAEIAH8CgAACyAAIAY2AiQLIAAgAikCFDcCNCAAIAIpAgw3AiwgAEEANgJUIABCADcCTCAAQgA3AjwgAEHsLjYCACAAIAIpAgw3AlggACAC.KQIUNwJgIABBfzYCaAwCC0GAARAGIgAgBDYCBCAAQcwZNgIAIAAgAykCCDcCCCAAIAMpAhA3AhAgACADKQIYNwIYIABBADYCKCAAQgA3AiAgAygCJCIBIAMo.AiAiBEcEQCABIARrIgFBAEgNASAAIAEQBiIFNgIgIAAgASAFaiIGNgIoIAEEQCAFIAQgAfwKAAALIAAgBjYCJAsgACACKQIUNwI0IAAgAikCDDcCLCAAQgA3.AkAgAEHQMDYCACAAIAIpAgw3AkggACACKQIUNwJQIABCgICA/HM3AmggAEJ/NwJgIABCgYCAgHA3AlggAEGwMjYCPCAAQfAAaiIBQgA3AAUgAUIANwIADAEL.EAcACwsgAkEgaiQAIAAiBA0BC0EsEAYiBCAKNgIEIAQgAykCCDcCCCAEIAMpAhA3AhAgBCADKQIYNwIYIARBADYCKCAEQgA3AiAgAygCJCIAIAMoAiAiAUcE.QCAAIAFrIgBBAEgNAiAEIAAQBiICNgIgIAQgACACaiIFNgIoIAAEQCACIAEgAPwKAAALIAQgBTYCJAsgBEGgNTYCAAsgBAwBCxAHAAshBCADKAIgIgBFDQAg.AyAANgIkIAAQBQsgA0EwaiQAIAQLmAICA38DfgJAIAIpAwgiCCACKQMQIgZXDQAgAigCACIEIAanaiwAACEDIAIgBkIBfCIHNwMQIANBB2tB/wFxQfcBSQ0A.AkAgA0F+Rg0AIAcgCFkNASAEIAenaiwAACEEIAIgBkICfDcDECAEQQRrQf8BcUH7AUkNASAAIAMgBCAAKAIAKAIoEQMAIQQgACgCFCEDIAAgBDYCFCADRQ0A.IAMgAygCACgCBBECAAsgACgCFCIDBEAgACADIAAoAgAoAhwRAQBFDQELIAAgASACIAAoAgAoAiQRAwBFDQACQCAAKAIEIgJFDQAgAi0AJEEBSw0AIAAgASgC.BCABKAIAa0ECdSAAKAIAKAIwEQEARQ0BC0EBIQULIAULOQEBfwJ/IAAoAgQiAgRAQQEgAi0AJEECSQ0BGgsgACABKAIEIAEoAgBrQQJ1IAAoAgAoAjARAQAL.Cy4BAX8CQCABKAJYIgFFDQAgASgCAEECRw0AIAAgASgCCCgAADYCBEEBIQILIAILAgALC+5vGwBBhAgL5FA4BAAAAgAAAAMAAAAEAAAABQAAAAYAAAAHAAAA.CAAAAAkAAAAKAAAACwAAAAwAAAANAAAAmDoAAEQEAADEBwAATjVkcmFjbzI4QXR0cmlidXRlT2N0YWhlZHJvblRyYW5zZm9ybUUALSsgICAwWDB4ACVzOiVk.OiAlcwB2ZWN0b3IAL2Vtc2RrL2Vtc2NyaXB0ZW4vc3lzdGVtL2xpYi9saWJjeHhhYmkvc3JjL3ByaXZhdGVfdHlwZWluZm8uY3BwAHNraXBfYXR0cmlidXRl.X3RyYW5zZm9ybQBiYWRfYXJyYXlfbmV3X2xlbmd0aABiYXNpY19zdHJpbmcAY2F0Y2hpbmcgYSBjbGFzcyB3aXRob3V0IGFuIG9iamVjdD8AVXNpbmcgaW5j.b21wYXRpYmxlIGRlY29kZXIgZm9yIHRoZSBpbnB1dCBnZW9tZXRyeS4ARmFpbGVkIHRvIGRlY29kZSBwb2ludCBhdHRyaWJ1dGVzLgBGYWlsZWQgdG8gaW5p.dGlhbGl6ZSB0aGUgZGVjb2Rlci4AVW5rbm93biBtaW5vciB2ZXJzaW9uLgBVbmtub3duIG1ham9yIHZlcnNpb24uAElucHV0IGlzIG5vdCBhIG1lc2guAFVu.c3VwcG9ydGVkIGdlb21ldHJ5IHR5cGUuAE5vdCBhIERyYWNvIGZpbGUuAElucHV0IGlzIG5vdCBhIHBvaW50IGNsb3VkLgBVbnN1cHBvcnRlZCBlbmNvZGlu.ZyBtZXRob2QuAEZhaWxlZCB0byBkZWNvZGUgbWV0YWRhdGEuAEZhaWxlZCB0byBkZWNvZGUgZ2VvbWV0cnkgZGF0YS4AKG51bGwpAFB1cmUgdmlydHVhbCBm.dW5jdGlvbiBjYWxsZWQhAEtkVHJlZUF0dHJpYnV0ZXNEZWNvZGVyOiBjb21wcmVzc2lvbiBsZXZlbCAlaSBub3Qgc3VwcG9ydGVkLgoARmxvYXRQb2ludHNU.cmVlRGVjb2RlcjogY29tcHJlc3Npb24gbGV2ZWwgJWkgbm90IHN1cHBvcnRlZC4KAFZlcnNpb24gbm90IHN1cHBvcnRlZC4gCgBNZXRob2Qgbm90IHN1cHBv.cnRlZC4gCgAAAAAAAACMBwAADwAAABAAAAARAAAAEgAAABMAAAAUAAAAFQAAABYAAAAXAAAACwAAABgAAAAZAAAAmDoAAJgHAADEBwAATjVkcmFjbzMwQXR0.cmlidXRlUXVhbnRpemF0aW9uVHJhbnNmb3JtRQAAAABwOgAAzAcAAE41ZHJhY28xOEF0dHJpYnV0ZVRyYW5zZm9ybUUAAAAAAAAAACQIAAAaAAAAGwAAABwA.AAAdAAAAHgAAAB8AAAAgAAAAIQAAACIAAAAjAAAAJAAAACUAAACYOgAAMAgAAEwIAABONWRyYWNvMTdBdHRyaWJ1dGVzRGVjb2RlckUAcDoAAFQIAABONWRy.YWNvMjZBdHRyaWJ1dGVzRGVjb2RlckludGVyZmFjZUUAAAAAAAAAALQIAAAmAAAAJwAAABwAAAAdAAAAHgAAAB8AAAAgAAAAIQAAACIAAAAoAAAAKQAAACoA.AACYOgAAwAgAACQIAABONWRyYWNvMjNLZFRyZWVBdHRyaWJ1dGVzRGVjb2RlckUAAAAAAAAAEAkAACsAAAAsAAAALQAAAC4AAAAvAAAAMAAAADEAAAAyAAAA.MwAAAHA6AAAYCQAATjVkcmFjbzI2U2VxdWVudGlhbEF0dHJpYnV0ZURlY29kZXJFAAAAAP////8AAAAAgAkAADQAAAA1AAAAHAAAADYAAAA3AAAAHwAAACAA.AAAhAAAAOAAAADkAAAA6AAAAOwAAADwAAACYOgAAjAkAACQIAABONWRyYWNvMzdTZXF1ZW50aWFsQXR0cmlidXRlRGVjb2RlcnNDb250cm9sbGVyRQAAAAAA.+AkAAD0AAAA+AAAAPwAAAC4AAAAvAAAAMAAAAEAAAAAyAAAAQQAAAEIAAABDAAAARAAAAEUAAACYOgAABAoAABAJAABONWRyYWNvMzNTZXF1ZW50aWFsSW50.ZWdlckF0dHJpYnV0ZURlY29kZXJFAAAAAABsCgAARgAAAEcAAABIAAAASQAAAEoAAABLAAAATAAAAE0AAABOAAAATwAAAFAAAABRAAAAUgAAAJg6AAB4CgAA.HAsAAE41ZHJhY280ME1lc2hQcmVkaWN0aW9uU2NoZW1lUGFyYWxsZWxvZ3JhbURlY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1Ry.YW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQAAmDoAACgLAADACwAA.TjVkcmFjbzI3TWVzaFByZWRpY3Rpb25TY2hlbWVEZWNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRGVjb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0.TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUAAACYOgAAzAsAACAMAABONWRyYWNvMjNQcmVkaWN0.aW9uU2NoZW1lRGVjb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcERlY29kaW5nVHJhbnNmb3JtSWlpRUVFRQCYOgAALAwAAGAMAABONWRyYWNvMzdQ.cmVkaWN0aW9uU2NoZW1lVHlwZWREZWNvZGVySW50ZXJmYWNlSWlpRUUAmDoAAGwMAACYDAAATjVkcmFjbzMyUHJlZGljdGlvblNjaGVtZURlY29kZXJJbnRl.cmZhY2VFAABwOgAAoAwAAE41ZHJhY28yNVByZWRpY3Rpb25TY2hlbWVJbnRlcmZhY2VFAAAAAADACwAARgAAAFMAAAAjAAAASQAAACMAAABLAAAATAAAAE0A.AABOAAAATwAAAFAAAABRAAAAIwAAAAAAAAA8DQAARgAAAFQAAABVAAAASQAAAFYAAABLAAAATAAAAE0AAABOAAAATwAAAFAAAABRAAAAVwAAAJg6AABIDQAA.HAsAAE41ZHJhY280NU1lc2hQcmVkaWN0aW9uU2NoZW1lTXVsdGlQYXJhbGxlbG9ncmFtRGVjb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcERlY29k.aW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAAAAAAAsDgAA.WAAAAFkAAABaAAAASQAAAFsAAABLAAAATAAAAE0AAABOAAAATwAAAFwAAABRAAAAXQAAAJg6AAA4DgAAHAsAAE41ZHJhY281Nk1lc2hQcmVkaWN0aW9uU2No.ZW1lQ29uc3RyYWluZWRNdWx0aVBhcmFsbGVsb2dyYW1EZWNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRGVjb2RpbmdUcmFuc2Zvcm1JaWlFRU5T.XzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUAAAAAAAAoDwAAXgAAAF8AAABgAAAASQAAAGEA.AABiAAAAYwAAAGQAAABOAAAATwAAAGUAAABRAAAAZgAAAJg6AAA0DwAAHAsAAE41ZHJhY28zNk1lc2hQcmVkaWN0aW9uU2NoZW1lVGV4Q29vcmRzRGVjb2Rl.cklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcERlY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hB.dHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAAAAAAAAEBAAAGcAAABoAAAAaQAAAEkAAABqAAAAawAAAGwAAABtAAAATgAAAE8AAABuAAAAbwAAAHAAAACYOgAA.HBAAABwLAABONWRyYWNvNDRNZXNoUHJlZGljdGlvblNjaGVtZVRleENvb3Jkc1BvcnRhYmxlRGVjb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcERl.Y29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAAAAAAAA.ABEAAHEAAAByAAAAcwAAAEkAAAB0AAAAdQAAAHYAAAB3AAAATgAAAE8AAAB4AAAAUQAAAHkAAACYOgAADBEAABwLAABONWRyYWNvNDJNZXNoUHJlZGljdGlv.blNjaGVtZUdlb21ldHJpY05vcm1hbERlY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJl.ZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQAAAAAAAAAA0BEAAHoAAAB7AAAAfAAAAH0AAAB+AAAAmDoAANwR.AACIEgAATjVkcmFjbzQ4TWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxQcmVkaWN0b3JBcmVhSWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFw.RGVjb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUAAHA6.AACQEgAATjVkcmFjbzQ4TWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxQcmVkaWN0b3JCYXNlSWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFw.RGVjb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUAAAAA.AAB4EwAARgAAAH8AAACAAAAASQAAAIEAAABLAAAATAAAAE0AAABOAAAATwAAAFAAAABRAAAAggAAAJg6AACEEwAAHBQAAE41ZHJhY280ME1lc2hQcmVkaWN0.aW9uU2NoZW1lUGFyYWxsZWxvZ3JhbURlY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJl.ZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAAAAmDoAACgUAADACwAATjVkcmFjbzI3TWVzaFByZWRpY3Rpb25TY2hlbWVEZWNvZGVy.SWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRGVjb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVy.VGFibGVFRUVFRQAAAAAAAAAA8BQAAEYAAACDAAAAhAAAAEkAAACFAAAASwAAAEwAAABNAAAATgAAAE8AAABQAAAAUQAAAIYAAACYOgAA/BQAABwUAABONWRy.YWNvNDVNZXNoUHJlZGljdGlvblNjaGVtZU11bHRpUGFyYWxsZWxvZ3JhbURlY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5z.Zm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAAAAAAAA1BUAAIcAAACIAAAAiQAAAEkAAACKAAAA.SwAAAEwAAABNAAAATgAAAE8AAACLAAAAUQAAAIwAAACYOgAA4BUAABwUAABONWRyYWNvNTZNZXNoUHJlZGljdGlvblNjaGVtZUNvbnN0cmFpbmVkTXVsdGlQ.YXJhbGxlbG9ncmFtRGVjb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcERlY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2No.ZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUAAAAAAAAAxBYAAI0AAACOAAAAjwAAAEkAAACQAAAAkQAAAJIAAACTAAAATgAAAE8AAACUAAAAUQAAAJUA.AACYOgAA0BYAABwUAABONWRyYWNvMzZNZXNoUHJlZGljdGlvblNjaGVtZVRleENvb3Jkc0RlY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNv.ZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAAAAAAAAAKAXAACWAAAAlwAAAJgA.AABJAAAAmQAAAJoAAACbAAAAnAAAAE4AAABPAAAAnQAAAJ4AAACfAAAAmDoAAKwXAAAcFAAATjVkcmFjbzQ0TWVzaFByZWRpY3Rpb25TY2hlbWVUZXhDb29y.ZHNQb3J0YWJsZURlY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVt.ZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAAAAAAAAAIQYAACgAAAAoQAAAKIAAABJAAAAowAAAKQAAAClAAAApgAAAE4AAABPAAAApwAAAFEAAACoAAAA.mDoAAJAYAAAcFAAATjVkcmFjbzQyTWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxEZWNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFw.RGVjb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQAAAAAARBkAAKkAAACqAAAA.qwAAAKwAAACtAAAAmDoAAFAZAADwGQAATjVkcmFjbzQ4TWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxQcmVkaWN0b3JBcmVhSWlOU18zN1By.ZWRpY3Rpb25TY2hlbWVXcmFwRGVjb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVF.RQAAAHA6AAD4GQAATjVkcmFjbzQ4TWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxQcmVkaWN0b3JCYXNlSWlOU18zN1ByZWRpY3Rpb25TY2hl.bWVXcmFwRGVjb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQAAAAAAAADUGgAA.RgAAAK4AAACvAAAASQAAALAAAABLAAAATAAAAE0AAABOAAAATwAAAFAAAABRAAAAsQAAAJg6AADgGgAAwAsAAE41ZHJhY28yOFByZWRpY3Rpb25TY2hlbWVE.ZWx0YURlY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFRUUAAAAAAAAAAHgbAACyAAAAswAAALQAAAAuAAAA.LwAAALUAAABAAAAAMgAAAEEAAAC2AAAAtwAAALgAAAC5AAAAmDoAAIQbAAD4CQAATjVkcmFjbzMyU2VxdWVudGlhbE5vcm1hbEF0dHJpYnV0ZURlY29kZXJF.AAAAAAAA7BsAALoAAAC7AAAAvAAAAL0AAAC+AAAAvwAAAMAAAADBAAAAwgAAAMMAAADEAAAAUQAAAMUAAACYOgAA+BsAAKgcAABONWRyYWNvNDJNZXNoUHJl.ZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbERlY29kZXJJaU5TXzQ5UHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25EZWNvZGluZ1RyYW5zZm9y.bUlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAJg6AAC0HAAAWB0AAE41ZHJhY28y.N01lc2hQcmVkaWN0aW9uU2NoZW1lRGVjb2RlcklpTlNfNDlQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkRlY29kaW5nVHJhbnNmb3JtSWlFRU5T.XzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUAAAAAmDoAAGQdAAAgDAAATjVkcmFjbzIzUHJl.ZGljdGlvblNjaGVtZURlY29kZXJJaU5TXzQ5UHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25EZWNvZGluZ1RyYW5zZm9ybUlpRUVFRQAAAAAAAOAd.AADGAAAAxwAAAMgAAADJAAAAygAAAJg6AADsHQAApB4AAE41ZHJhY280OE1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFsUHJlZGljdG9yQXJl.YUlpTlNfNDlQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkRlY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRh.SU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUAAABwOgAArB4AAE41ZHJhY280OE1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFs.UHJlZGljdG9yQmFzZUlpTlNfNDlQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkRlY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rp.b25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUAAAAAAAAAoB8AAMsAAADMAAAAzQAAAL0AAADOAAAAzwAAANAAAADRAAAA.wgAAAMMAAADSAAAAUQAAANMAAACYOgAArB8AAFAgAABONWRyYWNvNDJNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbERlY29kZXJJaU5TXzQ5.UHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25EZWNvZGluZ1RyYW5zZm9ybUlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNv.cm5lclRhYmxlRUVFRUUAAJg6AABcIAAAWB0AAE41ZHJhY28yN01lc2hQcmVkaWN0aW9uU2NoZW1lRGVjb2RlcklpTlNfNDlQcmVkaWN0aW9uU2NoZW1lTm9y.bWFsT2N0YWhlZHJvbkRlY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQAAAAAA.DCEAANQAAADVAAAA1gAAANcAAADYAAAAmDoAABghAADEIQAATjVkcmFjbzQ4TWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxQcmVkaWN0b3JB.cmVhSWlOU180OVByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uRGVjb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURh.dGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAAAAAHA6AADMIQAATjVkcmFjbzQ4TWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxQcmVkaWN0b3JC.YXNlSWlOU180OVByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uRGVjb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURh.dGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAAAAAAAAAAC0IgAA2QAAANoAAADbAAAAvQAAANwAAADdAAAA3gAAAN8AAADCAAAAwwAAAOAAAABRAAAA4QAAAJg6.AADAIgAAWB0AAE41ZHJhY28yOFByZWRpY3Rpb25TY2hlbWVEZWx0YURlY29kZXJJaU5TXzQ5UHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25EZWNv.ZGluZ1RyYW5zZm9ybUlpRUVFRQAAAAAAYCMAAOIAAADjAAAA5AAAAOUAAADmAAAA5wAAAOgAAADpAAAA6gAAAOsAAADsAAAAUQAAAO0AAACYOgAAbCMAACwk.AABONWRyYWNvNDJNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbERlY29kZXJJaU5TXzYyUHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRy.b25DYW5vbmljYWxpemVkRGVjb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVy.VGFibGVFRUVFRQAAAACYOgAAOCQAAOgkAABONWRyYWNvMjdNZXNoUHJlZGljdGlvblNjaGVtZURlY29kZXJJaU5TXzYyUHJlZGljdGlvblNjaGVtZU5vcm1h.bE9jdGFoZWRyb25DYW5vbmljYWxpemVkRGVjb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmli.dXRlQ29ybmVyVGFibGVFRUVFRQAAAJg6AAD0JAAAIAwAAE41ZHJhY28yM1ByZWRpY3Rpb25TY2hlbWVEZWNvZGVySWlOU182MlByZWRpY3Rpb25TY2hlbWVO.b3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZERlY29kaW5nVHJhbnNmb3JtSWlFRUVFAAAAAAB8JQAA7gAAAO8AAADwAAAA8QAAAPIAAACYOgAAiCUAAEwm.AABONWRyYWNvNDhNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbFByZWRpY3RvckFyZWFJaU5TXzYyUHJlZGljdGlvblNjaGVtZU5vcm1hbE9j.dGFoZWRyb25DYW5vbmljYWxpemVkRGVjb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRl.Q29ybmVyVGFibGVFRUVFRQAAcDoAAFQmAABONWRyYWNvNDhNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbFByZWRpY3RvckJhc2VJaU5TXzYy.UHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25DYW5vbmljYWxpemVkRGVjb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVt.ZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQAAAAAAAFQnAADzAAAA9AAAAPUAAADlAAAA9gAAAPcAAAD4AAAA+QAAAOoAAADrAAAA.+gAAAFEAAAD7AAAAmDoAAGAnAAAQKAAATjVkcmFjbzQyTWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxEZWNvZGVySWlOU182MlByZWRpY3Rp.b25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZERlY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5T.XzExQ29ybmVyVGFibGVFRUVFRQCYOgAAHCgAAOgkAABONWRyYWNvMjdNZXNoUHJlZGljdGlvblNjaGVtZURlY29kZXJJaU5TXzYyUHJlZGljdGlvblNjaGVt.ZU5vcm1hbE9jdGFoZWRyb25DYW5vbmljYWxpemVkRGVjb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3Ju.ZXJUYWJsZUVFRUVFAAAAAAAAAADcKAAA/AAAAP0AAAD+AAAA/wAAAAABAACYOgAA6CgAAKApAABONWRyYWNvNDhNZXNoUHJlZGljdGlvblNjaGVtZUdlb21l.dHJpY05vcm1hbFByZWRpY3RvckFyZWFJaU5TXzYyUHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25DYW5vbmljYWxpemVkRGVjb2RpbmdUcmFuc2Zv.cm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAAAAcDoAAKgpAABONWRyYWNvNDhNZXNoUHJlZGljdGlv.blNjaGVtZUdlb21ldHJpY05vcm1hbFByZWRpY3RvckJhc2VJaU5TXzYyUHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25DYW5vbmljYWxpemVkRGVj.b2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAAAAAAAAAJwqAADZAAAAAQEAAAIB.AADlAAAAAwEAAAQBAAAFAQAABgEAAOoAAADrAAAABwEAAFEAAAAIAQAAmDoAAKgqAADoJAAATjVkcmFjbzI4UHJlZGljdGlvblNjaGVtZURlbHRhRGVjb2Rl.cklpTlNfNjJQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkNhbm9uaWNhbGl6ZWREZWNvZGluZ1RyYW5zZm9ybUlpRUVFRQAAAAAAAAAAYCsAAAkB.AAAKAQAACwEAAC4AAAAvAAAADAEAAEAAAAAyAAAAQQAAAA0BAABDAAAARAAAAA4BAAAPAQAAEAEAAJg6AABsKwAA+AkAAE41ZHJhY28zOFNlcXVlbnRpYWxR.dWFudGl6YXRpb25BdHRyaWJ1dGVEZWNvZGVyRQAAAAAAAAAA3CsAABEBAAASAQAAEwEAABQBAAAjAAAAFQEAABYBAAAXAQAAGAEAABkBAAAaAQAAGwEAACMA.AACYOgAA6CsAADA0AABONWRyYWNvMTFNZXNoRGVjb2RlckUAAAAAAAAAPCwAABwBAAAdAQAAEwEAAB4BAAAfAQAAFQEAABYBAAAXAQAAIAEAACEBAAAiAQAA.IwEAACQBAACYOgAASCwAANwrAABONWRyYWNvMjJNZXNoRWRnZWJyZWFrZXJEZWNvZGVyRQBB8dgAC/UFLQAAJQEAACYBAAAnAQAAKAEAACkBAAAqAQAAKwEA.ACwBAAAtAQAALgEAAP////8AAAAAkC0AAC8BAAAwAQAAMQEAADIBAAAzAQAANAEAADUBAAA2AQAANwEAADgBAAAAAAAA9C0AADkBAAA6AQAAOwEAADwBAAA9.AQAAPgEAAD8BAABAAQAAQQEAAEIBAACYOgAADC0AAFgtAABONWRyYWNvMjZNZXNoRWRnZWJyZWFrZXJEZWNvZGVySW1wbElOU18zMU1lc2hFZGdlYnJlYWtl.clRyYXZlcnNhbERlY29kZXJFRUUAcDoAAGAtAABONWRyYWNvMzVNZXNoRWRnZWJyZWFrZXJEZWNvZGVySW1wbEludGVyZmFjZUUAAACYOgAAnC0AAFgtAABO.NWRyYWNvMjZNZXNoRWRnZWJyZWFrZXJEZWNvZGVySW1wbElOU180MU1lc2hFZGdlYnJlYWtlclRyYXZlcnNhbFByZWRpY3RpdmVEZWNvZGVyRUVFAAAAmDoA.AAAuAABYLQAATjVkcmFjbzI2TWVzaEVkZ2VicmVha2VyRGVjb2RlckltcGxJTlNfMzhNZXNoRWRnZWJyZWFrZXJUcmF2ZXJzYWxWYWxlbmNlRGVjb2RlckVF.RQAAAAAAAGguAABDAQAARAEAAEUBAACYOgAAdC4AAOQuAABONWRyYWNvMTlEZXB0aEZpcnN0VHJhdmVyc2VySU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRh.YmxlRU5TXzM2TWVzaEF0dHJpYnV0ZUluZGljZXNFbmNvZGluZ09ic2VydmVySVMxX0VFRUUAAAAAcDoAAOwuAABONWRyYWNvMTNUcmF2ZXJzZXJCYXNlSU5T.XzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRU5TXzM2TWVzaEF0dHJpYnV0ZUluZGljZXNFbmNvZGluZ09ic2VydmVySVMxX0VFRUUAAAAAAADkLgAARgEA.AEcBAABFAQBB9N4AC44JAQAAAAMAAAAFAAAABwAAAAAAAACcLwAASAEAAEkBAABKAQAASwEAAJg6AACoLwAAMDAAAE41ZHJhY28yMk1lc2hUcmF2ZXJzYWxT.ZXF1ZW5jZXJJTlNfMjhNYXhQcmVkaWN0aW9uRGVncmVlVHJhdmVyc2VySU5TXzExQ29ybmVyVGFibGVFTlNfMzZNZXNoQXR0cmlidXRlSW5kaWNlc0VuY29k.aW5nT2JzZXJ2ZXJJUzJfRUVFRUVFAABwOgAAODAAAE41ZHJhY28xNVBvaW50c1NlcXVlbmNlckUAAAD/////AAAAAGwwAABMAQAATQEAAE4BAACYOgAAeDAA.AOQwAABONWRyYWNvMjhNYXhQcmVkaWN0aW9uRGVncmVlVHJhdmVyc2VySU5TXzExQ29ybmVyVGFibGVFTlNfMzZNZXNoQXR0cmlidXRlSW5kaWNlc0VuY29k.aW5nT2JzZXJ2ZXJJUzFfRUVFRQAAAABwOgAA7DAAAE41ZHJhY28xM1RyYXZlcnNlckJhc2VJTlNfMTFDb3JuZXJUYWJsZUVOU18zNk1lc2hBdHRyaWJ1dGVJ.bmRpY2VzRW5jb2RpbmdPYnNlcnZlcklTMV9FRUVFAAAAAAAAAOQwAABPAQAAUAEAAE4BAAAAAAAAdDEAAFEBAABSAQAAUwEAAFQBAACYOgAAgDEAADAwAABO.NWRyYWNvMjJNZXNoVHJhdmVyc2FsU2VxdWVuY2VySU5TXzE5RGVwdGhGaXJzdFRyYXZlcnNlcklOU18xMUNvcm5lclRhYmxlRU5TXzM2TWVzaEF0dHJpYnV0.ZUluZGljZXNFbmNvZGluZ09ic2VydmVySVMyX0VFRUVFRQAAAAAAAAAUMgAAVQEAAFYBAABOAQAAmDoAACAyAADkMAAATjVkcmFjbzE5RGVwdGhGaXJzdFRy.YXZlcnNlcklOU18xMUNvcm5lclRhYmxlRU5TXzM2TWVzaEF0dHJpYnV0ZUluZGljZXNFbmNvZGluZ09ic2VydmVySVMxX0VFRUUAAAAAAJgyAABXAQAAWAEA.AFkBAABaAQAAmDoAAKQyAAAwMAAATjVkcmFjbzIyTWVzaFRyYXZlcnNhbFNlcXVlbmNlcklOU18xOURlcHRoRmlyc3RUcmF2ZXJzZXJJTlNfMjRNZXNoQXR0.cmlidXRlQ29ybmVyVGFibGVFTlNfMzZNZXNoQXR0cmlidXRlSW5kaWNlc0VuY29kaW5nT2JzZXJ2ZXJJUzJfRUVFRUVFAAAAAAAAbDMAABEBAABbAQAAEwEA.ABQBAABcAQAAFQEAABYBAAAXAQAAGAEAABkBAAAaAQAAGwEAAF0BAACYOgAAeDMAANwrAABONWRyYWNvMjFNZXNoU2VxdWVudGlhbERlY29kZXJFAAAAAACw.MwAAXgEAAF8BAABgAQAAYQEAAJg6AAC8MwAAMDAAAE41ZHJhY28xNUxpbmVhclNlcXVlbmNlckUAAAAAAAAAMDQAABEBAABiAQAAYwEAABQBAAAjAAAAZAEA.ABYBAAAXAQAAGAEAQZDoAAvhA0ZhaWxlZCB0byBwYXJzZSBEcmFjbyBoZWFkZXIuAAAAcDoAADg0AABONWRyYWNvMTdQb2ludENsb3VkRGVjb2RlckUAAAAA.AIA0AAARAQAAZQEAAGMBAAAUAQAAZgEAAGcBAAAWAQAAFwEAABgBAACYOgAAjDQAADA0AABONWRyYWNvMjNQb2ludENsb3VkS2RUcmVlRGVjb2RlckUAAAAA.AAAA3DQAABEBAABoAQAAYwEAABQBAABpAQAAagEAABYBAAAXAQAAGAEAAJg6AADoNAAAMDQAAE41ZHJhY28yN1BvaW50Q2xvdWRTZXF1ZW50aWFsRGVjb2Rl.ckUAAAABAQICBAQICAQIAQAAAAAAAAAAwAAAAMAAAADAAAAAwP//////////AAAAAFA1AABrAQAAbAEAAG0BAABuAQAAmDoAAFw1AACMNQAATjVkcmFjbzRN.ZXNoRQAAAP////8AAAAAAAAAAIw1AABvAQAAcAEAAHEBAAByAQAAcDoAAJQ1AABONWRyYWNvMTBQb2ludENsb3VkRQAAAAAQPAAAGQALABkZGQAAAAAFAAAA.AAAACQAAAAALAAAAAAAAAAAZAAoKGRkZAwoHAAEACQsYAAAJBgsAAAsABhkAAAAZGRkAQYHsAAshDgAAAAAAAAAAGQALDRkZGQANAAACAAkOAAAACQAOAAAO.AEG77AALAQwAQcfsAAsVEwAAAAATAAAAAAkMAAAAAAAMAAAMAEH17AALARAAQYHtAAsVDwAAAAQPAAAAAAkQAAAAAAAQAAAQAEGv7QALARIAQbvtAAseEQAA.AAARAAAAAAkSAAAAAAASAAASAAAaAAAAGhoaAEHy7QALDhoAAAAaGhoAAAAAAAAJAEGj7gALARQAQa/uAAsVFwAAAAAXAAAAAAkUAAAAAAAUAAAUAEHd7gAL.ARYAQenuAAufCRUAAAAAFQAAAAAJFgAAAAAAFgAAFgAAMDEyMzQ1Njc4OUFCQ0RFRgAAAAACAAAAAwAAAAUAAAAHAAAACwAAAA0AAAARAAAAEwAAABcAAAAd.AAAAHwAAACUAAAApAAAAKwAAAC8AAAA1AAAAOwAAAD0AAABDAAAARwAAAEkAAABPAAAAUwAAAFkAAABhAAAAZQAAAGcAAABrAAAAbQAAAHEAAAB/AAAAgwAA.AIkAAACLAAAAlQAAAJcAAACdAAAAowAAAKcAAACtAAAAswAAALUAAAC/AAAAwQAAAMUAAADHAAAA0wAAAAEAAAALAAAADQAAABEAAAATAAAAFwAAAB0AAAAf.AAAAJQAAACkAAAArAAAALwAAADUAAAA7AAAAPQAAAEMAAABHAAAASQAAAE8AAABTAAAAWQAAAGEAAABlAAAAZwAAAGsAAABtAAAAcQAAAHkAAAB/AAAAgwAA.AIkAAACLAAAAjwAAAJUAAACXAAAAnQAAAKMAAACnAAAAqQAAAK0AAACzAAAAtQAAALsAAAC/AAAAwQAAAMUAAADHAAAA0QAAAAAAAAAKAAAAZAAAAOgDAAAQ.JwAAoIYBAEBCDwCAlpgAAOH1BQDKmjsAAAAAAAAAADAwMDEwMjAzMDQwNTA2MDcwODA5MTAxMTEyMTMxNDE1MTYxNzE4MTkyMDIxMjIyMzI0MjUyNjI3Mjgy.OTMwMzEzMjMzMzQzNTM2MzczODM5NDA0MTQyNDM0NDQ1NDY0NzQ4NDk1MDUxNTI1MzU0NTU1NjU3NTg1OTYwNjE2MjYzNjQ2NTY2Njc2ODY5NzA3MTcyNzM3.NDc1NzY3Nzc4Nzk4MDgxODI4Mzg0ODU4Njg3ODg4OTkwOTE5MjkzOTQ5NTk2OTc5ODk5mDoAABQ6AAD0OwAATjEwX19jeHhhYml2MTE2X19zaGltX3R5cGVf.aW5mb0UAAAAAmDoAAEQ6AAAIOgAATjEwX19jeHhhYml2MTE3X19jbGFzc190eXBlX2luZm9FAAAAAAAAADg6AAB4AQAAeQEAAHoBAAB7AQAAfAEAAH0BAAB+.AQAAfwEAAAAAAAC4OgAAeAEAAIABAAB6AQAAewEAAHwBAACBAQAAggEAAIMBAACYOgAAxDoAADg6AABOMTBfX2N4eGFiaXYxMjBfX3NpX2NsYXNzX3R5cGVf.aW5mb0UAAAAAAAAAADQ7AAAOAAAAhAEAAIUBAABwOgAACDsAAFN0OWV4Y2VwdGlvbgAAAACYOgAAJDsAAAA7AABTdDliYWRfYWxsb2MAAAAAmDoAAEA7AAAY.OwAAU3QyMGJhZF9hcnJheV9uZXdfbGVuZ3RoAAAAAAAAAABwOwAAAQAAAIYBAACHAQAAmDoAAHw7AAAAOwAAU3QxMWxvZ2ljX2Vycm9yAAAAAACgOwAAAQAA.AIgBAACHAQAAmDoAAKw7AABwOwAAU3QxMmxlbmd0aF9lcnJvcgAAAAAAAAAA1DsAAAEAAACJAQAAhwEAAJg6AADgOwAAcDsAAFN0MTJvdXRfb2ZfcmFuZ2UA.AAAAcDoAAPw7AABTdDl0eXBlX2luZm8AQZD4AAsBBQBBnPgACwJzAQBBtPgACwp0AQAAdQEAAIw9AEHM+AALAQIAQdz4AAsI//////////8AQaD5AAsBBQBB.rPkACwJ2AQBBxPkACw50AQAAdwEAAJg9AAAABABB3PkACwEBAEHs+QALBf////8KAEGw+gALB7hBAADQQwE=`.split(`.`).join(``),vh=null})),bh=0,xh=1,Sh=2,Ch=2,wh=4,Th=6,Eh=9,Dh=0,Oh=1,kh=`DRACO`,Ah=1,jh=67108864,Mh=null;function Nh(){return Mh||(Mh=Promise.resolve().then(()=>(yh(),ph)).then(e=>e.default())),Mh}function Ph(e,t,n,r){let i=Math.max(1,r.num_components()),a=n.num_points()*i,o;switch(r.data_type()){case Eh:if(o=new e.DracoFloat32Array,!t.GetAttributeFloatForAllPoints(n,r,o))return null;break;case Ch:if(o=new e.DracoUInt8Array,!t.GetAttributeUInt8ForAllPoints(n,r,o))return null;break;case wh:if(o=new e.DracoUInt16Array,!t.GetAttributeUInt16ForAllPoints(n,r,o))return null;break;case Th:if(o=new e.DracoUInt32Array,!t.GetAttributeUInt32ForAllPoints(n,r,o))return null;break;default:return null}let s=o.size(),c=r.data_type()===Eh,l;l=c?new Float32Array(a):r.data_type()===wh?new Uint16Array(a):r.data_type()===Th?new Uint32Array(a):new Uint8Array(a);for(let e=0;e<s&&e<a;e++)l[e]=o.GetValue(e);return e.destroy(o),l}var Fh=[[190,190,190],[166,166,166],[139,119,101],[35,190,35],[60,179,60],[30,160,30],[255,170,60],[255,110,190],[190,190,190],[60,120,255],[255,235,80],[255,200,120],[200,120,255],[255,120,255],[255,235,60],[255,200,40],[120,200,255],[200,160,255],[255,60,60]];async function Ih(e,t){let n=await Nh(),r=e.u32(),i=e.offset;e.u32();let a=e.i32(),o=e.i32(),s=e.i32();e.i32();let c=e.u32();if(c>16)throw Error(`[s3m] Draco 自定义属性个数异常:texCoordCount=${c}`);let l=[];for(let t=0;t<c;t++)l.push(e.i32());e.u32();let u=e.u32();if(u<16||u>e.remaining)throw Error(`[s3m] Draco 流长度异常:dracoSize=${u},剩余 ${e.remaining} 字节`);let d=e.bytes(u);if(String.fromCharCode(...d.subarray(0,5))!==kh)throw Error(`[s3m] Draco 流缺少 "DRACO" magic,容器头解析错位`);e.align4();let f=e.string();e.align4();let p=new Map;try{let e=JSON.parse(f);for(let[t,n]of Object.entries(e)){let e=l[n];e!==void 0&&p.set(e,t)}}catch{}if(t.customVertexAttribute=f?Bh(f):void 0,r>0){let t=e.offset-i;t!==r&&console.warn(`[s3m] Draco 载荷长度不符:声明 ${r},实读 ${t}`)}let m=new n.Decoder,h=new n.PointCloud;try{let e=m.GetEncodedGeometryType(d);if(e!==Dh)throw Error(`[s3m] Draco ${e===Oh?`三角网格`:`未知`} 几何暂未实现(仅支持点云)`);let r=m.DecodeArrayToPointCloud(d,d.length,h);if(!r.ok())throw Error(`[s3m] Draco 解码失败:${r.error_msg()}`);let i=h.num_points();if(!Number.isInteger(i)||i<0||i>jh)throw Error(`[s3m] Draco 点数异常:${i}`);if(i===0)return t.verticesCount=0,[Lh()];let c=null;for(let e=0;e<h.num_attributes();e++){let r=m.GetAttribute(h,e),l=r.unique_id(),u=Math.max(1,r.num_components());if(l===a||r.attribute_type()===bh){if(r.data_type()!==Eh)throw Error(`[s3m] Draco 位置属性不是 float32(dt=${r.data_type()})`);let e=Ph(n,m,h,r);if(!e)throw Error(`[s3m] Draco 位置属性读取失败`);let a=new Float32Array(i*3);for(let t=0;t<i;t++)a[t*3]=e[t*u]??0,a[t*3+1]=e[t*u+1]??0,a[t*3+2]=e[t*u+2]??0;Rh(t,`position`,new Uint8Array(a.buffer),3,12,0,void 0,`f32`)}else if(l===s||r.attribute_type()===Sh){let e=Ph(n,m,h,r);if(e){let n=new Uint8Array(i*4),r=e instanceof Float32Array;for(let t=0;t<i;t++){let i=t*u;r?(n[t*4]=zh(e[i]??1),n[t*4+1]=zh(e[i+1]??1),n[t*4+2]=zh(e[i+2]??1)):(n[t*4]=e[i]??255,n[t*4+1]=e[i+1]??255,n[t*4+2]=e[i+2]??255),n[t*4+3]=u>=4&&!r?e[i+3]??255:255}Rh(t,`color`,n,4,4,0,void 0,`u8`)}}else if(l!==o&&r.attribute_type()!==xh&&p.get(l)===`PointCloudClassCode`&&u===1){let e=Ph(n,m,h,r);if(e&&!(e instanceof Float32Array)){c=new Uint8Array(i);for(let t=0;t<i;t++)c[t]=e[t]??0}}}if(t.attrLocation.position===void 0)throw Error(`[s3m] Draco 点云缺少 position 属性`);if(t.attrLocation.color===void 0&&c){let e=new Uint8Array(i*4);for(let t=0;t<i;t++){let n=Fh[c[t]]??Fh[0];e[t*4]=n[0],e[t*4+1]=n[1],e[t*4+2]=n[2],e[t*4+3]=255}Rh(t,`color`,e,4,4,0,void 0,`u8`)}return t.verticesCount=i,[Lh()]}finally{try{n.destroy(m),n.destroy(h)}catch{}}}function Lh(){return{indexCount:0,indexType:0,useIndex:0,primitiveType:Ah,indices:null,passNames:[]}}function Rh(e,t,n,r,i,a=0,o,s=`f32`){e.attrLocation[t]=e.vertexAttributes.length,e.vertexAttributes.push({semantic:t,data:n,components:r,stride:i,offsetInBytes:a,divisor:o,dtype:s})}function zh(e){return e<=0?0:e>=1?255:Math.round(e*255)}function Bh(e){try{return JSON.parse(e)}catch{return e}}var Vh=i({default:()=>Hh}),Hh,Uh=n((()=>{Hh=(function(){"use strict";var e=`B9h79tEBBBE8fV9gBB9gVUUUUUEU9gIUUUB9gEUEU9gIUUUEUIKQBEEEDDDILLLVE9wEEEVIEBEOWEUEC+Q/IEKR/LEdO9tw9t9vv95DBh9f9f939h79t9f9j9h229f9jT9vv7BB8a9tw79o9v9wT9f9kw9j9v9kw9WwvTw949C919m9mwvBEy9tw79o9v9wT9f9kw9j9v9kw69u9kw949C919m9mwvBDe9tw79o9v9wT9f9kw9j9v9kw69u9kw949Twg91w9u9jwBIl9tw79o9v9wT9f9kw9j9v9kws9p2Twv9P9jTBLk9tw79o9v9wT9f9kw9j9v9kws9p2Twv9R919hTBVl9tw79o9v9wT9f9kw9j9v9kws9p2Twvt949wBOL79iv9rBRQ+x8yQDBK/qMEZU8jJJJJBCJ/EB9rGV8kJJJJBC9+HODNADCEFAL0MBCUHOAIrBBC+gE9HMBAVAIALFGRAD9rADZ1JJJBHWCJ/ABAD9uC/wfBgGOCJDAOCJD6eHdAICEFHLCBHQDNINAQAE9PMEAdAEAQ9rAQAdFAE6eHKDNDNADtMBAKCSFGOC9wgHXAOCL4CIFCD4HMAWCJDFHpCBHSALHZINDNARAZ9rAM9PMBCBHLXIKAZAMFHLDNAXtMBCBHhCBHIINDNARAL9rCk9PMBCBHLXVKAWCJ/CBFAIFHODNDNDNDNDNAZAICO4FrBBAhCOg4CIgpLBEDIBKAO9CB83IBAOCWF9CB83IBXIKAOALrBLALrBBGoCO4GaAaCIsGae86BBAOCEFALCLFAaFGarBBAoCL4CIgGcAcCIsGce86BBAOCDFAaAcFGarBBAoCD4CIgGcAcCIsGce86BBAOCIFAaAcFGarBBAoCIgGoAoCIsGoe86BBAOCLFAaAoFGarBBALrBEGoCO4GcAcCIsGce86BBAOCVFAaAcFGarBBAoCL4CIgGcAcCIsGce86BBAOCOFAaAcFGarBBAoCD4CIgGcAcCIsGce86BBAOCRFAaAcFGarBBAoCIgGoAoCIsGoe86BBAOCWFAaAoFGarBBALrBDGoCO4GcAcCIsGce86BBAOCdFAaAcFGarBBAoCL4CIgGcAcCIsGce86BBAOCQFAaAcFGarBBAoCD4CIgGcAcCIsGce86BBAOCKFAaAcFGarBBAoCIgGoAoCIsGoe86BBAOCXFAaAoFGorBBALrBIGLCO4GaAaCIsGae86BBAOCMFAoAaFGorBBALCL4CIgGaAaCIsGae86BBAOCpFAoAaFGorBBALCD4CIgGaAaCIsGae86BBAOCSFAoAaFGOrBBALCIgGLALCIsGLe86BBAOALFHLXDKAOALrBWALrBBGoCL4GaAaCSsGae86BBAOCEFALCWFAaFGarBBAoCSgGoAoCSsGoe86BBAOCDFAaAoFGorBBALrBEGaCL4GcAcCSsGce86BBAOCIFAoAcFGorBBAaCSgGaAaCSsGae86BBAOCLFAoAaFGorBBALrBDGaCL4GcAcCSsGce86BBAOCVFAoAcFGorBBAaCSgGaAaCSsGae86BBAOCOFAoAaFGorBBALrBIGaCL4GcAcCSsGce86BBAOCRFAoAcFGorBBAaCSgGaAaCSsGae86BBAOCWFAoAaFGorBBALrBLGaCL4GcAcCSsGce86BBAOCdFAoAcFGorBBAaCSgGaAaCSsGae86BBAOCQFAoAaFGorBBALrBVGaCL4GcAcCSsGce86BBAOCKFAoAcFGorBBAaCSgGaAaCSsGae86BBAOCXFAoAaFGorBBALrBOGaCL4GcAcCSsGce86BBAOCMFAoAcFGorBBAaCSgGaAaCSsGae86BBAOCpFAoAaFGorBBALrBRGLCL4GaAaCSsGae86BBAOCSFAoAaFGOrBBALCSgGLALCSsGLe86BBAOALFHLXEKAOAL8pBB83BBAOCWFALCWF8pBB83BBALCZFHLKAhCDFHhAICZFGIAX6MBKKDNALMBCBHLXIKDNAKtMBAWASFrBBHhCBHOApHIINAIAWCJ/CBFAOFrBBGZCE4CBAZCEg9r7AhFGh86BBAIADFHIAOCEFGOAK9HMBKKApCEFHpALHZASCEFGSAD9HMBKKABAQAD2FAWCJDFAKAD2Z1JJJB8aAWAWCJDFAKCUFAD2FADZ1JJJB8aKAKCBALeAQFHQALMBKC9+HOXEKCBC99ARAL9rADCAADCA0eseHOKAVCJ/EBF8kJJJJBAOK+OoEZU8jJJJJBC/AE9rGV8kJJJJBC9+HODNAECI9uGRChFAL0MBCUHOAIrBBGWC/wEgC/gE9HMBAWCSgGdCE0MBAVC/ABFCfECJEZ+JJJJB8aAVCuF9CU83IBAVC8wF9CU83IBAVCYF9CU83IBAVCAF9CU83IBAVCkF9CU83IBAVCZF9CU83IBAV9CU83IWAV9CU83IBAIALFC9wFHQAICEFGWARFHKDNAEtMBCMCSAdCEseHXABHICBHdCBHMCBHpCBHLCBHOINDNAKAQ9NMBC9+HOXIKDNDNAWrBBGRC/vE0MBAVC/ABFARCL4CU7AOFCSgCITFGSYDLHZASYDBHhDNARCSgGSAX9PMBAVARCU7ALFCSgCDTFYDBAdASeHRAStHSDNDNADCD9HMBABAh87EBABCLFAR87EBABCDFAZ87EBXEKAIAhbDBAICWFARbDBAICLFAZbDBKAdASFHdAVC/ABFAOCITFGoARbDBAoAZbDLAVALCDTFARbDBAVC/ABFAOCEFCSgGOCITFGZAhbDBAZARbDLALASFHLAOCEFHOXDKDNDNASCSsMBAMASFASC987FCEFHMXEKAK8sBBGSCfEgHRDNDNASCU9MMBAKCEFHKXEKAK8sBEGSCfBgCRTARCfBgvHRDNASCU9MMBAKCDFHKXEKAK8sBDGSCfBgCpTARvHRDNASCU9MMBAKCIFHKXEKAK8sBIGSCfBgCxTARvHRDNASCU9MMBAKCLFHKXEKAKrBLC3TARvHRAKCVFHKKARCE4CBARCEg9r7AMFHMKDNDNADCD9HMBABAh87EBABCLFAM87EBABCDFAZ87EBXEKAIAhbDBAICWFAMbDBAICLFAZbDBKAVC/ABFAOCITFGRAMbDBARAZbDLAVALCDTFAMbDBAVC/ABFAOCEFCSgGOCITFGRAhbDBARAMbDLALCEFHLAOCEFHOXEKDNARCPE0MBAVALAQARCSgFrBBGSCL4GZ9rCSgCDTFYDBAdCEFGhAZeHRAVALAS9rCSgCDTFYDBAhAZtGoFGhASCSgGZeHSAZtHZDNDNADCD9HMBABAd87EBABCLFAS87EBABCDFAR87EBXEKAIAdbDBAICWFASbDBAICLFARbDBKAVALCDTFAdbDBAVC/ABFAOCITFGaARbDBAaAdbDLAVALCEFGLCSgCDTFARbDBAVC/ABFAOCEFCSgCITFGaASbDBAaARbDLAVALAoFCSgGLCDTFASbDBAVC/ABFAOCDFCSgGOCITFGRAdbDBARASbDLAOCEFHOALAZFHLAhAZFHdXEKAdCBAKrBBGaeGZARC/+EsGcFHRAaCSgHhDNDNAaCL4GoMBARCEFHSXEKARHSAVALAo9rCSgCDTFYDBHRKDNDNAhMBASCEFHdXEKASHdAVALAa9rCSgCDTFYDBHSKDNDNActMBAKCEFHaXEKAK8sBEGaCfEgHZDNDNAaCU9MMBAKCDFHaXEKAK8sBDGaCfBgCRTAZCfBgvHZDNAaCU9MMBAKCIFHaXEKAK8sBIGaCfBgCpTAZvHZDNAaCU9MMBAKCLFHaXEKAK8sBLGaCfBgCxTAZvHZDNAaCU9MMBAKCVFHaXEKAKCOFHaAKrBVC3TAZvHZKAZCE4CBAZCEg9r7AMFGMHZKDNDNAoCSsMBAaHcXEKAa8sBBGKCfEgHRDNDNAKCU9MMBAaCEFHcXEKAa8sBEGKCfBgCRTARCfBgvHRDNAKCU9MMBAaCDFHcXEKAa8sBDGKCfBgCpTARvHRDNAKCU9MMBAaCIFHcXEKAa8sBIGKCfBgCxTARvHRDNAKCU9MMBAaCLFHcXEKAaCVFHcAarBLC3TARvHRKARCE4CBARCEg9r7AMFGMHRKDNDNAhCSsMBAcHKXEKAc8sBBGKCfEgHSDNDNAKCU9MMBAcCEFHKXEKAc8sBEGKCfBgCRTASCfBgvHSDNAKCU9MMBAcCDFHKXEKAc8sBDGKCfBgCpTASvHSDNAKCU9MMBAcCIFHKXEKAc8sBIGKCfBgCxTASvHSDNAKCU9MMBAcCLFHKXEKAcCVFHKAcrBLC3TASvHSKASCE4CBASCEg9r7AMFGMHSKDNDNADCD9HMBABAZ87EBABCLFAS87EBABCDFAR87EBXEKAIAZbDBAICWFASbDBAICLFARbDBKAVC/ABFAOCITFGaARbDBAaAZbDLAVALCDTFAZbDBAVC/ABFAOCEFCSgCITFGaASbDBAaARbDLAVALCEFGLCSgCDTFARbDBAVC/ABFAOCDFCSgCITFGRAZbDBARASbDLAVALAotAoCSsvFGLCSgCDTFASbDBALAhtAhCSsvFHLAOCIFHOKAWCEFHWABCOFHBAICXFHIAOCSgHOALCSgHLApCIFGpAE6MBKKCBC99AKAQseHOKAVC/AEF8kJJJJBAOK/tLEDU8jJJJJBCZ9rHVC9+HODNAECVFAL0MBCUHOAIrBBC/+EgC/QE9HMBAV9CB83IWAICEFHOAIALFC98FHIDNAEtMBDNADCDsMBINDNAOAI6MBC9+SKAO8sBBGDCfEgHLDNDNADCU9MMBAOCEFHOXEKAO8sBEGDCfBgCRTALCfBgvHLDNADCU9MMBAOCDFHOXEKAO8sBDGDCfBgCpTALvHLDNADCU9MMBAOCIFHOXEKAO8sBIGDCfBgCxTALvHLDNADCU9MMBAOCLFHOXEKAOrBLC3TALvHLAOCVFHOKAVCWFALCEgCDTvGDALCD4CBALCE4CEg9r7ADYDBFGLbDBABALbDBABCLFHBAECUFGEMBXDKKINDNAOAI6MBC9+SKAO8sBBGDCfEgHLDNDNADCU9MMBAOCEFHOXEKAO8sBEGDCfBgCRTALCfBgvHLDNADCU9MMBAOCDFHOXEKAO8sBDGDCfBgCpTALvHLDNADCU9MMBAOCIFHOXEKAO8sBIGDCfBgCxTALvHLDNADCU9MMBAOCLFHOXEKAOrBLC3TALvHLAOCVFHOKABALCD4CBALCE4CEg9r7AVCWFALCEgCDTvGLYDBFGD87EBALADbDBABCDFHBAECUFGEMBKKCBC99AOAIseHOKAOK+lVOEUE99DUD99EUD99DNDNADCL9HMBAEtMEINDNDNjBBBzjBBB+/ABCDFGD8sBB+yAB8sBBGI+yGL+L+TABCEFGV8sBBGO+yGR+L+TGWjBBBB9gGdeAWjBB/+9CAWAWnjBBBBAWAdeGQAQ+MGKAICU9KeALmGLALnAQAKAOCU9KeARmGQAQnmm+R+VGRnmGW+LjBBB9P9dtMBAW+oHIXEKCJJJJ94HIKADAI86BBDNDNjBBBzjBBB+/AQjBBBB9geAQARnmGW+LjBBB9P9dtMBAW+oHDXEKCJJJJ94HDKAVAD86BBDNDNjBBBzjBBB+/ALjBBBB9geALARnmGW+LjBBB9P9dtMBAW+oHDXEKCJJJJ94HDKABAD86BBABCLFHBAECUFGEMBXDKKAEtMBINDNDNjBBBzjBBB+/ABCLFGD8uEB+yAB8uEBGI+yGL+L+TABCDFGV8uEBGO+yGR+L+TGWjBBBB9gGdeAWjB/+fsAWAWnjBBBBAWAdeGQAQ+MGKAICU9KeALmGLALnAQAKAOCU9KeARmGQAQnmm+R+VGRnmGW+LjBBB9P9dtMBAW+oHIXEKCJJJJ94HIKADAI87EBDNDNjBBBzjBBB+/AQjBBBB9geAQARnmGW+LjBBB9P9dtMBAW+oHDXEKCJJJJ94HDKAVAD87EBDNDNjBBBzjBBB+/ALjBBBB9geALARnmGW+LjBBB9P9dtMBAW+oHDXEKCJJJJ94HDKABAD87EBABCWFHBAECUFGEMBKKK/SILIUI99IUE99DNAEtMBCBHIABHLINDNDNj/zL81zALCOF8uEBGVCIv+y+VGOAL8uEB+ynGRjB/+fsnjBBBzjBBB+/ARjBBBB9gemGW+LjBBB9P9dtMBAW+oHdXEKCJJJJ94HdKALCLF8uEBHQALCDF8uEBHKABAVCEFCIgAIvCETFAd87EBDNDNAOAK+ynGWjB/+fsnjBBBzjBBB+/AWjBBBB9gemGX+LjBBB9P9dtMBAX+oHKXEKCJJJJ94HKKABAVCDFCIgAIvCETFAK87EBDNDNAOAQ+ynGOjB/+fsnjBBBzjBBB+/AOjBBBB9gemGX+LjBBB9P9dtMBAX+oHQXEKCJJJJ94HQKABAVCUFCIgAIvCETFAQ87EBDNDNjBBJzARARn+TAWAWn+TAOAOn+TGRjBBBBARjBBBB9ge+RjB/+fsnjBBBzmGR+LjBBB9P9dtMBAR+oHQXEKCJJJJ94HQKABAVCIgAIvCETFAQ87EBALCWFHLAICLFHIAECUFGEMBKKK6BDNADCD4AE2GEtMBINABABYDBGDCWTCW91+yADCk91ClTCJJJ/8IF++nuDBABCLFHBAECUFGEMBKKK9TEIUCBCBYDJ1JJBGEABCIFC98gFGBbDJ1JJBDNDNABzBCZTGD9NMBCUHIABAD9rCffIFCZ4NBCUsMEKAEHIKAIK/lEEEUDNDNAEABvCIgtMBABHIXEKDNDNADCZ9PMBABHIXEKABHIINAIAEYDBbDBAICLFAECLFYDBbDBAICWFAECWFYDBbDBAICXFAECXFYDBbDBAICZFHIAECZFHEADC9wFGDCS0MBKKADCL6MBINAIAEYDBbDBAECLFHEAICLFHIADC98FGDCI0MBKKDNADtMBINAIAErBB86BBAICEFHIAECEFHEADCUFGDMBKKABK/AEEDUDNDNABCIgtMBABHIXEKAECfEgC+B+C+EW2HLDNDNADCZ9PMBABHIXEKABHIINAIALbDBAICXFALbDBAICWFALbDBAICLFALbDBAICZFHIADC9wFGDCS0MBKKADCL6MBINAIALbDBAICLFHIADC98FGDCI0MBKKDNADtMBINAIAE86BBAICEFHIADCUFGDMBKKABKKKEBCJWKLZ9kBB`,t=`B9h79tEBBBE5V9gBB9gVUUUUUEU9gIUUUB9gDUUB9gEUEUIMXBBEBEEDIDIDLLVE9wEEEVIEBEOWEUEC+Q/aEKR/LEdO9tw9t9vv95DBh9f9f939h79t9f9j9h229f9jT9vv7BB8a9tw79o9v9wT9f9kw9j9v9kw9WwvTw949C919m9mwvBDy9tw79o9v9wT9f9kw9j9v9kw69u9kw949C919m9mwvBLe9tw79o9v9wT9f9kw9j9v9kw69u9kw949Twg91w9u9jwBVl9tw79o9v9wT9f9kw9j9v9kws9p2Twv9P9jTBOk9tw79o9v9wT9f9kw9j9v9kws9p2Twv9R919hTBWl9tw79o9v9wT9f9kw9j9v9kws9p2Twvt949wBQL79iv9rBKQ/j6XLBZIK9+EVU8jJJJJBCZ9rHBCBHEINCBHDCBHIINABCWFADFAICJUAEAD4CEgGLe86BBAIALFHIADCEFGDCW9HMBKAEC+Q+YJJBFAI86BBAECITC+Q1JJBFAB8pIW83IBAECEFGECJD9HMBKK1HLSUD97EUO978jJJJJBCJ/KB9rGV8kJJJJBC9+HODNADCEFAL0MBCUHOAIrBBC+gE9HMBAVAIALFGRAD9rAD/8QBBCJ/ABAD9uC/wfBgGOCJDAOCJD6eHWAICEFHOCBHdDNINAdAE9PMEAWAEAd9rAdAWFAE6eHQDNDNADtMBAQCSFGLC9wgGKCI2HXAKCETHMALCL4CIFCD4HpCBHSINAOHZCBHhDNINDNARAZ9rAp9PMBCBHOXVKAVCJ/CBFAhAK2FHoAZApFHOCBHIDNAKC/AB6MBARAO9rC/gB6MBCBHLINAoALFHIDNDNDNDNDNAZALCO4FrBBGaCIgpLBEDIBKAICBPhPKLBXIKAIAOPBBLAOPBBBGcCLP+MEAcPMBZEhDoIaLcVxOqRlGcCDP+MEAcPMBZEhDoIaLcVxOqRlC+D+G+MkPhP9OGxCIPSP8jGcP5B9CJf/8/4/w/g/AB9+9Cu1+nGqCITC+Q1JJBFPBIBAqC+Q+YJJBFPBBBGlAlPMBBBBBBBBBBBBBBBBAcP5E9CJf/8/4/w/g/AB9+9Cu1+nGqCITC+Q1JJBFPBIBP9uPMBEDILVORZhoacxqlPpAxAcP9SPKLBAOCLFAlPqBFAqC+Q+YJJBFrBBFHOXDKAIAOPBBWAOPBBBGcCLP+MEAcPMBZEhDoIaLcVxOqRlC+P+e+8/4BPhP9OGxCSPSP8jGcP5B9CJf/8/4/w/g/AB9+9Cu1+nGqCITC+Q1JJBFPBIBAqC+Q+YJJBFPBBBGlAlPMBBBBBBBBBBBBBBBBAcP5E9CJf/8/4/w/g/AB9+9Cu1+nGqCITC+Q1JJBFPBIBP9uPMBEDILVORZhoacxqlPpAxAcP9SPKLBAOCWFAlPqBFAqC+Q+YJJBFrBBFHOXEKAIAOPBBBPKLBAOCZFHOKDNDNDNDNDNAaCD4CIgpLBEDIBKAICBPhPKLZXIKAIAOPBBLAOPBBBGcCLP+MEAcPMBZEhDoIaLcVxOqRlGcCDP+MEAcPMBZEhDoIaLcVxOqRlC+D+G+MkPhP9OGxCIPSP8jGcP5B9CJf/8/4/w/g/AB9+9Cu1+nGqCITC+Q1JJBFPBIBAqC+Q+YJJBFPBBBGlAlPMBBBBBBBBBBBBBBBBAcP5E9CJf/8/4/w/g/AB9+9Cu1+nGqCITC+Q1JJBFPBIBP9uPMBEDILVORZhoacxqlPpAxAcP9SPKLZAOCLFAlPqBFAqC+Q+YJJBFrBBFHOXDKAIAOPBBWAOPBBBGcCLP+MEAcPMBZEhDoIaLcVxOqRlC+P+e+8/4BPhP9OGxCSPSP8jGcP5B9CJf/8/4/w/g/AB9+9Cu1+nGqCITC+Q1JJBFPBIBAqC+Q+YJJBFPBBBGlAlPMBBBBBBBBBBBBBBBBAcP5E9CJf/8/4/w/g/AB9+9Cu1+nGqCITC+Q1JJBFPBIBP9uPMBEDILVORZhoacxqlPpAxAcP9SPKLZAOCWFAlPqBFAqC+Q+YJJBFrBBFHOXEKAIAOPBBBPKLZAOCZFHOKDNDNDNDNDNAaCL4CIgpLBEDIBKAICBPhPKLAXIKAIAOPBBLAOPBBBGcCLP+MEAcPMBZEhDoIaLcVxOqRlGcCDP+MEAcPMBZEhDoIaLcVxOqRlC+D+G+MkPhP9OGxCIPSP8jGcP5B9CJf/8/4/w/g/AB9+9Cu1+nGqCITC+Q1JJBFPBIBAqC+Q+YJJBFPBBBGlAlPMBBBBBBBBBBBBBBBBAcP5E9CJf/8/4/w/g/AB9+9Cu1+nGqCITC+Q1JJBFPBIBP9uPMBEDILVORZhoacxqlPpAxAcP9SPKLAAOCLFAlPqBFAqC+Q+YJJBFrBBFHOXDKAIAOPBBWAOPBBBGcCLP+MEAcPMBZEhDoIaLcVxOqRlC+P+e+8/4BPhP9OGxCSPSP8jGcP5B9CJf/8/4/w/g/AB9+9Cu1+nGqCITC+Q1JJBFPBIBAqC+Q+YJJBFPBBBGlAlPMBBBBBBBBBBBBBBBBAcP5E9CJf/8/4/w/g/AB9+9Cu1+nGqCITC+Q1JJBFPBIBP9uPMBEDILVORZhoacxqlPpAxAcP9SPKLAAOCWFAlPqBFAqC+Q+YJJBFrBBFHOXEKAIAOPBBBPKLAAOCZFHOKDNDNDNDNDNAaCO4pLBEDIBKAICBPhPKL8wXIKAIAOPBBLAOPBBBGcCLP+MEAcPMBZEhDoIaLcVxOqRlGcCDP+MEAcPMBZEhDoIaLcVxOqRlC+D+G+MkPhP9OGxCIPSP8jGcP5B9CJf/8/4/w/g/AB9+9Cu1+nGaCITC+Q1JJBFPBIBAaC+Q+YJJBFPBBBGlAlPMBBBBBBBBBBBBBBBBAcP5E9CJf/8/4/w/g/AB9+9Cu1+nGaCITC+Q1JJBFPBIBP9uPMBEDILVORZhoacxqlPpAxAcP9SPKL8wAOCLFAlPqBFAaC+Q+YJJBFrBBFHOXDKAIAOPBBWAOPBBBGcCLP+MEAcPMBZEhDoIaLcVxOqRlC+P+e+8/4BPhP9OGxCSPSP8jGcP5B9CJf/8/4/w/g/AB9+9Cu1+nGaCITC+Q1JJBFPBIBAaC+Q+YJJBFPBBBGlAlPMBBBBBBBBBBBBBBBBAcP5E9CJf/8/4/w/g/AB9+9Cu1+nGaCITC+Q1JJBFPBIBP9uPMBEDILVORZhoacxqlPpAxAcP9SPKL8wAOCWFAlPqBFAaC+Q+YJJBFrBBFHOXEKAIAOPBBBPKL8wAOCZFHOKALC/ABFHIALCJEFAK0MEAIHLARAO9rC/fB0MBKKDNAIAK9PMBAICI4HLINDNARAO9rCk9PMBCBHOXRKAoAIFHaDNDNDNDNDNAZAICO4FrBBALCOg4CIgpLBEDIBKAaCBPhPKLBXIKAaAOPBBLAOPBBBGcCLP+MEAcPMBZEhDoIaLcVxOqRlGcCDP+MEAcPMBZEhDoIaLcVxOqRlC+D+G+MkPhP9OGxCIPSP8jGcP5B9CJf/8/4/w/g/AB9+9Cu1+nGqCITC+Q1JJBFPBIBAqC+Q+YJJBFPBBBGlAlPMBBBBBBBBBBBBBBBBAcP5E9CJf/8/4/w/g/AB9+9Cu1+nGqCITC+Q1JJBFPBIBP9uPMBEDILVORZhoacxqlPpAxAcP9SPKLBAOCLFAlPqBFAqC+Q+YJJBFrBBFHOXDKAaAOPBBWAOPBBBGcCLP+MEAcPMBZEhDoIaLcVxOqRlC+P+e+8/4BPhP9OGxCSPSP8jGcP5B9CJf/8/4/w/g/AB9+9Cu1+nGqCITC+Q1JJBFPBIBAqC+Q+YJJBFPBBBGlAlPMBBBBBBBBBBBBBBBBAcP5E9CJf/8/4/w/g/AB9+9Cu1+nGqCITC+Q1JJBFPBIBP9uPMBEDILVORZhoacxqlPpAxAcP9SPKLBAOCWFAlPqBFAqC+Q+YJJBFrBBFHOXEKAaAOPBBBPKLBAOCZFHOKALCDFHLAICZFGIAK6MBKKDNAOtMBAOHZAhCEFGhCLsMDXEKKCBHOXIKDNAKtMBAVCJDFASFHIAVASFPBDBHlCBHaINAIAVCJ/CBFAaFGLPBLBGxCEP9tAxCEPSGcP9OP9hP9RGxALAKFPBLBGkCEP9tAkAcP9OP9hP9RGkPMBZEhDoIaLcVxOqRlGyALAMFPBLBG8aCEP9tA8aAcP9OP9hP9RG8aALAXFPBLBGeCEP9tAeAcP9OP9hP9RGePMBZEhDoIaLcVxOqRlG3PMBEZhDIoaLVcxORqlGcAcPMBEDIBEDIBEDIBEDIAlP9uGlPeBbDBAIADFGLAlAcAcPMLVORLVORLVORLVORP9uGlPeBbDBALADFGLAlAcAcPMWdQKWdQKWdQKWdQKP9uGlPeBbDBALADFGLAlAcAcPMXMpSXMpSXMpSXMpSP9uGlPeBbDBALADFGLAlAyA3PMWdkyQK8aeXM35pS8e8fGcAcPMBEDIBEDIBEDIBEDIP9uGlPeBbDBALADFGLAlAcAcPMLVORLVORLVORLVORP9uGlPeBbDBALADFGLAlAcAcPMWdQKWdQKWdQKWdQKP9uGlPeBbDBALADFGLAlAcAcPMXMpSXMpSXMpSXMpSP9uGlPeBbDBALADFGLAlAxAkPMWkdyQ8aKeX3M5p8eS8fGxA8aAePMWkdyQ8aKeX3M5p8eS8fGkPMBEZhDIoaLVcxORqlGcAcPMBEDIBEDIBEDIBEDIP9uGlPeBbDBALADFGLAlAcAcPMLVORLVORLVORLVORP9uGlPeBbDBALADFGLAlAcAcPMWdQKWdQKWdQKWdQKP9uGlPeBbDBALADFGLAlAcAcPMXMpSXMpSXMpSXMpSP9uGlPeBbDBALADFGLAlAxAkPMWdkyQK8aeXM35pS8e8fGcAcPMBEDIBEDIBEDIBEDIP9uGlPeBbDBALADFGLAlAcAcPMLVORLVORLVORLVORP9uGlPeBbDBALADFGLAlAcAcPMWdQKWdQKWdQKWdQKP9uGlPeBbDBALADFGLAlAcAcPMXMpSXMpSXMpSXMpSP9uGlPeBbDBALADFHIAaCZFGaAK6MBKKASCLFGSAD6MBKKABAdAD2FAVCJDFAQAD2/8QBBAVAVCJDFAQCUFAD2FAD/8QBBKAQCBAOeAdFHdAOMBKC9+HOXEKCBC99ARAO9rADCAADCA0eseHOKAVCJ/KBF8kJJJJBAOKWBZ+BJJJBK+KoEZU8jJJJJBC/AE9rGV8kJJJJBC9+HODNAECI9uGRChFAL0MBCUHOAIrBBGWC/wEgC/gE9HMBAWCSgGdCE0MBAVC/ABFCfECJE/8KBAVCuF9CU83IBAVC8wF9CU83IBAVCYF9CU83IBAVCAF9CU83IBAVCkF9CU83IBAVCZF9CU83IBAV9CU83IWAV9CU83IBAIALFC9wFHQAICEFGWARFHKDNAEtMBCMCSAdCEseHXABHICBHdCBHMCBHpCBHLCBHOINDNAKAQ9NMBC9+HOXIKDNDNAWrBBGRC/vE0MBAVC/ABFARCL4CU7AOFCSgCITFGSYDLHZASYDBHhDNARCSgGSAX9PMBAVARCU7ALFCSgCDTFYDBAdASeHRAStHSDNDNADCD9HMBABAh87EBABCLFAR87EBABCDFAZ87EBXEKAIAhbDBAICWFARbDBAICLFAZbDBKAdASFHdAVC/ABFAOCITFGoARbDBAoAZbDLAVALCDTFARbDBAVC/ABFAOCEFCSgGOCITFGZAhbDBAZARbDLALASFHLAOCEFHOXDKDNDNASCSsMBAMASFASC987FCEFHMXEKAK8sBBGSCfEgHRDNDNASCU9MMBAKCEFHKXEKAK8sBEGSCfBgCRTARCfBgvHRDNASCU9MMBAKCDFHKXEKAK8sBDGSCfBgCpTARvHRDNASCU9MMBAKCIFHKXEKAK8sBIGSCfBgCxTARvHRDNASCU9MMBAKCLFHKXEKAKrBLC3TARvHRAKCVFHKKARCE4CBARCEg9r7AMFHMKDNDNADCD9HMBABAh87EBABCLFAM87EBABCDFAZ87EBXEKAIAhbDBAICWFAMbDBAICLFAZbDBKAVC/ABFAOCITFGRAMbDBARAZbDLAVALCDTFAMbDBAVC/ABFAOCEFCSgGOCITFGRAhbDBARAMbDLALCEFHLAOCEFHOXEKDNARCPE0MBAVALAQARCSgFrBBGSCL4GZ9rCSgCDTFYDBAdCEFGhAZeHRAVALAS9rCSgCDTFYDBAhAZtGoFGhASCSgGZeHSAZtHZDNDNADCD9HMBABAd87EBABCLFAS87EBABCDFAR87EBXEKAIAdbDBAICWFASbDBAICLFARbDBKAVALCDTFAdbDBAVC/ABFAOCITFGaARbDBAaAdbDLAVALCEFGLCSgCDTFARbDBAVC/ABFAOCEFCSgCITFGaASbDBAaARbDLAVALAoFCSgGLCDTFASbDBAVC/ABFAOCDFCSgGOCITFGRAdbDBARASbDLAOCEFHOALAZFHLAhAZFHdXEKAdCBAKrBBGaeGZARC/+EsGcFHRAaCSgHhDNDNAaCL4GoMBARCEFHSXEKARHSAVALAo9rCSgCDTFYDBHRKDNDNAhMBASCEFHdXEKASHdAVALAa9rCSgCDTFYDBHSKDNDNActMBAKCEFHaXEKAK8sBEGaCfEgHZDNDNAaCU9MMBAKCDFHaXEKAK8sBDGaCfBgCRTAZCfBgvHZDNAaCU9MMBAKCIFHaXEKAK8sBIGaCfBgCpTAZvHZDNAaCU9MMBAKCLFHaXEKAK8sBLGaCfBgCxTAZvHZDNAaCU9MMBAKCVFHaXEKAKCOFHaAKrBVC3TAZvHZKAZCE4CBAZCEg9r7AMFGMHZKDNDNAoCSsMBAaHcXEKAa8sBBGKCfEgHRDNDNAKCU9MMBAaCEFHcXEKAa8sBEGKCfBgCRTARCfBgvHRDNAKCU9MMBAaCDFHcXEKAa8sBDGKCfBgCpTARvHRDNAKCU9MMBAaCIFHcXEKAa8sBIGKCfBgCxTARvHRDNAKCU9MMBAaCLFHcXEKAaCVFHcAarBLC3TARvHRKARCE4CBARCEg9r7AMFGMHRKDNDNAhCSsMBAcHKXEKAc8sBBGKCfEgHSDNDNAKCU9MMBAcCEFHKXEKAc8sBEGKCfBgCRTASCfBgvHSDNAKCU9MMBAcCDFHKXEKAc8sBDGKCfBgCpTASvHSDNAKCU9MMBAcCIFHKXEKAc8sBIGKCfBgCxTASvHSDNAKCU9MMBAcCLFHKXEKAcCVFHKAcrBLC3TASvHSKASCE4CBASCEg9r7AMFGMHSKDNDNADCD9HMBABAZ87EBABCLFAS87EBABCDFAR87EBXEKAIAZbDBAICWFASbDBAICLFARbDBKAVC/ABFAOCITFGaARbDBAaAZbDLAVALCDTFAZbDBAVC/ABFAOCEFCSgCITFGaASbDBAaARbDLAVALCEFGLCSgCDTFARbDBAVC/ABFAOCDFCSgCITFGRAZbDBARASbDLAVALAotAoCSsvFGLCSgCDTFASbDBALAhtAhCSsvFHLAOCIFHOKAWCEFHWABCOFHBAICXFHIAOCSgHOALCSgHLApCIFGpAE6MBKKCBC99AKAQseHOKAVC/AEF8kJJJJBAOK/tLEDU8jJJJJBCZ9rHVC9+HODNAECVFAL0MBCUHOAIrBBC/+EgC/QE9HMBAV9CB83IWAICEFHOAIALFC98FHIDNAEtMBDNADCDsMBINDNAOAI6MBC9+SKAO8sBBGDCfEgHLDNDNADCU9MMBAOCEFHOXEKAO8sBEGDCfBgCRTALCfBgvHLDNADCU9MMBAOCDFHOXEKAO8sBDGDCfBgCpTALvHLDNADCU9MMBAOCIFHOXEKAO8sBIGDCfBgCxTALvHLDNADCU9MMBAOCLFHOXEKAOrBLC3TALvHLAOCVFHOKAVCWFALCEgCDTvGDALCD4CBALCE4CEg9r7ADYDBFGLbDBABALbDBABCLFHBAECUFGEMBXDKKINDNAOAI6MBC9+SKAO8sBBGDCfEgHLDNDNADCU9MMBAOCEFHOXEKAO8sBEGDCfBgCRTALCfBgvHLDNADCU9MMBAOCDFHOXEKAO8sBDGDCfBgCpTALvHLDNADCU9MMBAOCIFHOXEKAO8sBIGDCfBgCxTALvHLDNADCU9MMBAOCLFHOXEKAOrBLC3TALvHLAOCVFHOKABALCD4CBALCE4CEg9r7AVCWFALCEgCDTvGLYDBFGD87EBALADbDBABCDFHBAECUFGEMBKKCBC99AOAIseHOKAOK/xVDIUO978jJJJJBCA9rGI8kJJJJBDNDNADCL9HMBDNAEC98gGLtMBABHDCBHVINADADPBBBGOCkP+rECkP+sEP/6EGRAOCWP+rECkP+sEP/6EARP/gEAOCZP+rECkP+sEP/6EGWP/gEP/kEP/lEGdCBPhP+2EGQARCJJJJ94PhGKP9OP9RP/kEGRjBB/+9CPaARARP/mEAdAdP/mEAWAQAWAKP9OP9RP/kEGRARP/mEP/kEP/kEP/jEP/nEGWP/mEjBBN0PaGQP/kECfEPhP9OAOCJJJ94PhP9OP9QARAWP/mEAQP/kECWP+rECJ/+IPhP9OP9QAdAWP/mEAQP/kECZP+rECJJ/8RPhP9OP9QPKBBADCZFHDAVCLFGVAL6MBKKALAE9PMEAIAECIgGVCDTGDvCBCZAD9r/8KBAIABALCDTFGLAD/8QBBDNAVtMBAIAIPBLBGOCkP+rECkP+sEP/6EGRAOCWP+rECkP+sEP/6EARP/gEAOCZP+rECkP+sEP/6EGWP/gEP/kEP/lEGdCBPhP+2EGQARCJJJJ94PhGKP9OP9RP/kEGRjBB/+9CPaARARP/mEAdAdP/mEAWAQAWAKP9OP9RP/kEGRARP/mEP/kEP/kEP/jEP/nEGWP/mEjBBN0PaGQP/kECfEPhP9OAOCJJJ94PhP9OP9QARAWP/mEAQP/kECWP+rECJ/+IPhP9OP9QAdAWP/mEAQP/kECZP+rECJJ/8RPhP9OP9QPKLBKALAIAD/8QBBXEKABAEC98gGDZ+HJJJBADAE9PMBAIAECIgGLCITGVFCBCAAV9r/8KBAIABADCITFGDAV/8QBBAIALZ+HJJJBADAIAV/8QBBKAICAF8kJJJJBK+yIDDUR97DNAEtMBCBHDINABCZFGIAIPBBBGLCBPhGVCJJ98P3ECJJ98P3IGOP9OABPBBBGRALPMLVORXMpScxql358e8fCffEPhP9OP/6EARALPMBEDIWdQKZhoaky8aeGLCZP+sEP/6EGWP/gEALCZP+rECZP+sEP/6EGdP/gEP/kEP/lEGLjB/+fsPaAdALAVP+2EGVAdCJJJJ94PhGQP9OP9RP/kEGdAdP/mEALALP/mEAWAVAWAQP9OP9RP/kEGLALP/mEP/kEP/kEP/jEP/nEGWP/mEjBBN0PaGVP/kECZP+rEAdAWP/mEAVP/kECffIPhP9OP9QGdALAWP/mEAVP/kECUPSCBPlDCBPlICBPlOCBPlRCBPlQCBPlKCBPlpCBPlSP9OGLPMWdkyQK8aeXM35pS8e8fP9QPKBBABARAOP9OAdALPMBEZhDIoaLVcxORqlP9QPKBBABCAFHBADCLFGDAE6MBKKK94EIU8jJJJJBCA9rGI8kJJJJBABAEC98gGLZ+JJJJBDNALAE9PMBAIAECIgGVCITGEFCBCAAE9r/8KBAIABALCITFGBAE/8QBBAIAVZ+JJJJBABAIAE/8QBBKAICAF8kJJJJBK/hILDUE97EUV978jJJJJBCZ9rHDDNAEtMBCBHIINADABPBBBGLABCZFGVPBBBGOPMLVORXMpScxql358e8fGRCZP+sEGWCLP+rEPKLBABjBBJzPaj/zL81zPaAWCIPhP9QP/6EP/nEGWALAOPMBEDIWdQKZhoaky8aeGLCZP+rECZP+sEP/6EP/mEGOAOP/mEAWALCZP+sEP/6EP/mEGdAdP/mEAWARCZP+rECZP+sEP/6EP/mEGRARP/mEP/kEP/kEP/lECBPhP+4EP/jEjB/+fsPaGWP/mEjBBN0PaGLP/kECffIPhGQP9OAdAWP/mEALP/kECZP+rEP9QGdARAWP/mEALP/kECZP+rEAOAWP/mEALP/kEAQP9OP9QGWPMBEZhDIoaLVcxORqlGLP5BADPBLBPeB+t+J83IBABCWFALP5EADPBLBPeE+t+J83IBAVAdAWPMWdkyQK8aeXM35pS8e8fGWP5BADPBLBPeD+t+J83IBABCkFAWP5EADPBLBPeI+t+J83IBABCAFHBAICLFGIAE6MBKKK/3EDIUE978jJJJJBC/AB9rHIDNADCD4AE2GLC98gGVtMBCBHDABHEINAEAEPBBBGOCWP+rECWP+sEP/6EAOCkP+sEClP+rECJJJ/8IPhP+uEP/mEPKBBAECZFHEADCLFGDAV6MBKKDNAVAL9PMBAIALCIgGDCDTGEvCBC/ABAE9r/8KBAIABAVCDTFGVAE/8QBBDNADtMBAIAIPBLBGOCWP+rECWP+sEP/6EAOCkP+sEClP+rECJJJ/8IPhP+uEP/mEPKLBKAVAIAE/8QBBKK9TEIUCBCBYDJ1JJBGEABCIFC98gFGBbDJ1JJBDNDNABzBCZTGD9NMBCUHIABAD9rCffIFCZ4NBCUsMEKAEHIKAIKKKEBCJWKLZ9tBB`,n=new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,3,2,0,0,5,3,1,0,1,12,1,0,10,22,2,12,0,65,0,65,0,65,0,252,10,0,0,11,7,0,65,0,253,15,26,11]),r=new Uint8Array([32,0,65,2,1,106,34,33,3,128,11,4,13,64,6,253,10,7,15,116,127,5,8,12,40,16,19,54,20,9,27,255,113,17,42,67,24,23,146,148,18,14,22,45,70,69,56,114,101,21,25,63,75,136,108,28,118,29,73,115]);if(typeof WebAssembly!=`object`)return{supported:!1};var i=e;WebAssembly.validate(n)&&(i=t);var a,o=WebAssembly.instantiate(s(i),{}).then(function(e){a=e.instance,a.exports.__wasm_call_ctors()});function s(e){for(var t=new Uint8Array(e.length),n=0;n<e.length;++n){var i=e.charCodeAt(n);t[n]=i>96?i-71:i>64?i-65:i>47?i+4:i>46?63:62}for(var a=0,n=0;n<e.length;++n)t[a++]=t[n]<60?r[t[n]]:(t[n]-60)*64+t[++n];return t.buffer.slice(0,a)}function c(e,t,n,r,i,o){var s=a.exports.sbrk,c=n+3&-4,l=s(c*r),u=s(i.length),d=new Uint8Array(a.exports.memory.buffer);d.set(i,u);var f=e(l,n,r,u,i.length);if(f==0&&o&&o(l,c,r),t.set(d.subarray(l,l+n*r)),s(l-s(0)),f!=0)throw Error(`Malformed buffer data: `+f)}var l={0:``,1:`meshopt_decodeFilterOct`,2:`meshopt_decodeFilterQuat`,3:`meshopt_decodeFilterExp`,NONE:``,OCTAHEDRAL:`meshopt_decodeFilterOct`,QUATERNION:`meshopt_decodeFilterQuat`,EXPONENTIAL:`meshopt_decodeFilterExp`},u={0:`meshopt_decodeVertexBuffer`,1:`meshopt_decodeIndexBuffer`,2:`meshopt_decodeIndexSequence`,ATTRIBUTES:`meshopt_decodeVertexBuffer`,TRIANGLES:`meshopt_decodeIndexBuffer`,INDICES:`meshopt_decodeIndexSequence`};return{ready:o,supported:!0,decodeVertexBuffer:function(e,t,n,r,i){c(a.exports.meshopt_decodeVertexBuffer,e,t,n,r,a.exports[l[i]])},decodeIndexBuffer:function(e,t,n,r){c(a.exports.meshopt_decodeIndexBuffer,e,t,n,r)},decodeIndexSequence:function(e,t,n,r){c(a.exports.meshopt_decodeIndexSequence,e,t,n,r)},decodeGltfBuffer:function(e,t,n,r,i,o){c(a.exports[u[i]],e,t,n,r,a.exports[l[o]])}}})()})),Q={POSITION:1,POSITION_W:2,NORMAL:4,TANGENT:8,TEXCOORD0:16,TEXCOORD1:32,COLOR:64,COLOR1:128,CUSTOM0:512,CUSTOM1:1024,GS_SCALE:131073,GS_ROTATION:131074},Wh=13,Gh=null;function Kh(){return Gh||(Gh=Promise.resolve().then(()=>(Uh(),Vh)).then(async e=>{let t=e.default;if(!t?.supported)throw Error(`[s3m] 当前环境不支持 WebAssembly,无法解码 MeshOpt 几何`);return await t.ready,t})),Gh}function qh(e){return e<0?-1:1}function Jh(e,t,n,r){let i=e,a=t,o=1-Math.abs(i)-Math.abs(a);if(o<0){let e=(1-Math.abs(a))*qh(i);a=(1-Math.abs(i))*qh(a),i=e}let s=Math.hypot(i,a,o)||1;n[r]=i/s,n[r+1]=a/s,n[r+2]=o/s}function Yh(e,t,n){return{semantic:e,data:new Uint8Array(t.buffer,t.byteOffset,t.byteLength),components:n,stride:n*4,offsetInBytes:0,dtype:`f32`}}function Xh(e,t,n){return{semantic:e,data:t,components:n,stride:n,offsetInBytes:0,dtype:`u8`}}function Zh(e,t,n){switch(e){case Q.NORMAL:case Q.TEXCOORD0:case Q.TEXCOORD1:return 4;case Q.COLOR:case Q.COLOR1:return 4;case Q.CUSTOM0:case Q.CUSTOM1:return 4*Math.max(1,n);case Q.GS_SCALE:case Q.GS_ROTATION:return t&64?4:4*Math.max(1,n);default:return 8}}function Qh(e,t,n,r){let i=t*n;if(!Number.isSafeInteger(i)||i>67108864)throw Error(`[s3m] MeshOpt 流尺寸异常:${t} 顶点 × ${n}B = ${i}B`);let a=new Uint8Array(i);return e.decodeVertexBuffer(a,t,n,r,r.length),a}var $h={[Q.POSITION]:`position`,[Q.POSITION_W]:`positionW`,[Q.NORMAL]:`normal`,[Q.TANGENT]:`tangent`,[Q.TEXCOORD0]:`uv`,[Q.TEXCOORD1]:`uv2`,[Q.COLOR]:`color`,[Q.COLOR1]:`color2`,[Q.CUSTOM0]:`custom0`,[Q.CUSTOM1]:`custom1`,[Q.GS_SCALE]:`gsScale`,[Q.GS_ROTATION]:`gsRotation`};function eg(e,t,n,r,i){let a=e.get(t);a||(a={dtype:n,components:r,chunks:[],length:0},e.set(t,a)),a.chunks.push(i),a.length+=i.length}function tg(e,t){for(let n of e){let e=n.indices;if(!e||n.indexCount<=0||e.byteLength<n.indexCount*4)continue;let r=new DataView(e.buffer,e.byteOffset,e.byteLength);for(let e=0;e<n.indexCount;e++)r.setUint32(e*4,r.getUint32(e*4,!0)+t,!0)}}async function ng(e,t){let n=await Kh(),r=e.u32();t.compressOptions=r;let i=e.u32();if(i>64)throw Error(`[s3m] MeshOpt 块数异常:blockCount=${i}`);let a={vertexCount:0,compressOptions:r,minVertices:[0,0,0],vertScale:1,texCoordScale:[[0,0],[0,0]],texCoordOffset:[[0,0],[0,0]],streams:[]},o=new Map,s=[],c=0,l=!1;for(let u=0;u<i;u++){let i=e.u32(),d=e.f32(),f=e.f64(),p=e.f64(),m=e.f64(),h=[],g=[];for(let t=0;t<4;t++){let n=e.f64(),r=e.f64();t%2==0?h.push([n,r]):g.push([n,r])}let _=e.i32();u===0&&(a.minVertices=[f,p,m],a.vertScale=d,a.texCoordScale=h,a.texCoordOffset=g);for(let t=0;t<_;t++){let t=e.i32(),s=0;(t===Q.CUSTOM0||t===Q.CUSTOM1||t===Q.GS_SCALE||t===Q.GS_ROTATION)&&(s=e.i32());let c=e.i32(),l=e.bytes(c);if(e.align4(),t===Q.TANGENT){a.streams.push({semantic:`tangent`,bytes:c,stride:0});continue}let u=Zh(t,r,s),_;try{_=Qh(n,i,u,l)}catch{if(t===Q.TEXCOORD0||t===Q.TEXCOORD1)_=Qh(n,i,8,l);else throw Error(`[s3m] MeshOpt 属性解码失败(semantic=0x${t.toString(16)})`)}let v=$h[t]??`semantic_0x${t.toString(16)}`;if(a.streams.push({semantic:v,bytes:c,stride:i>0?_.byteLength/i:0}),t===Q.POSITION){let e=new Uint16Array(_.buffer,_.byteOffset,i*4),t=new Float32Array(i*3);for(let n=0;n<i;n++)t[n*3]=f+e[n*4]*d,t[n*3+1]=p+e[n*4+1]*d,t[n*3+2]=m+e[n*4+2]*d;eg(o,`position`,`f32`,3,t)}else if(t===Q.NORMAL){let e=new Int16Array(_.buffer,_.byteOffset,i*2),t=new Float32Array(i*3);for(let n=0;n<i;n++)Jh(e[n*2]/32767,e[n*2+1]/32767,t,n*3);eg(o,`normal`,`f32`,3,t)}else if(t===Q.COLOR)eg(o,`color`,`u8`,4,_);else if(t===Q.COLOR1)eg(o,`color2`,`u8`,4,_);else if(t===Q.TEXCOORD0||t===Q.TEXCOORD1){let e=t===Q.TEXCOORD0?0:1,n=h[e]??[0,0],r=g[e]??[0,0],a=new Float32Array(i*2);if(_.byteLength===i*8){let e=new Float32Array(_.buffer,_.byteOffset,i*2);a.set(e)}else{let e=new Uint16Array(_.buffer,_.byteOffset,i*2);for(let t=0;t<i;t++)a[t*2]=r[0]+e[t*2]*n[0],a[t*2+1]=r[1]+e[t*2+1]*n[1]}eg(o,e===0?`uv`:`uv2`,`f32`,2,a)}else(t===Q.CUSTOM0||t===Q.CUSTOM1||t===Q.GS_SCALE||t===Q.GS_ROTATION)&&eg(o,$h[t],`u8`,u,_)}let v=e.string();if(e.align4(),v&&!l){l=!0;try{t.customVertexAttribute=JSON.parse(v)}catch{t.customVertexAttribute=v}}let y=await rg(e);c>0&&tg(y,c),s.push(...y),c+=i}i===0&&s.push(...await rg(e)),a.vertexCount=c,t.verticesCount=c,t.meshOptInfo=a;for(let[e,n]of o){let r=c*n.components;if(n.dtype===`f32`){let i=new Float32Array(r),a=0;for(let e of n.chunks)i.set(e,a),a+=e.length;t.vertexAttributes.push(Yh(e,i,n.components))}else{let i=new Uint8Array(r),a=0;for(let e of n.chunks)i.set(e,a),a+=e.length;t.vertexAttributes.push(Xh(e,i,n.components))}}for(let e=0;e<t.vertexAttributes.length;e++)t.attrLocation[`a${t.vertexAttributes[e].semantic}`]=e;return{info:a,indexPackages:s}}async function rg(e){let t=await Kh(),n=e.i32(),r=[];for(let i=0;i<n;i++){let n=e.i32();if(n<1)continue;let i=e.u8(),a=e.u8(),o=e.u8();e.skip(1);let s=e.i32(),c;if(o===Wh)c=e.bytes(s*4),e.align4();else{let r=e.bytes(s);e.align4(),c=new Uint8Array(n*4),t.decodeIndexBuffer(c,n,4,r)}let l=e.i32(),u=[];for(let t=0;t<l;t++)u.push(e.string());e.align4();let d=n>0?c.byteLength/n:0,f=d===2?0:d===4?3:i===1||i===3?i:0;r.push({indexCount:n,indexType:f,useIndex:a,primitiveType:o,indices:c,passNames:u})}return r}var ig=7156595;function ag(e){return e.byteLength<8?!1:new DataView(e,0,8).getUint32(0,!0)===ig}async function og(e){let t=globalThis.DecompressionStream;if(!t)throw Error(`[s3m] 当前环境无 DecompressionStream,请通过 options.inflate 注入解压实现`);let n=new Blob([e]).stream().pipeThrough(new t(`deflate`)),r=await new Response(n).arrayBuffer();return new Uint8Array(r)}var sg=e=>e%4==0?e:e+(4-e%4);function cg(e,t=0){let n=parseFloat(e??``);return Number.isFinite(n)?n:t}function lg(e,t){let n=RegExp(`<(?:[A-Za-z0-9_-]+:)?${t}[^>]*>([^<]*)<\\/(?:[A-Za-z0-9_-]+:)?${t}>`,`i`).exec(e);return n?n[1].trim():null}function ug(e,t){let n=RegExp(`<(?:[A-Za-z0-9_-]+:)?${t}[^>]*>([^<]*)<\\/(?:[A-Za-z0-9_-]+:)?${t}>`,`gi`);return[...e.matchAll(n)].map(e=>e[1].trim())}function dg(e){let t=(e??``).toUpperCase();return t.includes(`DISTANCE`)?0:t.includes(`GEOMETRIC`)||t===`2`?2:1}function fg(e){let t=[...e.matchAll(/<(?:[A-Za-z0-9_-]+:)?PagedLOD[^>]*>([\s\S]*?)<\/(?:[A-Za-z0-9_-]+:)?PagedLOD>/gi)],n=[];for(let e of t){let t=e[1],r=(lg(t,`GeoDeModMatrix`)??`1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1`).split(`,`).map(e=>parseFloat(e.trim())).filter(e=>Number.isFinite(e)),i=/<(?:[A-Za-z0-9_-]+:)?BoundingSphere[^>]*>([\s\S]*?)<\/(?:[A-Za-z0-9_-]+:)?BoundingSphere>/i.exec(t)?.[1]??``;n.push({geoNames:ug(t,`GeoName`),matrix:r.length===16?r:[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],childTile:lg(t,`RangeDataList`)??``,rangeMode:dg(lg(t,`RangeMode`)),rangeValue:cg(lg(t,`RangeList`)),center:{x:cg(lg(i,`x`)),y:cg(lg(i,`y`)),z:cg(lg(i,`z`))},radius:cg(lg(i,`radius`))})}return n}function pg(e){let t=[...e.matchAll(/<(?:[A-Za-z0-9_-]+:)?material[^>]*>([\s\S]*?)<\/(?:[A-Za-z0-9_-]+:)?material>/gi)],n=[];for(let e of t){let t=e[1];n.push({name:lg(t,`name`)??``,diffuse:(e=>{let n=RegExp(`<(?:[A-Za-z0-9_-]+:)?${e}[^>]*>([\\s\\S]*?)<\\/(?:[A-Za-z0-9_-]+:)?${e}>`,`i`).exec(t);if(!n)return{r:1,g:1,b:1,a:1};let r=n[1];return{r:cg(lg(r,`r`),1),g:cg(lg(r,`g`),1),b:cg(lg(r,`b`),1),a:cg(lg(r,`a`),1)}})(`Diffuse`),shininess:cg(lg(t,`Shininess`)),cullMode:lg(t,`CullMode`)??lg(t,`cullmode`)??`none`,transparentSorting:(lg(t,`TransparentSorting`)??`false`).toLowerCase()===`true`,textureName:void 0,addressMode:void 0});let r=/<(?:[A-Za-z0-9_-]+:)?texture[^>]*>([\s\S]*?)<\/(?:[A-Za-z0-9_-]+:)?texture>/i.exec(t);if(r){let e=r[1],t=n[n.length-1];t.textureName=lg(e,`name`)??void 0;let i=/<(?:[A-Za-z0-9_-]+:)?AddressMode[^>]*>([\s\S]*?)<\/(?:[A-Za-z0-9_-]+:)?AddressMode>/i.exec(e);i&&(t.addressMode={u:cg(lg(i[1],`u`)),v:cg(lg(i[1],`v`))})}}return n}function mg(e,t){let n=e.u32();if(n>4096)throw Error(`[s3m] S3M 1.x 网格数异常:${n}`);let r=[];for(let i=0;i<n;i++){let n=String(e.u32()),i=e.u32(),a=e.u32(),o=e.u32();if(e.u32(),!(o>0&&o<=8e6))throw Error(`[s3m] S3M 1.x 顶点数异常:网格 ${n} V=${o}(字段 7=${i} 772=${a})`);let s=new Float32Array(o*3);for(let t=0;t<o;t++){let n=e.f32(),r=e.f32(),i=e.f32();e.f32(),s[t*3]=n,s[t*3+1]=r,s[t*3+2]=i}e.u32(),e.u32(),e.u32();let c=e.u32(),l=e.u32();if(e.u32(),c!==1||l!==o)throw Error(`[s3m] S3M 1.x UV 头不符:网格 ${n} kind=${c} count=${l} 期望 1/${o}`);let u=new Float32Array(o*2);for(let t=0;t<o;t++)u[t*2]=e.f32(),u[t*2+1]=e.f32();let d=e.u32(),f=e.u32();if(e.u32(),d!==1||f===0||f%3!=0)throw Error(`[s3m] S3M 1.x 索引头不符:网格 ${n} kind=${d} count=${f}`);let p=new Uint16Array(f);for(let t=0;t<f;t++)p[t]=e.u16();if(e.offset>t)throw Error(`[s3m] S3M 1.x 索引越界:网格 ${n}`);e.align4();let m=e.u32(),h=String(e.u32());if(m!==1)throw Error(`[s3m] S3M 1.x 记录尾标记异常:网格 ${n} 期望 1 实得 ${m}`);r.push({geoName:n,vertexCount:o,position:s,uv:u,indexCount:f,indices:p,materialId:h})}return r}function hg(e,t){return!Number.isFinite(e)||e<=0?t:Math.abs(e-.5)<.02?17:Math.abs(e-1)<.02?21:Math.abs(e-4)<.02?14:Math.abs(e-3)<.02?10:(console.warn(`[s3m] S3M 1.x 纹理密度 ${e.toFixed(3)} B/px 不在已知档位,按原 format=${t} 交给上层判定`),t)}function gg(e,t){let n=e.u32(),r={};if(n>1024)throw Error(`[s3m] S3M 1.x 纹理数异常:${n}`);for(let i=0;i<n;i++){let n=String(e.u32()),i=e.u32(),a=e.u32(),o=e.u32(),s=e.u32();if(e.u32(),e.offset+s>t+4)throw Error(`[s3m] S3M 1.x 纹理越界:${n}`);r[n]={code:n,level:0,width:i,height:a,compressType:0,pixelFormat:hg(s/(i*a),o),flipY:!0,data:e.bytesCopy(s)}}return r}async function _g(e,t={}){let n=t.inflate??og,r=new dh(e);r.skip(4);let i=await n(new Uint8Array(e,r.base+r.offset,e.byteLength-r.base-r.offset)),a=i instanceof Uint8Array?i:new Uint8Array(i),o=new dh(a.buffer.slice(a.byteOffset,a.byteOffset+a.byteLength)),s=o.u32();if(s<=0||s>a.byteLength)throw Error(`[s3m] S3M 1.x XML 段长度异常:${s}`);let c=new TextDecoder(`utf-8`).decode(o.bytes(s));o.offset=sg(o.offset);let l=o.u32(),u=o.offset,d=mg(new dh(o.buffer,o.base+u,l),l);o.offset=u+l;let f=o.u32();o.skip(f);let p=o.u32(),m=gg(new dh(o.buffer,o.base+o.offset,p),p),h={};for(let e of d){let t=`SuperMapCache#${e.geoName}`,n={semantic:`position`,data:new Uint8Array(e.position.buffer,e.position.byteOffset,e.position.byteLength),components:3,stride:12,offsetInBytes:0,dtype:`f32`},r={semantic:`uv`,data:new Uint8Array(e.uv.buffer,e.uv.byteOffset,e.uv.byteLength),components:2,stride:8,offsetInBytes:0,dtype:`f32`};h[t]={name:t,vertexPackage:{verticesCount:e.vertexCount,vertexAttributes:[n,r],attrLocation:{aposition:0,auv:1},instanceCount:0,instanceMode:0,instanceIndex:-1},indexPackages:[{indexCount:e.indexCount,indexType:0,useIndex:1,primitiveType:4,indices:new Uint8Array(e.indices.buffer,e.indices.byteOffset,e.indices.byteLength),passNames:[e.materialId]}]}}let g=new Map(d.map(e=>[e.geoName,`SuperMapCache#${e.geoName}`])),_=fg(c),v=[];return _.forEach((e,t)=>{let n=e.geoNames.map(e=>g.get(e)).filter(e=>!!e),r=d[t]?[`SuperMapCache#${d[t].geoName}`]:[],i=n.length?[...new Set(n)]:r;i.length&&v.push({rangeValue:e.rangeValue,rangeMode:e.rangeMode,boundingSphere:{center:{...e.center},radius:e.radius},childTile:e.childTile,geodes:[{matrix:e.matrix,skeletonNames:i}]})}),{version:1,compressedType:1,options:0,groupNode:{pageLods:v},geoPackage:h,textures:m,materials:pg(c).map(e=>({material:{name:e.name,diffuse:e.diffuse,shininess:e.shininess,cullMode:e.cullMode,transparentsorting:e.transparentSorting,textureStates:e.textureName?[{textureunitstate:{name:e.textureName,...e.addressMode?{addressmode:e.addressMode}:{}}}]:[]}})),pickInfo:null,extensions:{s3m1:!0},bytesRead:o.offset+p,bytesTotal:a.byteLength}}uh();var vg={V1:1,V2:2,V3:3},yg={UNKNOWN:0,STANDARD:1,COMPRESSED:2,DRACO:3},bg={STANDARD:0,DRACO:1,MESHOPT:2},xg={VERTEX:1,NORMAL:2,VERTEX_COLOR:4,SECOND_COLOR:8,TEXCOORD:16,TEXCOORD_IS_W:32},Sg={0:4,1:4,2:8,3:2};async function Cg(e){if(typeof DecompressionStream>`u`)throw Error(`[s3m] 当前环境无 DecompressionStream,请通过 options.inflate 注入解压实现`);let t=new Blob([e]).stream().pipeThrough(new DecompressionStream(`deflate`));return new Uint8Array(await new Response(t).arrayBuffer())}function wg(e,t,n,r,i,a=0,o,s=`f32`){e.attrLocation[t]=e.vertexAttributes.length,e.vertexAttributes.push({semantic:t,data:n,components:r,stride:i||r*4,offsetInBytes:a,divisor:o,dtype:s})}function Tg(){return{vertexAttributes:[],attrLocation:{},instanceCount:0,instanceMode:0,instanceIndex:-1,verticesCount:0}}function Eg(e){let t=Array(16);for(let n=0;n<16;n++)t[n]=e.f64();let n=e.u32(),r=[];for(let t=0;t<n;t++)r.push(e.string());return{matrix:t,skeletonNames:r}}function Dg(e,t){let n={rangeValue:e.f32(),rangeMode:e.u16(),boundingSphere:{center:e.vec3f64(),radius:e.f64()},childTile:``,geodes:[]};t>=3&&(n.obb={center:e.vec3f64(),xExtent:e.vec3f64(),yExtent:e.vec3f64(),zExtent:e.vec3f64()});let r=e.string(),i=r.indexOf(`Geometry`);i!==-1&&(r=r.substring(0,i)),n.childTile=r;let a=e.u32();for(let t=0;t<a;t++)n.geodes.push(Eg(e));return t>=3&&e.string(),n}function Og(e,t){let n=e.u32(),r=[];for(let i=0;i<n;i++)r.push(Dg(e,t));return e.align4(),{pageLods:r}}function kg(e,t){return e.u32(),Og(e,t)}function Ag(e,t){let n=e.u32();if(t.verticesCount=n,n===0)return;let r=e.u16();e.u16(),wg(t,`position`,e.bytes(n*r*4),r,r*4)}function jg(e,t){let n=e.u32();if(n<=0)return;let r=e.u16(),i=e.u16();wg(t,`normal`,e.bytes(n*r*4),r,i||r*4)}function Mg(e,t){let n=e.u32(),r;n>0?(e.u16(),e.skip(2),r=e.bytes(n*4)):r=new Uint8Array((t.verticesCount||0)*4).fill(255),wg(t,`color`,r,4,4,0,void 0,`u8`)}function Ng(e,t){let n=e.u32();n<=0||(e.u16(),e.skip(2),wg(t,`secondColor`,e.bytes(n*4),4,4,0,void 0,`u8`))}function Pg(e,t){let n=e.u16();e.skip(2);for(let r=0;r<n;r++){let n=e.u32(),i=e.u16(),a=e.u16();wg(t,r===0?`uv`:`uv${r+1}`,e.bytes(n*i*4),i,a||i*4)}}function Fg(e,t,n){let r=e.u16();e.skip(2);for(let i=0;i<r;i++){let r=e.u32(),i=e.u16();if(i===16){e.offset-=2;let a=n===3?2:4,o=i*4+a,s=r*o,c=e.bytes(s),l=new Uint8Array(r*i*4);for(let e=0;e<r;e++)l.set(c.subarray(e*o+a,e*o+o),e*i*4);t.instanceCount=r,t.instanceMode=i,t.instanceBuffer=l,t.instanceIndex=1,wg(t,`instanceMatrix0`,l,4,64,0,1),wg(t,`instanceMatrix1`,l,4,64,16,1),wg(t,`instanceMatrix2`,l,4,64,32,1),wg(t,`instanceColor`,l,4,64,48,1)}else{e.u16();let n=r*i*4;i===17||i===29?(t.instanceCount=r,t.instanceMode=i,t.instanceBuffer=e.bytesCopy(n),t.instanceIndex=1):e.skip(n)}}}function Ig(e,t){let n=e.u32();for(let r=0;r<n;r++){let n=e.u32(),i=e.u16(),a=Sg[e.u16()]??4;wg(t,`custom${r}`,e.bytes(n*i*a),i,i*a)}}function Lg(e){let t=e.u32();if(t<=0)return;let n=e.u16();e.u16(),e.skip(t*n*4)}function Rg(e,t,n){if(n>=3&&e.u32(),Ag(e,t),jg(e,t),Mg(e,t),n<3&&Ng(e,t),Pg(e,t),Fg(e,t,n),n>=3){Ig(e,t);let n=e.string();t.customVertexAttribute=n?JSON.parse(n):void 0,e.align4(),Lg(e)}}function zg(e,t,n){let r=e.u32();if(t.compressOptions=r,r&xg.VERTEX)throw Error(`[s3m] 顶点量化压缩(v2 旧式)暂未实现`);if(Ag(e,t),r&xg.NORMAL)throw Error(`[s3m] 法线压缩(v2 旧式)暂未实现`);if(jg(e,t),Mg(e,t),Ng(e,t),r&xg.TEXCOORD)throw Error(`[s3m] 纹理坐标压缩(v2 旧式)暂未实现`);Pg(e,t),r&xg.TEXCOORD_IS_W&&(t.textureCoordIsW=!0),Fg(e,t,n)}function Bg(e,t){let n=e.u32(),r=[];for(let i=0;i<n;i++){t>=3&&e.u32();let n=e.u32(),i=e.u8(),a=e.u8(),o=e.u8();e.skip(1);let s=null;if(n>0){let t=i===1||i===3,r=t?4:2;s=e.bytes(n*r),!t&&n%2!=0&&e.skip(2)}let c=[],l=e.u32();for(let t=0;t<l;t++)c.push(e.string());e.align4(),r.push({indexCount:n,indexType:i,useIndex:a,primitiveType:o,indices:s,passNames:c})}return r}var Vg=96;function Hg(e){let t=e.offset,n=e.boundingBox();return Ug(n)?n:(e.offset=t+4,e.boundingBox())}function Ug(e){let t=[e.center,e.xExtent,e.yExtent,e.zExtent];for(let e of t)if(!Number.isFinite(e.x)||!Number.isFinite(e.y)||!Number.isFinite(e.z)||Math.abs(e.x)>1e7||Math.abs(e.y)>1e7||Math.abs(e.z)>1e7)return!1;return!0}async function Wg(e,t,n){let r=e.u32(),i={};for(let a=0;a<r;a++){let r=-1;if(t>=3){let t=e.u32(),n=e.offset+t;t>=Vg&&n<=e.view.byteLength&&(r=n)}let a=e.string();e.align4();let o=e.u32();t>=3&&(o=o===bg.STANDARD?yg.STANDARD:o===bg.DRACO?yg.DRACO:o===bg.MESHOPT?yg.COMPRESSED:yg.UNKNOWN);let s=Tg(),c=[];if(o===yg.STANDARD)Rg(e,s,t),c=Bg(e,t);else if(o===yg.COMPRESSED)t>=3?c=(await ng(e,s)).indexPackages:(zg(e,s,t),c=Bg(e,t));else if(o===yg.DRACO)c=await Ih(e,s);else throw Error(`[s3m] 未知骨架标记 ${o}(${a})`);let l;if(t>=3){if(r>=0&&r-e.offset>=Vg){let t=r-e.offset-Vg;t>0&&n?.(` skelPad`,t,e.offset),e.offset=r-Vg,l=Hg(e),e.offset=r}else l=Hg(e)}n?.(` skel`,a,e.offset),i[a]={name:a,vertexPackage:s,indexPackages:c,obb:l}}return i}async function Gg(e,t,n){e.u32();let r=await Wg(e,t,n);if(t<3){let t=e.u32();e.skip(t)}return r}function Kg(e){let t=e.u32(),n=e.offset,r=n+t,i=e.u32(),a={};for(let t=0;t<i;t++){let t=e.string();e.align4(n);let r=e.u32(),i=e.u32(),o=e.u32(),s=e.u32(),c=e.u32();a[t]={code:t,level:r,width:i,height:o,compressType:s,pixelFormat:e.u32(),data:e.bytesCopy(c)}}return e.offset=r,a}function qg(e){let t=e.u32(),n=new TextDecoder(`utf-8`).decode(e.bytes(t));return n?JSON.parse(n):[]}function Jg(e,t,n,r){let i=t;return(i&1)!=1||(r>=3&&(i=e.u32()),(i&1)!=1)?null:(e.u32(),Yg(e,n,r))}function Yg(e,t,n){let r=e.u32(),i={};for(let a=0;a<r;a++){let r=e.string(),a=t[r],o=e.u32(),s={};if(!a)continue;let c=a.vertexPackage;if(c.instanceIndex===-1){let t=new Float32Array(c.verticesCount||0);for(let n=0;n<o;n++){let r=e.u32(),i=e.u32(),a={batchId:n,segments:[]};s[r]=a;for(let r=0;r<i;r++){let r=e.u32(),i=e.u32();a.segments.push({vertexOffset:r,vertexCount:i}),t.fill(n,r,r+i)}}wg(c,`batchId`,new Uint8Array(t.buffer),1,4,0,void 0,`f32`)}else{let t=c.instanceCount,r=new Float32Array(t).fill(-1);for(let i=0;i<o;i++){let a=e.u32(),o=e.u32(),c={instanceIds:[],instanceBatchId:i};s[a]=c;for(let a=0;a<o;a++){let a=e.u32();n>=3&&e.u32(),a>=0&&a<t&&(c.instanceIds.push(a),r[a]=i)}}c.instanceBatchIds=r}a.pickInfo=s,i[r]=s}return i}var Xg=class extends Error{constructor(e){super(e),X(this,`permanent`,!0),this.name=`S3MFormatError`}};async function Zg(e,t={}){if(ag(e))return _g(e,t);let n=t.inflate??Cg,r=t.trace,i=new dh(e),a=Number(i.f32().toFixed(2)),o=0;a>=3&&(o=i.u32()),a>=2&&i.u32();let s=i.u32(),c=new Uint8Array(e,i.base+i.offset,s),l;l=a>=3&&o===0?c:await n(c);let u=new dh(l.buffer,l.byteOffset??0,l.byteLength),d=u.u32();r?.(`fileOptions`,d,u.offset);let f=kg(u,a);r?.(`groupNode`,f.pageLods.length,u.offset);let p=await Gg(u,a,r);r?.(`skeletons`,Object.keys(p).length,u.offset);let m=Kg(u);r?.(`textures`,Object.keys(m).length,u.offset);let h=qg(u);r?.(`materials`,u.offset);let g=Jg(u,d,p,a);r?.(`pickInfo`,u.offset);let _;if(a>=3){let e=u.string();_=e?JSON.parse(e):void 0}return{version:a,compressedType:o,options:d,groupNode:f,geoPackage:p,textures:m,materials:h,pickInfo:g,extensions:_,bytesRead:u.offset,bytesTotal:u.view.byteLength}}function Qg(e){return e?e.batchId==null?e.instanceBatchId==null?-1:e.instanceBatchId:e.batchId:-1}function $g(e){let t=new Map;if(!e)return t;for(let[n,r]of Object.entries(e)){if(!r?.instanceIds?.length)continue;let e=Number(n);if(!Number.isFinite(e))continue;let i=Qg(r);for(let n of r.instanceIds)t.set(n,{smid:e,batchId:i})}return t}function e_(e,t){let n=e?.pickInfo;if(!n||t<0)return{smid:null,segments:[]};for(let[e,r]of Object.entries(n))if(Qg(r)===t)return{smid:Number(e),segments:r.segments??[]};return{smid:null,segments:[]}}function t_(e,t){let n=e?.getAttribute(`position`);if(!n||!t.length)return null;let r=1/0,i=1/0,a=1/0,o=-1/0,s=-1/0,c=-1/0,l=0;for(let e of t){let t=Math.min(e.vertexOffset+e.vertexCount,n.count);for(let u=e.vertexOffset;u<t;u++){let e=n.getX(u),t=n.getY(u),d=n.getZ(u);e<r&&(r=e),e>o&&(o=e),t<i&&(i=t),t>s&&(s=t),d<a&&(a=d),d>c&&(c=d),l++}}if(!l)return null;let u=0,d=e.index;if(d){let e=new Uint8Array(n.count);for(let r of t){let t=Math.min(r.vertexOffset+r.vertexCount,n.count);e.fill(1,r.vertexOffset,t)}let r=d.array;for(let t=0;t<r.length;t+=3)e[r[t]]&&e[r[t+1]]&&e[r[t+2]]&&u++}return{minX:r,minY:i,minZ:a,maxX:o,maxY:s,maxZ:c,count:l,triangles:u}}function n_(e){let{smid:t,box:n,triangles:r,floorHeight:i=i_}=e;if(!n)return{smid:t,triangles:r};let a=n.maxZ-n.minZ;return{smid:t,height:r_(a,1),baseElevation:r_(n.minZ,1),size:[r_(n.maxX-n.minX,1),r_(n.maxY-n.minY,1)],bboxArea:r_((n.maxX-n.minX)*(n.maxY-n.minY),1),floors:Math.max(1,Math.round(a/i)),triangles:n.triangles??r,vertices:n.count,bbox:[[r_(n.minX,1),r_(n.minY,1),r_(n.minZ,1)],[r_(n.maxX,1),r_(n.maxY,1),r_(n.maxZ,1)]]}}function r_(e,t){let n=10**t;return Math.round(e*n)/n}var i_,a_=n((()=>{i_=3.2}));a_(),uh();var o_=`SmID`,s_=200,c_=new Set([`smgeometry`,`smindexkey`,`smgeoposition`]);function l_(e){return e.replace(/x'[0-9A-Fa-f]*'/g,`null`).replace(/(\d)[dDlLfF](?=\s*[,}\]])/g,`$1`)}var u_=class{constructor(e){if(X(this,`dataServiceUrl`,void 0),X(this,`datasourceName`,void 0),X(this,`datasetName`,void 0),X(this,`idField`,void 0),X(this,`_fields`,void 0),X(this,`_chunkSize`,void 0),X(this,`_formatOption`,void 0),X(this,`_fetch`,void 0),X(this,`_cache`,new Map),X(this,`_schema`,null),X(this,`_resolvedFields`,null),X(this,`_format`,null),X(this,`_stats`,{requests:0,bytes:0,ms:0}),!e?.dataServiceUrl)throw Error(`[s3m] AttributeQuery 缺少 dataServiceUrl`);let[t,n]=(e.datasetName?.includes(`:`)?e.datasetName:`DataSource:${e.datasetName??``}`).split(`:`);if(!n)throw Error(`[s3m] datasetName 格式应为 "数据源:数据集",收到 "${e.datasetName}"`);this.dataServiceUrl=e.dataServiceUrl.replace(/\/+$/,``),this.datasourceName=t,this.datasetName=n,this.idField=e.idField??o_,this._fields=e.fields?.length?e.fields:null,this._chunkSize=Math.max(1,e.chunkSize??s_),this._formatOption=e.format??`auto`,this._fetch=e.fetchImpl??globalThis.fetch.bind(globalThis)}get datasetPath(){return`${this.dataServiceUrl}/datasources/name/${encodeURIComponent(this.datasourceName)}/datasets/name/${encodeURIComponent(this.datasetName)}`}get stats(){return{...this._stats}}async loadSchema(){if(this._schema)return this._schema;let e=await this._fetch(`${this.datasetPath}/fields.json`);if(this._stats.requests++,!e.ok)throw Error(`[s3m] 读取字段表失败 ${e.status}:${this.datasetPath}/fields.json`);let t=await e.json();return this._schema=(t.fieldNames??[]).map(e=>({name:e})),this._schema}hasCached(e){return this._cache.has(e)}clearCache(){this._cache.clear(),this._stats={requests:0,bytes:0,ms:0}}async queryBySmids(e){let t=[...new Set(e.filter(e=>Number.isFinite(e)))],n=new Map;for(let e of t){let t=this._cache.get(e);t&&n.set(e,t)}let r=t.filter(e=>!this._cache.has(e));if(!r.length)return n;let i=await this._resolveFields();for(let e=0;e<r.length;e+=this._chunkSize){let t=r.slice(e,e+this._chunkSize),a=await this._queryChunk(t,i);for(let[e,t]of a)this._cache.set(e,t),n.set(e,t)}return n}async _resolveFields(){if(this._resolvedFields)return this._resolvedFields;if(this._fields)return this._resolvedFields=this._fields,this._resolvedFields;let e=(await this.loadSchema()).map(e=>e.name).filter(e=>!c_.has(e.toLowerCase()));return this._resolvedFields=e.length?e:[this.idField],this._resolvedFields}async _resolveFormat(){if(this._format)return this._format;if(this._formatOption!==`auto`)return this._format=this._formatOption;try{let e=await this._fetch(`${this.datasetPath}/features.json?fromIndex=0&toIndex=1`);this._stats.requests++;let t=await e.json(),n=String(t.geometryType??``).toUpperCase().includes(`MODEL`);this._format=n?`fastjson`:`json`}catch{this._format=`fastjson`}return this._format}async _queryChunk(e,t){let n={getFeatureMode:`SQL`,datasetNames:[`${this.datasourceName}:${this.datasetName}`],queryOption:`ATTRIBUTE`,queryParameter:{attributeFilter:`${this.idField} IN (${e.join(`,`)})`,fields:t}},r=await this._resolveFormat(),i=await this._post(n,r),a;try{a=this._parse(i)}catch(e){if(r!==`fastjson`)throw e;a=this._parse(await this._post(n,`json`))}if(a.error)throw Error(`[s3m] 属性查询失败:${a.error.errorMsg??`未知错误`}`);let o=new Map;for(let e of a.features??[]){let t=e.fieldNames??[],n=e.fieldValues??[],r={};for(let e=0;e<t.length;e++)r[t[e]]=n[e];let i=r[this.idField]??e.ID,a=Number(i);Number.isFinite(a)&&o.set(a,r)}return o}async _post(e,t){let n=performance.now(),r=await this._fetch(`${this.dataServiceUrl}/featureResults.${t}?returnContent=true`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(e)}),i=await r.text();if(this._stats.requests++,this._stats.bytes+=i.length,this._stats.ms+=Math.round(performance.now()-n),!r.ok)throw Error(`[s3m] 属性查询失败 ${r.status}:${i.slice(0,200)}`);return i}_parse(e){return JSON.parse(e.includes(`x'`)||/\d[dDlL](?=\s*[,}\]])/.test(e)?l_(e):e)}},d_=6378137;function f_(e,t,n=0){let r=Math.sin(t*Math.PI/180),i=(180+e)/360,a=.5-.25*Math.log((1+r)/(1-r))/Math.PI,o=1/(2*Math.PI*d_)/Math.cos(t*Math.PI/180);return{x:i,y:a,z:n*o,meterInMercator:o,altitude:n}}function p_(e,t){return[e*360-180,Math.atan(Math.sinh(Math.PI*(1-2*t)))*180/Math.PI]}function m_(e,t,n,r=0){return e?e.worldFromLngLat(t,n,r):f_(t,n,r)}function h_(e,t,n){return e?e.lngLatFromWorld(t,n):p_(t,n)}uh();var g_=class extends Error{constructor(e){super(e),this.name=`WorkerDeadError`}},__=class e{static create(){if(typeof Worker>`u`)return null;try{let t=new Worker(new URL(`/assets/s3mWorker-DLsGBSaV.js`,``+{}.url),{type:`module`});return new e(t)}catch{return null}}constructor(e){X(this,`_worker`,void 0),X(this,`_seq`,0),X(this,`_pending`,new Map),X(this,`dead`,!1),this._worker=e,e.onmessage=e=>{let t=e.data,n=this._pending.get(t.id);if(n){if(this._pending.delete(t.id),t.ok)`tile`in t?n.resolve({tile:t.tile,geometry:t.geometry}):n.resolve(t.data);else{let e=Error(t.message);e.permanent=t.permanent,n.reject(e)}}},e.onerror=()=>this._die(`s3m 解析 Worker 加载失败/崩溃`),e.onmessageerror=()=>this._die(`s3m 解析 Worker 消息无法反序列化`)}parseTile(e,t=!1,n=!0){if(this.dead)return Promise.reject(new g_(`s3m 解析 Worker 已终止`));let r=++this._seq;return new Promise((i,a)=>{this._pending.set(r,{resolve:i,reject:a}),this._worker.postMessage({type:`parse`,id:r,buffer:e,assemble:t,batching:n})})}decodeTexture(e,t=!1){if(this.dead)return Promise.reject(new g_(`s3m 解析 Worker 已终止`));let n=++this._seq;return new Promise((r,i)=>{this._pending.set(n,{resolve:r,reject:i}),this._worker.postMessage({type:`tex`,id:n,tex:e,compressed:t})})}dispose(){this._die(`dispose`)}_die(e){if(this.dead)return;this.dead=!0;try{this._worker.terminate()}catch{}let t=new g_(`${e},退回主线程解析`);for(let e of this._pending.values())e.reject(t);this._pending.clear()}},v_;function y_(){return v_===void 0&&(v_=__.create()),v_&&v_.dead?null:v_}async function b_(e,t){let n=y_();if(!n)return null;try{return await n.decodeTexture(e,t)}catch{return null}}function x_(e,t,n,r){let i=e|t<<8,a=i>>11&31,o=i>>5&63,s=i&31;return n[r+0]=a<<3|a>>2,n[r+1]=o<<2|o>>4,n[r+2]=s<<3|s>>2,n[r+3]=255,i}function S_(e,t,n,r){let i=new Uint8Array(16),a=x_(t[n+0],t[n+1],i,0),o=x_(t[n+2],t[n+3],i,4);for(let e=0;e<3;e++){let t=i[e],n=i[4+e];r&&a<=o?(i[8+e]=(t+n)/2,i[12+e]=0):(i[8+e]=(2*t+n)/3,i[12+e]=(t+2*n)/3)}i[11]=255,i[15]=r&&a<=o?0:255;let s=new Uint8Array(16);for(let e=0;e<4;++e){let r=t[n+4+e];s[4*e+0]=r&3,s[4*e+1]=r>>2&3,s[4*e+2]=r>>4&3,s[4*e+3]=r>>6&3}for(let t=0;t<16;++t){let n=4*s[t];for(let r=0;r<4;++r)e[4*t+r]=i[n+r]}}function C_(e,t,n){for(let r=0;r<8;++r){let i=t[n+r],a=i&15,o=i&240;e[8*r+3]=a|a<<4,e[8*r+7]=o|o>>4}}function w_(e,t,n){let r=t[n+0],i=t[n+1],a=new Uint8Array(8);if(a[0]=r,a[1]=i,r<=i){for(let e=1;e<5;++e)a[1+e]=((5-e)*r+e*i)/5;a[6]=0,a[7]=255}else for(let e=1;e<7;++e)a[1+e]=((7-e)*r+e*i)/7;let o=new Uint8Array(16),s=n+2,c=0;for(let e=0;e<2;++e){let e=0;for(let n=0;n<3;++n){let r=t[s++];e|=r<<8*n}for(let t=0;t<8;++t){let n=e>>3*t&7;o[c++]=n}}for(let t=0;t<16;++t)e[4*t+3]=a[o[t]]}function T_(e,t,n,r){let i=0;r&6&&(i=8),S_(e,t,n+i,(r&k_)!==0),(r&A_)===0?(r&j_)!==0&&w_(e,t,n):C_(e,t,n)}function E_(e){let t=e.byteOffset&-2,n=e.byteLength+(e.byteOffset&1)>>1;return new Uint16Array(e.buffer,t,n)}function D_(e,t,n,r){let i=new Uint16Array(4),a=e,o=0,s=0,c=0,l=0,u=0,d=0,f=0,p=0,m=0,h=t/4,g=n/4;for(let e=0;e<g;e++)for(let n=0;n<h;n++)c=4*((g-e)*h+n),i[0]=r[c],i[1]=r[c+1],l=i[0]&31,u=i[0]&2016,d=i[0]&63488,f=i[1]&31,p=i[1]&2016,m=i[1]&63488,i[2]=5*l+3*f>>3|5*u+3*p>>3&2016|5*d+3*m>>3&63488,i[3]=5*f+3*l>>3|5*p+3*u>>3&2016|5*m+3*d>>3&63488,o=r[c+2],s=e*4*t+n*4,a[s]=i[o&3],a[s+1]=i[o>>2&3],a[s+2]=i[o>>4&3],a[s+3]=i[o>>6&3],s+=t,a[s]=i[o>>8&3],a[s+1]=i[o>>10&3],a[s+2]=i[o>>12&3],a[s+3]=i[o>>14&3],o=r[c+3],s+=t,a[s]=i[o&3],a[s+1]=i[o>>2&3],a[s+2]=i[o>>4&3],a[s+3]=i[o>>6&3],s+=t,a[s]=i[o>>8&3],a[s+1]=i[o>>10&3],a[s+2]=i[o>>12&3],a[s+3]=i[o>>14&3];return a}function O_(e,t,n,r,i){let a=(i&k_)===0?16:8,o=0;for(let s=0;s<n;s+=4)for(let c=0;c<t;c+=4){let l=new Uint8Array(64);T_(l,r,o,i);let u=0;for(let r=0;r<4;++r)for(let i=0;i<4;++i){let a=c+i,o=s+r;if(a<t&&o<n){let r=4*(t*(n-1-o)+a);for(let t=0;t<4;++t)e[r++]=l[u++]}else u+=4}o+=a}}var k_,A_,j_,M_,N_,P_=n((()=>{k_=1,A_=2,j_=4,M_=32,N_={decode(e,t,n,r,i){if(e==null||r==null||n===0||t===0)return;let a;switch(i){case 17:a=k_;break;case 18:case 19:a=A_;break;case 20:case 21:a=j_;break;default:a=i>11||i===5?j_:33}(a&k_)!==0&&(a&M_)!==0?D_(E_(e),t,n,E_(r)):O_(e,t,n,r,a)}}}));P_();function F_(e){if(!e.data||!e.width||!e.height)return null;let t=e.compressType;if((t===0||t===void 0)&&e.pixelFormat===28&&e.data.length===e.width*e.height*4)return{rgba:e.data,topDown:!0};if(!(t===12||t===13||t===14||t===17||t===19||t===20||t===21||e.pixelFormat>=17))return null;let n=new Uint8Array(e.width*e.height*4);try{N_.decode(n,e.width,e.height,e.data,e.pixelFormat)}catch{return null}return{rgba:n,topDown:!1}}function I_(e){let t=Object.entries(e).filter(([,e])=>e.data&&e.width>0&&e.height>0);if(t.length<2)return null;let n=new Map;for(let[e,r]of t){let t=F_(r);if(!t)return null;n.set(e,{w:r.width,h:r.height,rgba:t.rgba,topDown:t.topDown})}let r=0,i=0,a=0,o=0,s=new Map;for(let[e,t]of n)r>0&&r+t.w>1024&&(r=0,i+=a,a=0),s.set(e,{x:r,y:i}),r+=t.w,a=Math.max(a,t.h),o=Math.max(o,r);let c=Math.max(1,o),l=Math.max(1,i+a),u=new Uint8Array(c*l*4);for(let[e,t]of n){let n=s.get(e);for(let e=0;e<t.h;e++){let r=(t.topDown?e:t.h-1-e)*t.w*4;u.set(t.rgba.subarray(r,r+t.w*4),((n.y+e)*c+n.x)*4)}}return{width:c,height:l,data:u,offsets:s}}async function L_(e){if(typeof DecompressionStream>`u`)throw Error(`[s3m] 当前环境无 DecompressionStream,请通过 options.inflate 注入解压实现`);let t=new Blob([e]).stream().pipeThrough(new DecompressionStream(`deflate`));return new Uint8Array(await new Response(t).arrayBuffer())}function R_(e){let t=e.u32(),n={};for(let r=0;r<t;r++){let t=e.string();e.align4();let r=e.u32(),i=e.u8(),a=e.u32(),o=e.u32(),s=e.u32(),c=e.u32(),l=e.u32(),u=i?e.bytesCopy(c):null,d=e.u32(),f=[];for(let t=0;t<d;t++)f.push(e.string());let p=e.u32(),m=[];for(let t=0;t<p;t++)m.push(e.string());let h=e.u32(),g=[];for(let t=0;t<h;t++){let t=e.string(),n=e.u32(),r=e.u32(),i=e.u32(),a=e.u32(),o=e.u32(),s=[];for(let t=0;t<o;t++){let t=e.string(),n=e.u32(),r=e.u32(),i=e.u32();s.push({geoName:t,vertexOffset:n,vertexCount:r,texUnitIndex:i})}g.push({subName:t,offsetX:n,offsetY:r,width:i,height:a,bindings:s})}n[t]={id:t,level:r,width:a,height:o,compressType:s,pixelFormat:l,data:u,childTexNames:f,requestNames:m,subTexInfos:g}}return n}function z_(e){let t=Object.values(e);if(t.some(e=>e.packed))return null;let n=I_(e);if(!n)return null;let r=t.filter(e=>e.leafSig).map(e=>`${e.id}=${e.leafSig}`),i=`${n.width}x${n.height}#${[...n.offsets.keys()].sort().join(`,`)}`+(r.length?`@${[...r].sort().join(`,`)}`:``);for(let e of t){let t=e;t.origin={width:e.width,height:e.height,pixelFormat:e.pixelFormat,compressType:e.compressType,dataLength:e.data?.length??0,data:e.data??void 0},e.width=n.width,e.height=n.height,e.data=n.data,e.compressType=0,e.pixelFormat=28,t.flipY=!1,t.packed=!0,t.packKey=i}return n}function B_(e){let t=e.texturePackage;if(!t)return!1;let n=!1;for(let e of Object.values(t)){let t=e;t.packed&&t.origin?.data&&(e.width=t.origin.width,e.height=t.origin.height,e.pixelFormat=t.origin.pixelFormat,e.compressType=t.origin.compressType,e.data=t.origin.data,t.flipY=!t.composed,t.packed=!1,t.rectScale=1,delete t.packKey,n=!0)}return n&&(e.textures={},e.atlasRects={}),n}function V_(e){let t=z_(e.texturePackage??{});e.atlasRects=U_(e.geoPackage,e.texturePackage??{},t),e.textures=H_(e.texturePackage??{})}function H_(e){let t={};for(let n of Object.values(e)){if(!n.data)continue;let e=n.packed===!0,r=n.composed===!0,i=e||r;t[n.id]={code:n.id,level:n.level,width:n.width,height:n.height,compressType:n.compressType,pixelFormat:n.pixelFormat,data:n.data,flipY:!i,packed:e,composed:r,packKey:n.packKey}}return t}function U_(e,t,n){let r={},i=(t,n)=>{let i=e[t];if(!i)return new Float32Array;let a=r[t]??(r[t]={}),o=a[n];if(!o){let e=i.vertexPackage.verticesCount;o=a[n]=new Float32Array(e*4)}return o},a=new Map;for(let[e,n]of Object.entries(t)){if(!n.width||!n.height)continue;let t=n.rectScale??1;a.set(e,n.subTexInfos.map(e=>({x:e.offsetX*t,y:e.offsetY*t,w:e.width*t,h:e.height*t})))}let o=0;for(let[s,c]of Object.entries(t)){if(!c.width||!c.height)continue;let t=n?n.offsets.get(s)??{x:0,y:0}:{x:0,y:0},l=a.get(s)??[];c.subTexInfos.forEach((n,a)=>{o++;let s=l[a]??{x:n.offsetX,y:n.offsetY,w:n.width,h:n.height},u=c.origin,d=u?u.width*u.height:c.width*c.height,f=d>0&&n.width*n.height/d>=.5,p={x:(t.x+s.x)/c.width,y:(t.y+s.y)/c.height,w:s.w/c.width,h:s.h/c.height};for(let t of n.bindings){var m,h;let a=e[t.geoName];if(!a)continue;let s=t.texUnitIndex===0?`uv`:`uv2`,c=i(t.geoName,s),l=t.texUnitIndex===0?(m=r[t.geoName]).group??(m.group=new Float32Array(a.vertexPackage.verticesCount)):null,u=t.texUnitIndex===0?(h=r[t.geoName]).groupDim??(h.groupDim=new Float32Array(a.vertexPackage.verticesCount*3)):null,d=Math.min(t.vertexOffset+t.vertexCount,a.vertexPackage.verticesCount);for(let e=t.vertexOffset;e<d;e++)c[e*4]=p.x,c[e*4+1]=p.y,c[e*4+2]=p.w,c[e*4+3]=p.h,l&&u&&(l[e]=o,u[e*3]=n.width,u[e*3+1]=n.height,u[e*3+2]=+!!f)}})}return r}async function W_(e,t={}){let n=t.inflate??L_,r=new Uint8Array(e),i=await J_(r,n);if(i)return i;let a=await Y_(r,n);if(a)return a;let o=await K_(r,n);if(o)return[o];throw Error(`[s3m] .texblock 无法识别的外层格式(动态 pack / 静态 pack / 容器均不成立)`)}function G_(e,t){let n=new dh(e.buffer,e.byteOffset,e.byteLength),r=[];for(;n.remaining>=20;){let e=n.u32(),i=n.u32(),a=n.u32(),o=n.u32(),s=n.u32();if(!i||!a||s>n.remaining)break;r.push({id:t,width:i,height:a,compressType:e,pixelFormat:o,data:n.bytesCopy(s)})}return r}async function K_(e,t){if(e.byteLength<8)return null;try{let n=new dh(e.buffer,e.byteOffset,e.byteLength),r=n.u32();if(r<1||r>4096)return null;let i=[];for(let e=0;e<r;e++){let e=n.offset,r=n.u32();if(r<1||r>4096||n.remaining<r+8)return null;n.offset=e;let a=n.string(),o=n.u32(),s=n.u32();if(s>n.remaining)return null;let c=await t(n.bytesCopy(s));if(c.length!==o)return null;i.push(...G_(c,a))}return i.length?i:null}catch{return null}}async function q_(e,t){if(e.byteLength<16)return null;try{let n=new dh(e.buffer,e.byteOffset,e.byteLength),r=n.offset,i=n.u32();if(i<1||i>4096||n.remaining<i+8)return null;n.offset=r;let a=n.string(),o=n.u32(),s=n.u32();if(s!==n.remaining)return null;let c=await t(n.bytesCopy(s));if(c.length!==o)return null;let l=G_(c,a);return l.length?l:null}catch{return null}}async function J_(e,t){if(e.byteLength<8)return null;try{let n=new DataView(e.buffer,e.byteOffset,e.byteLength),r=n.getUint32(0,!0);if(r<1||r>256)return null;let i=4+4*r;if(i>e.byteLength)return null;let a=i,o=[];for(let e=0;e<r;e++){let t=n.getUint32(4+e*4,!0);if(t<8)return null;o.push(t),a+=t}if(a!==e.byteLength)return null;let s=[],c=i;for(let n of o){let r=await K_(e.subarray(c,c+n),t);if(!r)return null;s.push(r),c+=n}return s}catch{return null}}async function Y_(e,t){if(e.byteLength<12)return null;try{let n=new DataView(e.buffer,e.byteOffset,e.byteLength),r=n.getUint32(0,!0);if(r<1||r>4096)return null;let i=4+8*r;if(i>e.byteLength)return null;let a=[];for(let o=0;o<r;o++){let r=n.getUint32(4+o*8,!0),s=n.getUint32(8+o*8,!0);if(r<i||s<8||r>e.byteLength-s)return null;let c=await q_(e.subarray(r,r+s),t);if(!c)return null;a.push(c)}return a}catch{return null}}function X_(e){let t=e=>{let t=e.indexOf(`.`);return t>=0?e.slice(0,t):e},n=new Map,r=[];for(let i of e??[]){let e=t(i);if(e.split(`_`)[0]===`Tex`){let e=i.indexOf(`#`);if(e<0)continue;let r=t(i.slice(0,e)),a=i.slice(e+1),o=n.get(r)??[];for(let e=0;e+3<=a.length;e+=3){let t=`${r}_${a.slice(e,e+3)}`;o.includes(t)||o.push(t)}n.set(r,o)}else r.includes(e)||r.push(e)}let i=[];for(let e of n.values())for(let t of e)i.includes(t)||i.push(t);for(let e of r)i.includes(e)||i.push(e);return{packGroups:n,plain:r,names:i}}function Z_(e,t){let n=e.subTexInfos??[];if(!n.length||!e.width||!e.height)return null;let r=[];for(let e of n){let n=t.get(e.subName);n&&r.push({sub:e,sprite:n})}if(!r.length)return null;let i=e.width,a=e.height;for(let{sub:e,sprite:t}of r)i=Math.max(i,e.offsetX+t.image.width),a=Math.max(a,e.offsetY+t.image.height);let o=new Uint8Array(i*a*4),s=[],c=[],l=[],u=[],d=0;for(let e of n){let n=t.get(e.subName);if(!n){c.push(e.subName);continue}let r=n.image;(r.width!==e.width||r.height!==e.height)&&l.push(e.subName);let f=F_({id:r.id,width:r.width,height:r.height,compressType:r.compressType,pixelFormat:r.pixelFormat,data:r.data});if(!f)c.push(e.subName);else{for(let t=0;t<r.height;t++){let n=f.topDown?t:r.height-1-t,s=e.offsetY+t;if(s>=a)break;let c=n*r.width*4;o.set(f.rgba.subarray(c,c+r.width*4),(s*i+e.offsetX)*4)}d++,s.push(e.subName),u.push(`${n.source}#${e.subName}`)}}return d?{width:i,height:a,data:o,matched:s,missing:c,mismatched:l,sig:u.sort().join(`,`)}:null}async function Q_(e,t={}){let n=t.inflate??L_,r=new dh(e),i=r.f32(),a=r.u32();if(a<1||a>4096)throw Error(`[s3m] S3MBLOCK 组数异常:${a}`);let o=[],s=[];for(let e=0;e<a;e++){let e=r.string().replace(/\.s3mblock$/i,``);s.push(e);let t=[];if(i<=3){let e=r.u32();for(let n=0;n<e;n++){let e=r.f32(),n=r.u16(),i={center:{x:r.f64(),y:r.f64(),z:r.f64()},radius:r.f64()},a=r.string();t.push({rangeValue:e,rangeMode:n,boundingSphere:i,childTile:a})}}let a=Number(r.f32().toFixed(2)),c=0;a>=3&&(c=r.u32());let l=r.u32(),u=r.u32(),d=await n(r.bytesCopy(u));if(d.length!==l)throw Error(`[s3m] S3MBLOCK 解压长度不符:声明 ${l},实际 ${d.length}`);let f=new dh(d.buffer,d.byteOffset,d.byteLength),p=f.u32(),m=f.u32(),h=Og(new dh(f.buffer,f.base+f.offset,m),a);f.skip(m),m=f.u32();let g=await Wg(new dh(f.buffer,f.base+f.offset,m),a);f.skip(m),a<3&&(m=f.u32(),f.skip(m)),m=f.u32();let _=R_(new dh(f.buffer,f.base+f.offset,m));f.skip(m);let v=f.string(),y=[];if(v)try{y=JSON.parse(v.replace(/\n\0/,``))}catch{y=v}let b=null,x;if((p&1)==1&&(a>=3&&f.u32(),m=f.u32(),b=Yg(new dh(f.buffer,f.base+f.offset,m),g,a),f.skip(m)),a>=3){let e=f.string();x=e?JSON.parse(e):void 0}let S=U_(g,_,z_(_)),C=H_(_),w=h.pageLods,T=t.map((e,t)=>{let n=w[t];return{rangeValue:e.rangeValue,rangeMode:e.rangeMode,boundingSphere:e.boundingSphere,childTile:e.childTile,geodes:n?.geodes??[],...n?.obb?{obb:n.obb}:{}}});o.push({version:a,compressedType:c,options:p,groupNode:{pageLods:T},geoPackage:g,textures:C,materials:y,pickInfo:b,extensions:x,bytesRead:f.offset,bytesTotal:d.byteLength,blockVersion:i,blockName:e,texturePackage:_,atlasRects:S})}return{tiles:o,names:s}}function $_(e){switch(e){case 17:return`dxt1`;case 18:case 19:return`dxt3`;case 20:return`dxt4`;case 21:return`dxt5`;case 25:return`webp`;case 12:case 13:case 10:case 11:case 14:case 28:return`raw`;default:return null}}function ev(e){switch(e){case 14:return`dxt5`;case iv.DXT1_RGB:case iv.DXT1_RGBA:return`dxt1`;case iv.DXT3:return`dxt3`;case iv.DXT5:return`dxt5`;case iv.WEBP:return`webp`;case iv.CRN:case iv.CRN_DXT5:return`crn`;case iv.KTX2:return`ktx2`;default:return null}}function tv(e,t){return av.has(e)?`crn`:ev(e)||($_(t)??`unknown`)}function nv(e){return ov[e]??21}var rv,iv,av,ov,sv=n((()=>{rv={RGB:10,BGR:11,ARGB:12,ABGR:13,BGRA:14,RGBA:28,WEBP:25,DXT1:17,DXT3:19,DXT4:20,DXT5:21,CRN_DXT5:26,STANDARD_CRN:27},iv={NONE:0,DXT1_RGB:33776,DXT1_RGBA:33777,DXT3:33778,DXT5:33779,WEBP:38e3,CRN:38001,KTX2:38002,CRN_DXT5:5e4},av=new Set([26,27]),ov={dxt1:17,dxt3:19,dxt4:20,dxt5:21}}));P_(),sv();function cv(e){if(!e.data?.length||!e.width||!e.height)return null;let t=e.width*e.height*4;if(e.compressType===0&&e.pixelFormat===28&&e.data.length>=t)return e.data.subarray(0,t);let n=tv(e.compressType,e.pixelFormat);if(!n.startsWith(`dxt`))return null;let r=new Uint8Array(e.width*e.height*4);try{N_.decode(r,e.width,e.height,e.data,nv(n))}catch{return null}return r}function lv(e,t,n,r,i){let a=new Uint8Array(r*i*4);for(let o=0;o<i;o++){let s=o*n/i,c=(o+1)*n/i;for(let i=0;i<r;i++){let l=i*t/r,u=(i+1)*t/r,d=0,f=0,p=0,m=0,h=0;for(let r=Math.floor(s);r<Math.ceil(c);r++)for(let i=Math.floor(l);i<Math.ceil(u);i++){let a=Math.min(t-1,i),o=(Math.min(n-1,r)*t+a)*4;d+=e[o],f+=e[o+1],p+=e[o+2],m+=e[o+3],h++}let g=(o*r+i)*4;a[g]=d/h,a[g+1]=f/h,a[g+2]=p/h,a[g+3]=m/h}}return a}function uv(e,t,n={}){let r=n.maxAspectDelta??.02,i=n.maxMeanError??24,a=e.width/e.height,o=t.width/t.height,s=Math.abs(o/a-1),c=t.width/e.width,l=t.height/e.height,u=e=>({ok:!1,reason:e,aspectDelta:s,scale:c,meanAbsError:NaN});if(!Number.isFinite(s)||s>r)return u(`aspect`);if(t.width*t.height<=e.width*e.height)return u(`content`);if(c!==l||!Number.isInteger(c))return u(`scale`);let d=cv(e),f=cv(t);if(!d||!f)return u(`undecodable`);let p=lv(f,t.width,t.height,e.width,e.height),m=0,h=0;for(let t=0;t<e.width*e.height;t++)if(!(d[t*4+3]<8)){for(let e=0;e<3;e++)m+=Math.abs(d[t*4+e]-p[t*4+e]);h+=3}if(h===0)return u(`empty`);let g=m/h;return{ok:g<=i,reason:g<=i?`ok`:`content`,aspectDelta:s,scale:c,meanAbsError:g}}var dv=i({default:()=>$});function fv(){let e=pv;if(typeof atob==`function`){let t=atob(e),n=new Uint8Array(t.length);for(let e=0;e<t.length;e++)n[e]=t.charCodeAt(e);return n}return Uint8Array.from(Buffer.from(e,`base64`))}var pv,mv,hv,$,gv,_v,vv,yv,bv,xv,Sv,Cv,wv,Tv,Ev,Dv,Ov,kv,Av,jv,Mv,Nv,Pv,Fv,Iv,Lv,Rv,zv,Bv,Vv,Hv,Uv,Wv,Gv,Kv,qv,Jv,Yv,Xv,Zv,Qv,$v,ey,ty,ny,ry=n((()=>{if(pv=`AGFzbQEAAAABbxBgBX9/f39/AX9gA39/fwF/YAZ/fH9/f38Bf2AEf39/fwF/YAF/AX9gAABgAn9/AX9gBn9/f39/fwBgA39+fwF+YAJ+fwF/YAN+f38Bf2AB.fwBgA39/fwBgBX9/f39/AGAHf39/f39/fwBgAn9/AAJABQNlbnYBYQABA2VudgFiAAQNd2FzaV91bnN0YWJsZQFjAAMDZW52Bm1lbW9yeQIAgAIDZW52BXRh.YmxlAXAABgNIRw8LBgMLDAYEDA0MDAQECwMBBA8EBAwEBgALBAsGBgQGAQsPAQkKCQAPBggEAwEEBAQEBAQHAQYGBgYGAAAAAAEADg0EBAYFBgkBfwFBwKPA.AgsHKQoBZABJAWUADwFmABEBZwA9AWgAPAFpADsBagA6AWsAOQFsADgBbQA3CQsBAEEBCwUqLiMtJgr6rgJHIQEBfyMAQRBrIgIkACACIAE2AgwgACABECUg.AkEQaiQAC2oBAn9BxA4oAgAiASgCTEEATgR/QQEFQQALGgJAQX9BACAAECEiAiAAIAIgARAwRxtBAEgNAAJAIAEtAEtBCkYNACABKAIUIgAgASgCEE8NACAB.IABBAWo2AhQgAEEKOgAADAELIAEQJAsL6gQBB38jAEHABGsiAiQAIAEoAhQhBQJAIAAoAhQiBkEYTgRAIAAoAhAhBwwBCyAAKAIIIQggACgCBCEDIAACfyAG.QQ9MBEACfyADIAhPBEAgAyEEQQAMAQsgA0EBaiEEIAMtAABBCHQLIQMgACAEIAhPBH8gBAUgBC0AACEHIARBAWoLNgIEIAAgBkEQajYCFCAAKAIQIAMgB3JB.ECAGa3RyDAELIAMgCEkEQCAAIANBAWo2AgQgAy0AACEECyAAIAZBCGo2AhQgACgCECAEQRggBmt0cgsiBzYCEAsCQAJAAkAgB0EQdiIIIAUoAhBJBEAgBSgC.qAEgB0EgIAUoAghrdkECdGooAgAiA0F/RgRAIAJBtgg2AiAgAkGDFTYCJCACQccMNgIoIAJBQGsgAkEgahADIAJBQGsQBAsgA0EQdiEEIAEoAgggA0H//wNx.IgNNBEAgAkG2CDYCECACQcoENgIUIAJBqw02AhggAkFAayACQRBqEAMgAkFAaxAECyAEIAEoAgQgA2otAABGDQEgAkG2CDYCACACQYcVNgIEIAJB2Aw2Aggg.AkFAayACEAMgAkFAaxAEDAELIAUoAhQhAwNAIAMiBEEBaiEDIAggBSAEQX9qIgZBAnRqKAIcTw0ACyAFIAZBAnRqKAJgIAdBICAEa3ZqIgMgASgCAE8NASAF.KAKwASADQQF0ai8BACEDCyAAIAAoAhAgBHQ2AhAgACAAKAIUIARrNgIUDAELIAJBtgg2AjAgAkGVFTYCNCACQcUMNgI4IAJBQGsgAkEwahADIAJBQGsQBEEA.IQMLIAJBwARqJAAgAwvmAgEDfyMAQcAEayIEJAAgACgCBCAAKAIISwRAIARBtgg2AjAgBEH7DDYCNCAEQaEINgI4IARBQGsgBEEwahADIARBQGsQBAtBgID8./wcgA24gAU0EQCAEQbYINgIgIARB/Aw2AiQgBEHJCDYCKCAEQUBrIARBIGoQAyAEQUBrEAQLAn9BASAAKAIIIgYgAU8NABoCQAJAAkAgAWlBAUYNACACRQ0A.IAFBf2oiAUEQdiABciIBQQh2IAFyIgFBBHYgAXIiAUECdiABciIBQQF2IAFyIgJBAWoiASACSQ0BCyABIQUgASAGSw0BCyAEQbYINgIQIARBhQ02AhQgBEH5.CDYCGCAEQUBrIARBEGoQAyAEQUBrEAQgBSEBC0EAIAAoAgAgASADbCICIARBPGoQQiIFRQ0AGiAAIAU2AgAgACAEKAI8IgAgAksEfyAAIANuBSABCzYCCEEB.CyEAIARBwARqJAAgAAvgAQECfyMAQaAEayIBJAACQCAAKAIUIgJFDQAgAhAUIgJBB3EEQCABQbYINgIQIAFByQ82AhQgAUHCCzYCGCABQSBqIAFBEGoQAyAB.QSBqEAQMAQsgAkEAQQBBAUHgFigCAEHQEygCABEAABoLIAAoAgQiAgRAAkAgAkEHcQRAIAFBtgg2AgAgAUHJDzYCBCABQcILNgIIIAFBIGogARADIAFBIGoQ.BAwBCyACQQBBAEEBQeAWKAIAQdATKAIAEQAAGgsgAEIANwIEIABBADYCDAsgAEEAOgAQIAFBoARqJAAL8QICAn8BfgJAIAJFDQAgACACaiIDQX9qIAE6AAAg.ACABOgAAIAJBA0kNACADQX5qIAE6AAAgACABOgABIANBfWogAToAACAAIAE6AAIgAkEHSQ0AIANBfGogAToAACAAIAE6AAMgAkEJSQ0AIABBACAAa0EDcSIE.aiIDIAFB/wFxQYGChAhsIgA2AgAgAyACIARrQXxxIgJqIgFBfGogADYCACACQQlJDQAgAyAANgIIIAMgADYCBCABQXhqIAA2AgAgAUF0aiAANgIAIAJBGUkN.ACADIAA2AhggAyAANgIUIAMgADYCECADIAA2AgwgAUFwaiAANgIAIAFBbGogADYCACABQWhqIAA2AgAgAUFkaiAANgIAIAIgA0EEcUEYciIBayICQSBJDQAg.AK0iBUIghiAFhCEFIAEgA2ohAQNAIAEgBTcDGCABIAU3AxAgASAFNwMIIAEgBTcDACABQSBqIQEgAkFgaiICQR9LDQALCwuxDwEKfyMAQfAEayIFJAACQCAA.KAIUIgJBDk4EQCAAKAIQIQQMAQsgACgCBCEGIAAoAgghCCACIQMDQAJ/IAYgCEYEQEEAIQQgCAwBCyAAIAZBAWoiAjYCBCAGLQAAIQQgAgshBiAAIANBCGoi.AjYCFCAAIAAoAhAgBEEYIANrdHIiBDYCECACIQMgAkEOSA0ACwsgACACQXJqNgIUIAAgBEEOdDYCEAJAIARBEnYiCUUEQCABEB5BASECDAELIAFBBGohCgJA.AkACQCAJIAEoAggiBkcEQCAGIAlNBEACfyABKAIMIAlJBEBBACECIAogCSAGQQFqIAlGQQEQBkUNBCABKAIIIQYLIAooAgAgBmoLQQAgCSAGaxAICyABIAk2.AggLIAooAgBBACAJEAgCQCAAKAIUIgJBBU4EQCAAKAIQIQQMAQsgACgCBCEGIAAoAgghCCACIQMDQAJ/IAYgCEYEQEEAIQQgCAwBCyAAIAZBAWoiAjYCBCAG.LQAAIQQgAgshBiAAIANBCGoiAjYCFCAAIAAoAhAgBEEYIANrdHIiBDYCECACIQMgAkEFSA0ACwsgACACQXtqNgIUIAAgBEEFdDYCEEEAIQIgBEEbdiILQX9q.QRRLDQMgBUIANwNgIAVBADoAaCAFQgA3A1ggBUEANgJsIAVB2ABqQQRyQRVBAEEBEAZFBEAgBUEBOgBoDAMLIAUoAmAiAyAFKAJcakEAQRUgA2sQCCAFQRU2.AmADQAJAIAAoAhQiAkEDTgRAIAAoAhAhBAwBCyAAKAIEIQYgACgCCCEIIAIhAwNAAn8gBiAIRgRAQQAhBCAIDAELIAAgBkEBaiICNgIEIAYtAAAhBCACCyEG.IAAgA0EIaiICNgIUIAAgACgCECAEQRggA2t0ciIENgIQIAIhAyACQQNIDQALCyAAIAJBfWo2AhQgACAEQQN0NgIQIAUoAmAgB0GwDGotAAAiA00EQCAFQbYI.NgJAIAVBzgQ2AkQgBUGrDTYCSCAFQfAAaiAFQUBrEAMgBUHwAGoQBAsgBSgCXCADaiAEQR12OgAAIAdBAWoiByALRw0AC0EAIQIgBUHYAGoQHUUNAkEAIQYD.QAJAIAAgBUHYAGoQBSIEQRBNBEAgASgCCCAGTQRAIAVBtgg2AgAgBUHOBDYCBCAFQasNNgIIIAVB8ABqIAUQAyAFQfAAahAECyAKKAIAIAZqIAQ6AAAgBkEB.aiEGDAELIAkgBmshCyAEQW9qIgNBAU0EQCADQQFrBEACQCAAKAIUIgNBA04EQCAAKAIQIQcMAQsgACgCBCECIAAoAgghCCADIQQDQAJ/IAIgCEYEQEEAIQcg.CAwBCyAAIAJBAWoiAzYCBCACLQAAIQcgAwshAiAAIARBCGoiAzYCFCAAIAAoAhAgB0EYIARrdHIiBzYCECADIQQgA0EDSA0ACwsgACADQX1qNgIUIAAgB0ED.dDYCEEEAIQIgB0EddkEDaiIEIAtLIgMNBkEAIAQgAxsgBmohBgwCCwJAIAAoAhQiA0EHTgRAIAAoAhAhBwwBCyAAKAIEIQIgACgCCCEIIAMhBANAAn8gAiAI.RgRAQQAhByAIDAELIAAgAkEBaiIDNgIEIAItAAAhByADCyECIAAgBEEIaiIDNgIUIAAgACgCECAHQRggBGt0ciIHNgIQIAMhBCADQQdIDQALCyAAIANBeWo2.AhQgACAHQQd0NgIQQQAhAiAHQRl2QQtqIgQgC0siAw0FQQAgBCADGyAGaiEGDAELIARBbWpBAUsNAyAAKAIUIQICfyAEQRNGBEACQCACQQJOBEAgACgCECEH.DAELIAAoAgQhAyAAKAIIIQggAiEEA0ACfyADIAhGBEBBACEHIAgMAQsgACADQQFqIgI2AgQgAy0AACEHIAILIQMgACAEQQhqIgI2AhQgACAAKAIQIAdBGCAE.a3RyIgc2AhAgAiEEIAJBAkgNAAsLIAAgB0ECdDYCECACQX5qIQJBAyEEIAdBHnYMAQsCQCACQQZOBEAgACgCECEHDAELIAAoAgQhAyAAKAIIIQggAiEEA0AC.fyADIAhGBEBBACEHIAgMAQsgACADQQFqIgI2AgQgAy0AACEHIAILIQMgACAEQQhqIgI2AhQgACAAKAIQIAdBGCAEa3RyIgc2AhAgAiEEIAJBBkgNAAsLIAAg.B0EGdDYCECACQXpqIQJBByEEIAdBGnYLIQMgACACNgIUQQAhAiAGRQ0EIAMgBGoiCCALSw0EIAEoAgggBkF/aiIDTQRAIAVBtgg2AiAgBUHOBDYCJCAFQasN.NgIoIAVB8ABqIAVBIGoQAyAFQfAAahAECyAKKAIAIANqLQAAIgRFDQQgBiAGIAhqIgNPDQADQCABKAIIIAZNBEAgBUG2CDYCECAFQc4ENgIUIAVBqw02Ahgg.BUHwAGogBUEQahADIAVB8ABqEAQLIAooAgAgBmogBDoAACAGQQFqIgYgA0cNAAsgAyEGCyAJIAZLDQALIAYgCUcNAiABEB0hAgwCCyABQQE6ABAMAgsgBUG2.CDYCMCAFQaYUNgI0IAVBxQw2AjggBUHwAGogBUEwahADIAVB8ABqEAQLIAVB2ABqEAcLIAVB8ARqJAAgAgtKAQF/QcAjKAIAIgEgAGoiAEF/TARAQfgeQTA2.AgBBfw8LAkAgAD8AQRB0TQ0AIAAQAQ0AQfgeQTA2AgBBfw8LQcAjIAA2AgAgAQu/AgEBfwJAIABFDQAgAUHKAEkNACACRQ0AIAIoAgBBKEcNACAALQABIAAt.AABBCHRyQfiQAUcNACAALQADIAAtAAJBCHRyQcoASQ0AIAAoAAYiA0EYdCADQQh0QYCA/AdxciADQQh2QYD+A3EgA0EYdnJyIAFLDQAgAiAALQANIAAtAAxB.CHRyNgIEIAIgAC0ADyAALQAOQQh0cjYCCCACIAAtABA2AgwgAiAALQARNgIQIAIgADEAEjcDICACIAAtABIiAUELTUEAQQEgAXRBgRxxGwR/QQgFQQhBECAB.QQ1GGws2AhQgAiAAKAAZIgFBGHQgAUEIdEGAgPwHcXIgAUEIdkGA/gNxIAFBGHZycjYCGCACIAAoAB0iAEEYdCAAQQh0QYCA/AdxciAAQQh2QYD+A3EgAEEY.dnJyNgIcCwt3AQF/IwBBgAJrIgUkAAJAIAIgA0wNACAEQYDABHENACAFIAEgAiADayIEQYACIARBgAJJIgEbEAggACAFIAEEfyAEBSACIANrIQEDQCAAIAVB.gAIQDSAEQYB+aiIEQf8BSw0ACyABQf8BcQsQDQsgBUGAAmokAAsXACAALQAAQSBxRQRAIAEgAiAAEBMaCwv/AwECfyACQYDAAE8EQCAAIAEgAhAAGg8LIAAg.AmohAwJAIAAgAXNBA3FFBEACQCACQQFIBEAgACECDAELIABBA3FFBEAgACECDAELIAAhAgNAIAIgAS0AADoAACABQQFqIQEgAkEBaiICIANPDQEgAkEDcQ0A.CwsCQCADQXxxIgBBwABJDQAgAiAAQUBqIgRLDQADQCACIAEoAgA2AgAgAiABKAIENgIEIAIgASgCCDYCCCACIAEoAgw2AgwgAiABKAIQNgIQIAIgASgCFDYC.FCACIAEoAhg2AhggAiABKAIcNgIcIAIgASgCIDYCICACIAEoAiQ2AiQgAiABKAIoNgIoIAIgASgCLDYCLCACIAEoAjA2AjAgAiABKAI0NgI0IAIgASgCODYC.OCACIAEoAjw2AjwgAUFAayEBIAJBQGsiAiAETQ0ACwsgAiAATw0BA0AgAiABKAIANgIAIAFBBGohASACQQRqIgIgAEkNAAsMAQsgA0EESQRAIAAhAgwBCyAD.QXxqIgQgAEkEQCAAIQIMAQsgACECA0AgAiABLQAAOgAAIAIgAS0AAToAASACIAEtAAI6AAIgAiABLQADOgADIAFBBGohASACQQRqIgIgBE0NAAsLIAIgA0kE.QANAIAIgAS0AADoAACABQQFqIQEgAkEBaiICIANHDQALCwvILQELfyMAQRBrIgskAAJAAkACQAJAAkACQAJAAkACQAJAAkAgAEH0AU0EQEG8HygCACIGQRAg.AEELakF4cSAAQQtJGyIFQQN2IgB2IgFBA3EEQCABQX9zQQFxIABqIgJBA3QiBEHsH2ooAgAiAUEIaiEAAkAgASgCCCIDIARB5B9qIgRGBEBBvB8gBkF+IAJ3.cTYCAAwBC0HMHygCABogAyAENgIMIAQgAzYCCAsgASACQQN0IgJBA3I2AgQgASACaiIBIAEoAgRBAXI2AgQMDAsgBUHEHygCACIITQ0BIAEEQAJAQQIgAHQi.AkEAIAJrciABIAB0cSIAQQAgAGtxQX9qIgAgAEEMdkEQcSIAdiIBQQV2QQhxIgIgAHIgASACdiIAQQJ2QQRxIgFyIAAgAXYiAEEBdkECcSIBciAAIAF2IgBB.AXZBAXEiAXIgACABdmoiAkEDdCIDQewfaigCACIBKAIIIgAgA0HkH2oiA0YEQEG8HyAGQX4gAndxIgY2AgAMAQtBzB8oAgAaIAAgAzYCDCADIAA2AggLIAFB.CGohACABIAVBA3I2AgQgASAFaiIHIAJBA3QiAiAFayIDQQFyNgIEIAEgAmogAzYCACAIBEAgCEEDdiIEQQN0QeQfaiEBQdAfKAIAIQICfyAGQQEgBHQiBHFF.BEBBvB8gBCAGcjYCACABDAELIAEoAggLIQQgASACNgIIIAQgAjYCDCACIAE2AgwgAiAENgIIC0HQHyAHNgIAQcQfIAM2AgAMDAtBwB8oAgAiCkUNASAKQQAg.CmtxQX9qIgAgAEEMdkEQcSIAdiIBQQV2QQhxIgIgAHIgASACdiIAQQJ2QQRxIgFyIAAgAXYiAEEBdkECcSIBciAAIAF2IgBBAXZBAXEiAXIgACABdmpBAnRB.7CFqKAIAIgEoAgRBeHEgBWshAyABIQIDQAJAIAIoAhAiAEUEQCACKAIUIgBFDQELIAAoAgRBeHEgBWsiAiADIAIgA0kiAhshAyAAIAEgAhshASAAIQIMAQsL.IAEoAhghCSABIAEoAgwiBEcEQEHMHygCACABKAIIIgBNBEAgACgCDBoLIAAgBDYCDCAEIAA2AggMCwsgAUEUaiICKAIAIgBFBEAgASgCECIARQ0DIAFBEGoh.AgsDQCACIQcgACIEQRRqIgIoAgAiAA0AIARBEGohAiAEKAIQIgANAAsgB0EANgIADAoLQX8hBSAAQb9/Sw0AIABBC2oiAEF4cSEFQcAfKAIAIgdFDQBBACAF.ayECAkACQAJAAn9BACAAQQh2IgBFDQAaQR8gBUH///8HSw0AGiAAIABBgP4/akEQdkEIcSIAdCIBIAFBgOAfakEQdkEEcSIBdCIDIANBgIAPakEQdkECcSID.dEEPdiAAIAFyIANyayIAQQF0IAUgAEEVanZBAXFyQRxqCyIIQQJ0QewhaigCACIDRQRAQQAhAAwBCyAFQQBBGSAIQQF2ayAIQR9GG3QhAUEAIQADQAJAIAMo.AgRBeHEgBWsiBiACTw0AIAMhBCAGIgINAEEAIQIgAyEADAMLIAAgAygCFCIGIAYgAyABQR12QQRxaigCECIDRhsgACAGGyEAIAEgA0EAR3QhASADDQALCyAA.IARyRQRAQQIgCHQiAEEAIABrciAHcSIARQ0DIABBACAAa3FBf2oiACAAQQx2QRBxIgB2IgFBBXZBCHEiAyAAciABIAN2IgBBAnZBBHEiAXIgACABdiIAQQF2.QQJxIgFyIAAgAXYiAEEBdkEBcSIBciAAIAF2akECdEHsIWooAgAhAAsgAEUNAQsDQCAAKAIEQXhxIAVrIgMgAkkhASADIAIgARshAiAAIAQgARshBCAAKAIQ.IgEEfyABBSAAKAIUCyIADQALCyAERQ0AIAJBxB8oAgAgBWtPDQAgBCgCGCEIIAQgBCgCDCIBRwRAQcwfKAIAIAQoAggiAE0EQCAAKAIMGgsgACABNgIMIAEg.ADYCCAwJCyAEQRRqIgMoAgAiAEUEQCAEKAIQIgBFDQMgBEEQaiEDCwNAIAMhBiAAIgFBFGoiAygCACIADQAgAUEQaiEDIAEoAhAiAA0ACyAGQQA2AgAMCAtB.xB8oAgAiASAFTwRAQdAfKAIAIQACQCABIAVrIgJBEE8EQEHEHyACNgIAQdAfIAAgBWoiAzYCACADIAJBAXI2AgQgACABaiACNgIAIAAgBUEDcjYCBAwBC0HQ.H0EANgIAQcQfQQA2AgAgACABQQNyNgIEIAAgAWoiASABKAIEQQFyNgIECyAAQQhqIQAMCgtByB8oAgAiASAFSwRAQcgfIAEgBWsiATYCAEHUH0HUHygCACIA.IAVqIgI2AgAgAiABQQFyNgIEIAAgBUEDcjYCBCAAQQhqIQAMCgtBACEAIAVBL2oiBAJ/QZQjKAIABEBBnCMoAgAMAQtBoCNCfzcCAEGYI0KAoICAgIAENwIA.QZQjIAtBDGpBcHFB2KrVqgVzNgIAQagjQQA2AgBB+CJBADYCAEGAIAsiAmoiBkEAIAJrIgdxIgIgBU0NCUH0IigCACIDBEBB7CIoAgAiCCACaiIJIAhNDQog.CSADSw0KC0H4Ii0AAEEEcQ0EAkACQEHUHygCACIDBEBB/CIhAANAIAAoAgAiCCADTQRAIAggACgCBGogA0sNAwsgACgCCCIADQALC0EAEAoiAUF/Rg0FIAIh.BkGYIygCACIAQX9qIgMgAXEEQCACIAFrIAEgA2pBACAAa3FqIQYLIAYgBU0NBSAGQf7///8HSw0FQfQiKAIAIgAEQEHsIigCACIDIAZqIgcgA00NBiAHIABL.DQYLIAYQCiIAIAFHDQEMBwsgBiABayAHcSIGQf7///8HSw0EIAYQCiIBIAAoAgAgACgCBGpGDQMgASEACyAAIQECQCAFQTBqIAZNDQAgBkH+////B0sNACAB.QX9GDQBBnCMoAgAiACAEIAZrakEAIABrcSIAQf7///8HSw0GIAAQCkF/RwRAIAAgBmohBgwHC0EAIAZrEAoaDAQLIAFBf0cNBQwDC0EAIQQMBwtBACEBDAUL.IAFBf0cNAgtB+CJB+CIoAgBBBHI2AgALIAJB/v///wdLDQEgAhAKIgFBABAKIgBPDQEgAUF/Rg0BIABBf0YNASAAIAFrIgYgBUEoak0NAQtB7CJB7CIoAgAg.BmoiADYCACAAQfAiKAIASwRAQfAiIAA2AgALAkACQAJAQdQfKAIAIgMEQEH8IiEAA0AgASAAKAIAIgIgACgCBCIEakYNAiAAKAIIIgANAAsMAgtBzB8oAgAi.AEEAIAEgAE8bRQRAQcwfIAE2AgALQQAhAEGAIyAGNgIAQfwiIAE2AgBB3B9BfzYCAEHgH0GUIygCADYCAEGII0EANgIAA0AgAEEDdCICQewfaiACQeQfaiID.NgIAIAJB8B9qIAM2AgAgAEEBaiIAQSBHDQALQcgfIAZBWGoiAEF4IAFrQQdxQQAgAUEIakEHcRsiAmsiAzYCAEHUHyABIAJqIgI2AgAgAiADQQFyNgIEIAAg.AWpBKDYCBEHYH0GkIygCADYCAAwCCyAALQAMQQhxDQAgASADTQ0AIAIgA0sNACAAIAQgBmo2AgRB1B8gA0F4IANrQQdxQQAgA0EIakEHcRsiAGoiATYCAEHI.H0HIHygCACAGaiICIABrIgA2AgAgASAAQQFyNgIEIAIgA2pBKDYCBEHYH0GkIygCADYCAAwBCyABQcwfKAIAIgRJBEBBzB8gATYCACABIQQLIAEgBmohAkH8.IiEAAkACQAJAAkACQAJAA0AgAiAAKAIARwRAIAAoAggiAA0BDAILCyAALQAMQQhxRQ0BC0H8IiEAA0AgACgCACICIANNBEAgAiAAKAIEaiIEIANLDQMLIAAo.AgghAAwAAAsACyAAIAE2AgAgACAAKAIEIAZqNgIEIAFBeCABa0EHcUEAIAFBCGpBB3EbaiIJIAVBA3I2AgQgAkF4IAJrQQdxQQAgAkEIakEHcRtqIgEgCWsg.BWshACAFIAlqIQcgASADRgRAQdQfIAc2AgBByB9ByB8oAgAgAGoiADYCACAHIABBAXI2AgQMAwsgAUHQHygCAEYEQEHQHyAHNgIAQcQfQcQfKAIAIABqIgA2.AgAgByAAQQFyNgIEIAAgB2ogADYCAAwDCyABKAIEIgJBA3FBAUYEQCACQXhxIQoCQCACQf8BTQRAIAEoAggiAyACQQN2IgRBA3RB5B9qRxogAyABKAIMIgJG.BEBBvB9BvB8oAgBBfiAEd3E2AgAMAgsgAyACNgIMIAIgAzYCCAwBCyABKAIYIQgCQCABIAEoAgwiBkcEQCAEIAEoAggiAk0EQCACKAIMGgsgAiAGNgIMIAYg.AjYCCAwBCwJAIAFBFGoiAygCACIFDQAgAUEQaiIDKAIAIgUNAEEAIQYMAQsDQCADIQIgBSIGQRRqIgMoAgAiBQ0AIAZBEGohAyAGKAIQIgUNAAsgAkEANgIA.CyAIRQ0AAkAgASABKAIcIgJBAnRB7CFqIgMoAgBGBEAgAyAGNgIAIAYNAUHAH0HAHygCAEF+IAJ3cTYCAAwCCyAIQRBBFCAIKAIQIAFGG2ogBjYCACAGRQ0B.CyAGIAg2AhggASgCECICBEAgBiACNgIQIAIgBjYCGAsgASgCFCICRQ0AIAYgAjYCFCACIAY2AhgLIAEgCmohASAAIApqIQALIAEgASgCBEF+cTYCBCAHIABB.AXI2AgQgACAHaiAANgIAIABB/wFNBEAgAEEDdiIBQQN0QeQfaiEAAn9BvB8oAgAiAkEBIAF0IgFxRQRAQbwfIAEgAnI2AgAgAAwBCyAAKAIICyEBIAAgBzYC.CCABIAc2AgwgByAANgIMIAcgATYCCAwDCyAHAn9BACAAQQh2IgFFDQAaQR8gAEH///8HSw0AGiABIAFBgP4/akEQdkEIcSIBdCICIAJBgOAfakEQdkEEcSIC.dCIDIANBgIAPakEQdkECcSIDdEEPdiABIAJyIANyayIBQQF0IAAgAUEVanZBAXFyQRxqCyIBNgIcIAdCADcCECABQQJ0QewhaiECAkBBwB8oAgAiA0EBIAF0.IgRxRQRAQcAfIAMgBHI2AgAgAiAHNgIADAELIABBAEEZIAFBAXZrIAFBH0YbdCEDIAIoAgAhAQNAIAEiAigCBEF4cSAARg0DIANBHXYhASADQQF0IQMgAiAB.QQRxaiIEKAIQIgENAAsgBCAHNgIQCyAHIAI2AhggByAHNgIMIAcgBzYCCAwCC0HIHyAGQVhqIgBBeCABa0EHcUEAIAFBCGpBB3EbIgJrIgc2AgBB1B8gASAC.aiICNgIAIAIgB0EBcjYCBCAAIAFqQSg2AgRB2B9BpCMoAgA2AgAgAyAEQScgBGtBB3FBACAEQVlqQQdxG2pBUWoiACAAIANBEGpJGyICQRs2AgQgAkGEIykC.ADcCECACQfwiKQIANwIIQYQjIAJBCGo2AgBBgCMgBjYCAEH8IiABNgIAQYgjQQA2AgAgAkEYaiEAA0AgAEEHNgIEIABBCGohASAAQQRqIQAgASAESQ0ACyAC.IANGDQMgAiACKAIEQX5xNgIEIAMgAiADayIEQQFyNgIEIAIgBDYCACAEQf8BTQRAIARBA3YiAUEDdEHkH2ohAAJ/QbwfKAIAIgJBASABdCIBcUUEQEG8HyAB.IAJyNgIAIAAMAQsgACgCCAshASAAIAM2AgggASADNgIMIAMgADYCDCADIAE2AggMBAsgA0IANwIQIAMCf0EAIARBCHYiAEUNABpBHyAEQf///wdLDQAaIAAg.AEGA/j9qQRB2QQhxIgB0IgEgAUGA4B9qQRB2QQRxIgF0IgIgAkGAgA9qQRB2QQJxIgJ0QQ92IAAgAXIgAnJrIgBBAXQgBCAAQRVqdkEBcXJBHGoLIgA2Ahwg.AEECdEHsIWohAQJAQcAfKAIAIgJBASAAdCIGcUUEQEHAHyACIAZyNgIAIAEgAzYCACADIAE2AhgMAQsgBEEAQRkgAEEBdmsgAEEfRht0IQAgASgCACEBA0Ag.ASICKAIEQXhxIARGDQQgAEEddiEBIABBAXQhACACIAFBBHFqIgYoAhAiAQ0ACyAGIAM2AhAgAyACNgIYCyADIAM2AgwgAyADNgIIDAMLIAIoAggiACAHNgIM.IAIgBzYCCCAHQQA2AhggByACNgIMIAcgADYCCAsgCUEIaiEADAULIAIoAggiACADNgIMIAIgAzYCCCADQQA2AhggAyACNgIMIAMgADYCCAtByB8oAgAiACAF.TQ0AQcgfIAAgBWsiATYCAEHUH0HUHygCACIAIAVqIgI2AgAgAiABQQFyNgIEIAAgBUEDcjYCBCAAQQhqIQAMAwtB+B5BMDYCAEEAIQAMAgsCQCAIRQ0AAkAg.BCgCHCIAQQJ0QewhaiIDKAIAIARGBEAgAyABNgIAIAENAUHAHyAHQX4gAHdxIgc2AgAMAgsgCEEQQRQgCCgCECAERhtqIAE2AgAgAUUNAQsgASAINgIYIAQo.AhAiAARAIAEgADYCECAAIAE2AhgLIAQoAhQiAEUNACABIAA2AhQgACABNgIYCwJAIAJBD00EQCAEIAIgBWoiAEEDcjYCBCAAIARqIgAgACgCBEEBcjYCBAwB.CyAEIAVBA3I2AgQgBCAFaiIDIAJBAXI2AgQgAiADaiACNgIAIAJB/wFNBEAgAkEDdiIBQQN0QeQfaiEAAn9BvB8oAgAiAkEBIAF0IgFxRQRAQbwfIAEgAnI2.AgAgAAwBCyAAKAIICyEBIAAgAzYCCCABIAM2AgwgAyAANgIMIAMgATYCCAwBCyADAn9BACACQQh2IgBFDQAaQR8gAkH///8HSw0AGiAAIABBgP4/akEQdkEI.cSIAdCIBIAFBgOAfakEQdkEEcSIBdCIFIAVBgIAPakEQdkECcSIFdEEPdiAAIAFyIAVyayIAQQF0IAIgAEEVanZBAXFyQRxqCyIANgIcIANCADcCECAAQQJ0.QewhaiEBAkACQCAHQQEgAHQiBXFFBEBBwB8gBSAHcjYCACABIAM2AgAMAQsgAkEAQRkgAEEBdmsgAEEfRht0IQAgASgCACEFA0AgBSIBKAIEQXhxIAJGDQIg.AEEddiEFIABBAXQhACABIAVBBHFqIgYoAhAiBQ0ACyAGIAM2AhALIAMgATYCGCADIAM2AgwgAyADNgIIDAELIAEoAggiACADNgIMIAEgAzYCCCADQQA2Ahgg.AyABNgIMIAMgADYCCAsgBEEIaiEADAELAkAgCUUNAAJAIAEoAhwiAEECdEHsIWoiAigCACABRgRAIAIgBDYCACAEDQFBwB8gCkF+IAB3cTYCAAwCCyAJQRBB.FCAJKAIQIAFGG2ogBDYCACAERQ0BCyAEIAk2AhggASgCECIABEAgBCAANgIQIAAgBDYCGAsgASgCFCIARQ0AIAQgADYCFCAAIAQ2AhgLAkAgA0EPTQRAIAEg.AyAFaiIAQQNyNgIEIAAgAWoiACAAKAIEQQFyNgIEDAELIAEgBUEDcjYCBCABIAVqIgQgA0EBcjYCBCADIARqIAM2AgAgCARAIAhBA3YiBUEDdEHkH2ohAEHQ.HygCACECAn9BASAFdCIFIAZxRQRAQbwfIAUgBnI2AgAgAAwBCyAAKAIICyEFIAAgAjYCCCAFIAI2AgwgAiAANgIMIAIgBTYCCAtB0B8gBDYCAEHEHyADNgIA.CyABQQhqIQALIAtBEGokACAAC/4BAQJ/IwBBsARrIgEkAAJAIABBA2pBfHEiAEEEIAAbIgJBgYD8/wdPBEAgAUG2CDYCACABQckPNgIEIAFBowo2AgggAUEw.aiABEAMgAUEwahAEQQAhAAwBC0HQEygCACEAIAEgAjYCLEEAIAIgAUEsakEBQeAWKAIAIAARAAAiAEEAIAEoAiwgAk8bRQRAIAFBtgg2AhAgAUHJDzYCFCAB.Qb0KNgIYIAFBMGogAUEQahADIAFBMGoQBEEAIQAMAQsgAEEHcUUNACABQbYINgIgIAFB4Q82AiQgAUHYCjYCKCABQTBqIAFBIGoQAyABQTBqEAQLIAFBsARq.JAAgAAuMDQEHfwJAIABFDQAgAEF4aiIDIABBfGooAgAiAUF4cSIAaiEFAkAgAUEBcQ0AIAFBA3FFDQEgAyADKAIAIgJrIgNBzB8oAgAiBEkNASAAIAJqIQAg.A0HQHygCAEcEQCACQf8BTQRAIAMoAggiBCACQQN2IgJBA3RB5B9qRxogBCADKAIMIgFGBEBBvB9BvB8oAgBBfiACd3E2AgAMAwsgBCABNgIMIAEgBDYCCAwC.CyADKAIYIQYCQCADIAMoAgwiAUcEQCAEIAMoAggiAk0EQCACKAIMGgsgAiABNgIMIAEgAjYCCAwBCwJAIANBFGoiAigCACIEDQAgA0EQaiICKAIAIgQNAEEA.IQEMAQsDQCACIQcgBCIBQRRqIgIoAgAiBA0AIAFBEGohAiABKAIQIgQNAAsgB0EANgIACyAGRQ0BAkAgAyADKAIcIgJBAnRB7CFqIgQoAgBGBEAgBCABNgIA.IAENAUHAH0HAHygCAEF+IAJ3cTYCAAwDCyAGQRBBFCAGKAIQIANGG2ogATYCACABRQ0CCyABIAY2AhggAygCECICBEAgASACNgIQIAIgATYCGAsgAygCFCIC.RQ0BIAEgAjYCFCACIAE2AhgMAQsgBSgCBCIBQQNxQQNHDQBBxB8gADYCACAFIAFBfnE2AgQgAyAAQQFyNgIEIAAgA2ogADYCAA8LIAUgA00NACAFKAIEIgFB.AXFFDQACQCABQQJxRQRAIAVB1B8oAgBGBEBB1B8gAzYCAEHIH0HIHygCACAAaiIANgIAIAMgAEEBcjYCBCADQdAfKAIARw0DQcQfQQA2AgBB0B9BADYCAA8L.IAVB0B8oAgBGBEBB0B8gAzYCAEHEH0HEHygCACAAaiIANgIAIAMgAEEBcjYCBCAAIANqIAA2AgAPCyABQXhxIABqIQACQCABQf8BTQRAIAUoAgwhAiAFKAII.IgQgAUEDdiIBQQN0QeQfaiIHRwRAQcwfKAIAGgsgAiAERgRAQbwfQbwfKAIAQX4gAXdxNgIADAILIAIgB0cEQEHMHygCABoLIAQgAjYCDCACIAQ2AggMAQsg.BSgCGCEGAkAgBSAFKAIMIgFHBEBBzB8oAgAgBSgCCCICTQRAIAIoAgwaCyACIAE2AgwgASACNgIIDAELAkAgBUEUaiICKAIAIgQNACAFQRBqIgIoAgAiBA0A.QQAhAQwBCwNAIAIhByAEIgFBFGoiAigCACIEDQAgAUEQaiECIAEoAhAiBA0ACyAHQQA2AgALIAZFDQACQCAFIAUoAhwiAkECdEHsIWoiBCgCAEYEQCAEIAE2.AgAgAQ0BQcAfQcAfKAIAQX4gAndxNgIADAILIAZBEEEUIAYoAhAgBUYbaiABNgIAIAFFDQELIAEgBjYCGCAFKAIQIgIEQCABIAI2AhAgAiABNgIYCyAFKAIU.IgJFDQAgASACNgIUIAIgATYCGAsgAyAAQQFyNgIEIAAgA2ogADYCACADQdAfKAIARw0BQcQfIAA2AgAPCyAFIAFBfnE2AgQgAyAAQQFyNgIEIAAgA2ogADYC.AAsgAEH/AU0EQCAAQQN2IgFBA3RB5B9qIQACf0G8HygCACICQQEgAXQiAXFFBEBBvB8gASACcjYCACAADAELIAAoAggLIQIgACADNgIIIAIgAzYCDCADIAA2.AgwgAyACNgIIDwsgA0IANwIQIAMCf0EAIABBCHYiAUUNABpBHyAAQf///wdLDQAaIAEgAUGA/j9qQRB2QQhxIgF0IgIgAkGA4B9qQRB2QQRxIgJ0IgQgBEGA.gA9qQRB2QQJxIgR0QQ92IAEgAnIgBHJrIgFBAXQgACABQRVqdkEBcXJBHGoLIgI2AhwgAkECdEHsIWohAQJAQcAfKAIAIgRBASACdCIHcUUEQEHAHyAEIAdy.NgIAIAEgAzYCACADIAM2AgwgAyABNgIYIAMgAzYCCAwBCyAAQQBBGSACQQF2ayACQR9GG3QhAiABKAIAIQECQANAIAEiBCgCBEF4cSAARg0BIAJBHXYhASAC.QQF0IQIgBCABQQRxaiIHQRBqKAIAIgENAAsgByADNgIQIAMgAzYCDCADIAQ2AhggAyADNgIIDAELIAQoAggiACADNgIMIAQgAzYCCCADQQA2AhggAyAENgIM.IAMgADYCCAtB3B9B3B8oAgBBf2oiADYCACAADQBBhCMhAwNAIAMoAgAiAEEIaiEDIAANAAtB3B9BfzYCAAsLxBECEH8BfiMAQdAAayIFJAAgBUGACDYCTCAF.QTdqIRMgBUE4aiERAkACQANAAkAgDkEASA0AIARB/////wcgDmtKBEBB+B5BPTYCAEF/IQ4MAQsgBCAOaiEOCyAFKAJMIgohBAJAAkACQAJ/AkACQAJAAkAC.QAJAAkACQAJAIAotAAAiBgRAA0ACQAJAAkAgBkH/AXEiB0UEQCAEIQYMAQsgB0ElRw0BIAQhBgNAIAQtAAFBJUcNASAFIARBAmoiBzYCTCAGQQFqIQYgBC0A.AiEJIAchBCAJQSVGDQALCyAGIAprIQQgAARAIAAgCiAEEA0LIAQNEUF/IQ9BASEGIAUoAkwhBAJAIAUoAkwsAAFBUGpBCk8NACAELQACQSRHDQAgBCwAAUFQ.aiEPQQEhEkEDIQYLIAUgBCAGaiIENgJMQQAhBgJAIAQsAAAiEEFgaiIJQR9LBEAgBCEHDAELIAQhB0EBIAl0IgxBidEEcUUNAANAIAUgBEEBaiIHNgJMIAYg.DHIhBiAELAABIhBBYGoiCUEfSw0BIAchBEEBIAl0IgxBidEEcQ0ACwsCQCAQQSpGBEAgBQJ/AkAgBywAAUFQakEKTw0AIAUoAkwiBC0AAkEkRw0AIAQsAAFB.AnQgA2pBwH5qQQo2AgAgBCwAAUEDdCACakGAfWooAgAhDUEBIRIgBEEDagwBCyASDRVBACESQQAhDSAABEAgASABKAIAIgRBBGo2AgAgBCgCACENCyAFKAJM.QQFqCyIENgJMIA1Bf0oNAUEAIA1rIQ0gBkGAwAByIQYMAQsgBUHMAGoQGSINQQBIDRMgBSgCTCEEC0F/IQgCQCAELQAAQS5HDQAgBC0AAUEqRgRAAkAgBCwA.AkFQakEKTw0AIAUoAkwiBC0AA0EkRw0AIAQsAAJBAnQgA2pBwH5qQQo2AgAgBCwAAkEDdCACakGAfWooAgAhCCAFIARBBGoiBDYCTAwCCyASDRQgAAR/IAEg.ASgCACIEQQRqNgIAIAQoAgAFQQALIQggBSAFKAJMQQJqIgQ2AkwMAQsgBSAEQQFqNgJMIAVBzABqEBkhCCAFKAJMIQQLQQAhBwNAIAchDEF/IQsgBCwAAEG/.f2pBOUsNFCAFIARBAWoiEDYCTCAELAAAIQcgECEEIAcgDEE6bGpBnw5qLQAAIgdBf2pBCEkNAAsgB0UNEwJAAkACQCAHQRNGBEAgD0F/TA0BDBcLIA9BAEgN.ASADIA9BAnRqIAc2AgAgBSACIA9BA3RqKQMANwNAC0EAIQQgAEUNEwwBCyAARQ0RIAVBQGsgByABEBggBSgCTCEQCyAGQf//e3EiCSAGIAZBgMAAcRshBkEA.IQtByA4hDyARIQcgEEF/aiwAACIEQV9xIAQgBEEPcUEDRhsgBCAMGyIEQah/aiIQQSBNDQECQAJ/AkACQCAEQb9/aiIJQQZLBEAgBEHTAEcNFCAIRQ0BIAUo.AkAMAwsgCUEBaw4DEwETCAtBACEEIABBICANQQAgBhAMDAILIAVBADYCDCAFIAUpA0A+AgggBSAFQQhqNgJAQX8hCCAFQQhqCyEHQQAhBAJAA0AgBygCACIJ.RQ0BAkAgBUEEaiAJEBoiCkEASCIJDQAgCiAIIARrSw0AIAdBBGohByAIIAQgCmoiBEsNAQwCCwtBfyELIAkNFQsgAEEgIA0gBCAGEAwgBEUEQEEAIQQMAQtB.ACEMIAUoAkAhBwNAIAcoAgAiCUUNASAFQQRqIAkQGiIJIAxqIgwgBEoNASAAIAVBBGogCRANIAdBBGohByAMIARJDQALCyAAQSAgDSAEIAZBgMAAcxAMIA0g.BCANIARKGyEEDBELIAUgBEEBaiIHNgJMIAQtAAEhBiAHIQQMAQsLIBBBAWsOHwwMDAwMDAwMAQwDBAEBAQwEDAwMDAgFBgwMAgwJDAwHCyAOIQsgAA0PIBJF.DQxBASEEA0AgAyAEQQJ0aigCACIABEAgAiAEQQN0aiAAIAEQGEEBIQsgBEEBaiIEQQpHDQEMEQsLQQEhCyAEQQlLDQ9BfyELIAMgBEECdGooAgANDwNAIARB.AWoiBEEKRwRAIAMgBEECdGooAgBFDQELC0F/QQEgBEEKSRshCwwPCyAAIAUrA0AgDSAIIAYgBEEAEQIAIQQMDAsgBSgCQCIEQdIOIAQbIgogCBAiIgQgCCAK.aiAEGyEHIAkhBiAEIAprIAggBBshCAwJCyAFIAUpA0A8ADdBASEIIBMhCiAJIQYMCAsgBSkDQCIUQn9XBEAgBUIAIBR9IhQ3A0BBASELQcgODAYLIAZBgBBx.BEBBASELQckODAYLQcoOQcgOIAZBAXEiCxsMBQsgBSkDQCARECkhCiAGQQhxRQ0FIAggESAKayIEQQFqIAggBEobIQgMBQsgCEEIIAhBCEsbIQggBkEIciEG.QfgAIQQLIAUpA0AgESAEQSBxECghCiAGQQhxRQ0DIAUpA0BQDQMgBEEEdkHIDmohD0ECIQsMAwtBACEEIAxB/wFxIgdBB0sNBQJAAkACQAJAAkACQAJAIAdB.AWsOBwECAwQMBQYACyAFKAJAIA42AgAMCwsgBSgCQCAONgIADAoLIAUoAkAgDqw3AwAMCQsgBSgCQCAOOwEADAgLIAUoAkAgDjoAAAwHCyAFKAJAIA42AgAM.BgsgBSgCQCAOrDcDAAwFCyAFKQNAIRRByA4LIQ8gFCARECchCgsgBkH//3txIAYgCEF/ShshBiAFKQNAIRQCfwJAIAgNACAUUEUNACARIQpBAAwBCyAIIBRQ.IBEgCmtqIgQgCCAEShsLIQgLIABBICALIAcgCmsiCSAIIAggCUgbIgdqIgwgDSANIAxIGyIEIAwgBhAMIAAgDyALEA0gAEEwIAQgDCAGQYCABHMQDCAAQTAg.ByAJQQAQDCAAIAogCRANIABBICAEIAwgBkGAwABzEAwMAQsLQQAhCwwBC0F/IQsLIAVB0ABqJAAgCwu1AQEEfwJAIAIoAhAiAwR/IAMFIAIQFw0BIAIoAhAL.IAIoAhQiBWsgAUkEQCACIAAgASACKAIkEQEADwsCQCACLABLQQBIDQAgASEEA0AgBCIDRQ0BIAAgA0F/aiIEai0AAEEKRw0ACyACIAAgAyACKAIkEQEAIgQg.A0kNASABIANrIQEgACADaiEAIAIoAhQhBSADIQYLIAUgACABEA4gAiACKAIUIAFqNgIUIAEgBmohBAsgBAvrAgEDfyMAQcAEayIBJAACQCAAKAKoASICRQ0A.AkAgAkF8aigCACIDBEAgAyACQXhqKAIAQX9zRg0BCyABQbYINgIwIAFB2wI2AjQgAUHVDTYCOCABQUBrIAFBMGoQAyABQUBrEAQLIAJBeGoiAkEHcQRAIAFB.tgg2AiAgAUHJDzYCJCABQcILNgIoIAFBQGsgAUEgahADIAFBQGsQBAwBCyACQQBBAEEBQeAWKAIAQdATKAIAEQAAGgsCQCAAKAKwASICRQ0AAkAgAkF8aigC.ACIDBEAgAyACQXhqKAIAQX9zRg0BCyABQbYINgIQIAFB2wI2AhQgAUHVDTYCGCABQUBrIAFBEGoQAyABQUBrEAQLIAJBeGoiAkEHcQRAIAFBtgg2AgAgAUHJ.DzYCBCABQcILNgIIIAFBQGsgARADIAFBQGsQBAwBCyACQQBBAEEBQeAWKAIAQdATKAIAEQAAGgsgAUHABGokACAAC4cMAQZ/IAAgAWohBQJAAkAgACgCBCIC.QQFxDQAgAkEDcUUNASAAKAIAIgMgAWohASAAIANrIgBB0B8oAgBHBEBBzB8oAgAhBCADQf8BTQRAIAAoAggiBCADQQN2IgNBA3RB5B9qRxogBCAAKAIMIgJG.BEBBvB9BvB8oAgBBfiADd3E2AgAMAwsgBCACNgIMIAIgBDYCCAwCCyAAKAIYIQYCQCAAIAAoAgwiAkcEQCAEIAAoAggiA00EQCADKAIMGgsgAyACNgIMIAIg.AzYCCAwBCwJAIABBFGoiAygCACIEDQAgAEEQaiIDKAIAIgQNAEEAIQIMAQsDQCADIQcgBCICQRRqIgMoAgAiBA0AIAJBEGohAyACKAIQIgQNAAsgB0EANgIA.CyAGRQ0BAkAgACAAKAIcIgNBAnRB7CFqIgQoAgBGBEAgBCACNgIAIAINAUHAH0HAHygCAEF+IAN3cTYCAAwDCyAGQRBBFCAGKAIQIABGG2ogAjYCACACRQ0C.CyACIAY2AhggACgCECIDBEAgAiADNgIQIAMgAjYCGAsgACgCFCIDRQ0BIAIgAzYCFCADIAI2AhgMAQsgBSgCBCICQQNxQQNHDQBBxB8gATYCACAFIAJBfnE2.AgQgACABQQFyNgIEIAUgATYCAA8LAkAgBSgCBCICQQJxRQRAIAVB1B8oAgBGBEBB1B8gADYCAEHIH0HIHygCACABaiIBNgIAIAAgAUEBcjYCBCAAQdAfKAIA.Rw0DQcQfQQA2AgBB0B9BADYCAA8LIAVB0B8oAgBGBEBB0B8gADYCAEHEH0HEHygCACABaiIBNgIAIAAgAUEBcjYCBCAAIAFqIAE2AgAPC0HMHygCACEDIAJB.eHEgAWohAQJAIAJB/wFNBEAgBSgCCCIEIAJBA3YiAkEDdEHkH2pHGiAEIAUoAgwiA0YEQEG8H0G8HygCAEF+IAJ3cTYCAAwCCyAEIAM2AgwgAyAENgIIDAEL.IAUoAhghBgJAIAUgBSgCDCICRwRAIAMgBSgCCCIDTQRAIAMoAgwaCyADIAI2AgwgAiADNgIIDAELAkAgBUEUaiIDKAIAIgQNACAFQRBqIgMoAgAiBA0AQQAh.AgwBCwNAIAMhByAEIgJBFGoiAygCACIEDQAgAkEQaiEDIAIoAhAiBA0ACyAHQQA2AgALIAZFDQACQCAFIAUoAhwiA0ECdEHsIWoiBCgCAEYEQCAEIAI2AgAg.Ag0BQcAfQcAfKAIAQX4gA3dxNgIADAILIAZBEEEUIAYoAhAgBUYbaiACNgIAIAJFDQELIAIgBjYCGCAFKAIQIgMEQCACIAM2AhAgAyACNgIYCyAFKAIUIgNF.DQAgAiADNgIUIAMgAjYCGAsgACABQQFyNgIEIAAgAWogATYCACAAQdAfKAIARw0BQcQfIAE2AgAPCyAFIAJBfnE2AgQgACABQQFyNgIEIAAgAWogATYCAAsg.AUH/AU0EQCABQQN2IgJBA3RB5B9qIQECf0G8HygCACIDQQEgAnQiAnFFBEBBvB8gAiADcjYCACABDAELIAEoAggLIQMgASAANgIIIAMgADYCDCAAIAE2Agwg.ACADNgIIDwsgAEIANwIQIAACf0EAIAFBCHYiAkUNABpBHyABQf///wdLDQAaIAIgAkGA/j9qQRB2QQhxIgJ0IgMgA0GA4B9qQRB2QQRxIgN0IgQgBEGAgA9q.QRB2QQJxIgR0QQ92IAIgA3IgBHJrIgJBAXQgASACQRVqdkEBcXJBHGoLIgM2AhwgA0ECdEHsIWohAgJAAkBBwB8oAgAiBEEBIAN0IgdxRQRAQcAfIAQgB3I2.AgAgAiAANgIAIAAgAjYCGAwBCyABQQBBGSADQQF2ayADQR9GG3QhAyACKAIAIQIDQCACIgQoAgRBeHEgAUYNAiADQR12IQIgA0EBdCEDIAQgAkEEcWoiB0EQ.aigCACICDQALIAcgADYCECAAIAQ2AhgLIAAgADYCDCAAIAA2AggPCyAEKAIIIgEgADYCDCAEIAA2AgggAEEANgIYIAAgBDYCDCAAIAE2AggLCzABAX8CQCAA.RQ0AIABBfGooAgAiAEEDcSIBQQFGDQAgAEF4cUEEQQggARtrDwtBAAtZAQF/IAAgAC0ASiIBQX9qIAFyOgBKIAAoAgAiAUEIcQRAIAAgAUEgcjYCAEF/Dwsg.AEIANwIEIAAgACgCLCIBNgIcIAAgATYCFCAAIAEgACgCMGo2AhBBAAujAgACQAJAIAFBFEsNACABQXdqIgFBCUsNAAJAAkACQAJAAkACQAJAAkAgAUEBaw4J.AQIJAwQFBgkHAAsgAiACKAIAIgFBBGo2AgAgACABKAIANgIADwsgAiACKAIAIgFBBGo2AgAgACABNAIANwMADwsgAiACKAIAIgFBBGo2AgAgACABNQIANwMA.DwsgAiACKAIAIgFBBGo2AgAgACABMgEANwMADwsgAiACKAIAIgFBBGo2AgAgACABMwEANwMADwsgAiACKAIAIgFBBGo2AgAgACABMAAANwMADwsgAiACKAIA.IgFBBGo2AgAgACABMQAANwMADwsgACACQQARDwALDwsgAiACKAIAQQdqQXhxIgFBCGo2AgAgACABKQMANwMAC0oBA38gACgCACwAAEFQakEKSQRAA0AgACgC.ACIBLAAAIQMgACABQQFqNgIAIAMgAkEKbGpBUGohAiABLAABQVBqQQpJDQALCyACCxEAIABFBEBBAA8LIAAgARAsC7QKARx/IwBB8ARrIgUkACAAQeABaiEO.IAAoAqQBIQ8CQCAAKALkASIMIANBAWpBfnEiFkEBdCIGTw0AAkAgACgC6AEgBk8NACAOIAYgDEEBaiAGRkEIEAYNACAAQQE6AOwBDAELIAAgBjYC5AELIAAo.AgwtABEEQCAEQQFqQX5xIRcgAEHwAGohGiAAQUBrIRggAEEoaiEbIABBEGohECACQQJ2IAZrQQJ0IRxBACEGQQAhDANAIBcEQCABIBRBAnRqKAIAIQtBACER.A0AgFgRAIBFBAXEhHSARIARJIRVBACESA0AgACgC5AEgEkEBdCIITQRAIAVBtgg2AlAgBUHOBDYCVCAFQasNNgJYIAVB8ABqIAVB0ABqEAMgBUHwAGoQBAsg.DigCACAIQQN0aiEHAkACQAJ/IB0EQCAHLwEADAELIAcgECAbEAUiAkECdiIJQQNxIAJBBHZBDHFyOwEAIAlBDHEgAkEDcXILIgJBA3EiCUEDSw0AAkACQAJA.IAlBAWsOAwEDAgALIBAgGBAFIAZqIgZBACAPIAYgD0kbayEGCyAHIAY7AQIMAgsgByAMOwECIAwhBgwBCyAHLwECIQYLIAAoAqQBIAZNBEAgBUG2CDYCQCAF.Qc4ENgJEIAVBqw02AkggBUHwAGogBUFAaxADIAVB8ABqEAQLIAUgACgCoAEgBkECdGooAgAiCTYCaCAQIBoQBSEeIAJBAnZBP3EiCgRAIBAgGBAFIAZqIgJB.ACAPIAIgD0kbayEGCyAAKALkASIHIAhBAXIiAk0EQCAFQbYINgIwIAVBzgQ2AjQgBUGrDTYCOCAFQfAAaiAFQTBqEAMgBUHwAGoQBCAAKALkASEHCyAOKAIA.IgggAkEDdCINai8BAiEMIBIgA0kgFXEhFSAHIAJNBH8gBUG2CDYCICAFQc4ENgIkIAVBqw02AiggBUHwAGogBUEgahADIAVB8ABqEAQgDigCAAUgCAsgDWog.BjsBAiAAKAKkASAGTQRAIAVBtgg2AhAgBUHOBDYCFCAFQasNNgIYIAVB8ABqIAVBEGoQAyAFQfAAahAECyAFIAAoAqABIAZBAnRqKAIAIgg2AmQgFQRAIApB.AXYhEyAIQf8BcSICQQRqIAlB/wFxIgdPIAdBA2ogAk9xIgIhB0EBIQoCQCACRQ0AA0BBAEEAIAIgBUHkAGogCmotAAAiAkEEaiAFQegAaiAKai0AACIHSRsg.B0EDaiACSRsiAkEARyEHIAJFDQEgCkEBaiIKQQNJDQALCyAJQRh2IR8gCUEQdiEKIAlBCHYhDSAIQRh2ISAgE0EBcyETIAlBA3QhGQJ/IAdFBEAgBSANQQN0.QfABcSAIQQl2Qf8AcXI6AG0gBSAZQfABcSAIQf4BcUEBdnI6AGwgCEERdkH/AHEhByAKQQN0QfABcQwBCyAFIAhBCHYgDWtBB3EgDUEDdHI6AG0gBSAIIAlr.QQdxIBlyOgBsIApBA3QhByAIQRB2IAprQQdxCyEIIAUgByAIcjoAbiAFIBMgH0EFdCACQQF0ciAgQQJ0cnI6AG8gCyAFKAJsNgIAIAAoArQBIB5BAXQgE3Ii.Ak0EQCAFQbYINgIAIAVBzgQ2AgQgBUGrDTYCCCAFQfAAaiAFEAMgBUHwAGoQBAsgCyAAKAKwASACQQJ0aigCADYCBAsgC0EIaiELIBJBAWoiEiAWRw0ACwsg.CyAcaiELIBFBAWoiESAXRw0ACwsgFEEBaiIUIAAoAgwtABFJDQALCyAFQfAEaiQAQQELiQUBAn8jAEHQBGsiASQAIABBADYCACAAKALgASICBEACQCACQQdx.BEAgAUG2CDYCQCABQckPNgJEIAFBwgs2AkggAUHQAGogAUFAaxADIAFB0ABqEAQMAQsgAkEAQQBBAUHgFigCAEHQEygCABEAABoLIABCADcC4AEgAEEANgLo.AQsgAEEAOgDsASAAKALQASICBEACQCACQQdxBEAgAUG2CDYCMCABQckPNgI0IAFBwgs2AjggAUHQAGogAUEwahADIAFB0ABqEAQMAQsgAkEAQQBBAUHgFigC.AEHQEygCABEAABoLIABCADcC0AEgAEEANgLYAQsgAEEAOgDcASAAKALAASICBEACQCACQQdxBEAgAUG2CDYCICABQckPNgIkIAFBwgs2AiggAUHQAGogAUEg.ahADIAFB0ABqEAQMAQsgAkEAQQBBAUHgFigCAEHQEygCABEAABoLIABCADcCwAEgAEEANgLIAQsgAEEAOgDMASAAKAKwASICBEACQCACQQdxBEAgAUG2CDYC.ECABQckPNgIUIAFBwgs2AhggAUHQAGogAUEQahADIAFB0ABqEAQMAQsgAkEAQQBBAUHgFigCAEHQEygCABEAABoLIABCADcCsAEgAEEANgK4AQsgAEEAOgC8.ASAAKAKgASICBEACQCACQQdxBEAgAUG2CDYCACABQckPNgIEIAFBwgs2AgggAUHQAGogARADIAFB0ABqEAQMAQsgAkEAQQBBAUHgFigCAEHQEygCABEAABoL.IABCADcCoAEgAEEANgKoAQsgAEEAOgCsASAAQYgBahAHIABB8ABqEAcgAEHYAGoQByAAQUBrEAcgAEEoahAHIAFB0ARqJAALrQIBBX8jAEGgBGsiASQAIAAo.AggiBEF/akGAwABPBEAgAUG2CDYCECABQaQTNgIUIAFB2ws2AhggAUEgaiABQRBqEAMgAUEgahAECyAAIAQ2AgAgACgCFCIDRQRAQQAhA0G0ARAQIgIEQCAC.QgA3AqQBIAJCADcCrAEgAiEDCyAAIAM2AhQgACgCACEECyAEIQIgACgCCEUEQCABQbYINgIAIAFBzgQ2AgQgAUGrDTYCCCABQSBqIAEQAyABQSBqEAQgACgC.ACECCyADIAQgACgCBCACQRFPBH8gAiEAA0AgBSIDQQFqIQUgAEEDSyEEIABBAXYhACAEDQALQSEgA0ECIAN0IAJJakECaiAFQSBGGyIAQQsgAEELSRsFQQAL.EC8hACABQaAEaiQAIAAL7gEBAn8jAEGgBGsiASQAIABBADYCACAAKAIEIgIEQAJAIAJBB3EEQCABQbYINgIQIAFByQ82AhQgAUHCCzYCGCABQSBqIAFBEGoQ.AyABQSBqEAQMAQsgAkEAQQBBAUHgFigCAEHQEygCABEAABoLIABCADcCBCAAQQA2AgwLIABBADoAECAAKAIUIgIEQAJAIAIQFCICQQdxBEAgAUG2CDYCACAB.QckPNgIEIAFBwgs2AgggAUEgaiABEAMgAUEgahAEDAELIAJBAEEAQQFB4BYoAgBB0BMoAgARAAAaCyAAQQA2AhQLIAFBoARqJAALqwcBCX8gACAAKAIEIgZB.eHEiA2ohBEHMHygCACEHAkAgBkEDcSICQQFGDQAgByAASw0ACwJAIAJFBEBBACECIAFBgAJJDQEgAyABQQRqTwRAIAAhAiADIAFrQZwjKAIAQQF0TQ0CC0EA.DwsCQCADIAFPBEAgAyABayICQRBJDQEgACAGQQFxIAFyQQJyNgIEIAAgAWoiASACQQNyNgIEIAQgBCgCBEEBcjYCBCABIAIQFQwBC0EAIQIgBEHUHygCAEYE.QEHIHygCACADaiIDIAFNDQIgACAGQQFxIAFyQQJyNgIEIAAgAWoiAiADIAFrIgFBAXI2AgRByB8gATYCAEHUHyACNgIADAELIARB0B8oAgBGBEBBxB8oAgAg.A2oiAyABSQ0CAkAgAyABayIFQRBPBEAgACAGQQFxIAFyQQJyNgIEIAAgAWoiASAFQQFyNgIEIAAgA2oiAiAFNgIAIAIgAigCBEF+cTYCBAwBCyAAIAZBAXEg.A3JBAnI2AgQgACADaiIBIAEoAgRBAXI2AgRBACEFQQAhAQtB0B8gATYCAEHEHyAFNgIADAELIAQoAgQiBUECcQ0BIAVBeHEgA2oiCCABSQ0BIAggAWshCgJA.IAVB/wFNBEAgBCgCCCIDIAVBA3YiBUEDdEHkH2pHGiADIAQoAgwiAkYEQEG8H0G8HygCAEF+IAV3cTYCAAwCCyADIAI2AgwgAiADNgIIDAELIAQoAhghCQJA.IAQgBCgCDCIDRwRAIAcgBCgCCCICTQRAIAIoAgwaCyACIAM2AgwgAyACNgIIDAELAkAgBEEUaiIFKAIAIgINACAEQRBqIgUoAgAiAg0AQQAhAwwBCwNAIAUh.ByACIgNBFGoiBSgCACICDQAgA0EQaiEFIAMoAhAiAg0ACyAHQQA2AgALIAlFDQACQCAEIAQoAhwiAkECdEHsIWoiBSgCAEYEQCAFIAM2AgAgAw0BQcAfQcAf.KAIAQX4gAndxNgIADAILIAlBEEEUIAkoAhAgBEYbaiADNgIAIANFDQELIAMgCTYCGCAEKAIQIgIEQCADIAI2AhAgAiADNgIYCyAEKAIUIgJFDQAgAyACNgIU.IAIgAzYCGAsgCkEPTQRAIAAgBkEBcSAIckECcjYCBCAAIAhqIgEgASgCBEEBcjYCBAwBCyAAIAZBAXEgAXJBAnI2AgQgACABaiIBIApBA3I2AgQgACAIaiIC.IAIoAgRBAXI2AgQgASAKEBULIAAhAgsgAgt/AQJ/IABFBEAgARAPDwsgAUFATwRAQfgeQTA2AgBBAA8LIABBeGpBECABQQtqQXhxIAFBC0kbEB8iAgRAIAJB.CGoPCyABEA8iAkUEQEEADwsgAiAAIABBfGooAgAiA0F4cUEEQQggA0EDcRtrIgMgASADIAFJGxAOIAAQESACC48BAQN/IAAhAQJAAkAgAEEDcUUNACAALQAA.RQRADAILA0AgAUEBaiIBQQNxRQ0BIAEtAAANAAsMAQsDQCABIgJBBGohASACKAIAIgNBf3MgA0H//ft3anFBgIGChHhxRQ0ACyADQf8BcUUEQCACIQEMAQsD.QCACLQABIQMgAkEBaiIBIQIgAw0ACwsgASAAawvgAQEDfyABQQBHIQICQAJAAkACQCABRQ0AIABBA3FFDQADQCAALQAARQ0CIABBAWohACABQX9qIgFBAEch.AiABRQ0BIABBA3ENAAsLIAJFDQELIAAtAABFDQECQCABQQRPBEAgAUF8aiICIAJBfHEiA2shAiAAIANqQQRqIQMDQCAAKAIAIgRBf3MgBEH//ft3anFBgIGC.hHhxDQIgAEEEaiEAIAFBfGoiAUEDSw0ACyACIQEgAyEACyABRQ0BCwNAIAAtAABFDQIgAEEBaiEAIAFBf2oiAQ0ACwtBAA8LIAALxgIBBn8jAEEgayIDJAAg.AyAAKAIcIgU2AhAgACgCFCEEIAMgAjYCHCADIAE2AhggAyAEIAVrIgE2AhQgASACaiEGQQIhBSADQRBqIQEDQAJAAn8gBgJ/An9BACAAKAI8IAEgBSADQQxq.EAIiBEUNABpB+B4gBDYCAEF/CwRAIANBfzYCDEF/DAELIAMoAgwLIgRGBEAgACAAKAIsIgE2AhwgACABNgIUIAAgASAAKAIwajYCECACDAELIARBf0oNASAA.QQA2AhwgAEIANwMQIAAgACgCAEEgcjYCAEEAIAVBAkYNABogAiABKAIEawshACADQSBqJAAgAA8LIAFBCGogASAEIAEoAgQiB0siCBsiASAEIAdBACAIG2si.ByABKAIAajYCACABIAEoAgQgB2s2AgQgBiAEayEGIAUgCGshBQwAAAsAC34BA38jAEEQayIBJAAgAUEKOgAPAkAgACgCECICRQRAIAAQFw0BIAAoAhAhAgsC.QCAAKAIUIgMgAk8NACAALABLQQpGDQAgACADQQFqNgIUIANBCjoAAAwBCyAAIAFBD2pBASAAKAIkEQEAQQFHDQAgAS0ADxoLIAFBEGokAAuFAQECfyMAQaAB.ayICJAAgAkEIakHAEkGQARAOIAIgADYCNCACIAA2AhwgAkF+IABrIgNB/////wdB/////wcgA0sbIgM2AjggAiAAIANqIgA2AiQgAiAANgIYIAJBCGogARAr.IAMEQCACKAIcIgAgACACKAIYRmtBADoAAAsgAkGgAWokAAsyAQF/IAAoAhQiAyABIAIgACgCECADayIBIAEgAksbIgEQDiAAIAAoAhQgAWo2AhQgAguDAQID.fwF+AkAgAEKAgICAEFQEQCAAIQUMAQsDQCABQX9qIgEgACAAQgqAIgVCCn59p0EwcjoAACAAQv////+fAVYhAiAFIQAgAg0ACwsgBaciAgRAA0AgAUF/aiIB.IAIgAkEKbiIDQQpsa0EwcjoAACACQQlLIQQgAyECIAQNAAsLIAELNAAgAFBFBEADQCABQX9qIgEgAKdBD3FBsBJqLQAAIAJyOgAAIABCBIgiAEIAUg0ACwsg.AQstACAAUEUEQANAIAFBf2oiASAAp0EHcUEwcjoAACAAQgOIIgBCAFINAAsLIAELdwACQCAARQRAIAEQDyEEIAJFDQEgBEUEQCACQQA2AgAgBA8LIAIgBBAW.NgIAIAQPCyABRQRAIAAQEUEAIQQgAkUNASACQQA2AgBBAA8LQQAhBCADBEAgACABECAiBCAAIAQbIQALIAJFDQAgAiAAEBY2AgALIAQLxQIBA38jAEHQAWsi.AiQAIAIgATYCzAFBACEBIAJBoAFqQQBBKBAIIAIgAigCzAE2AsgBAkBBACACQcgBaiACQdAAaiACQaABahASQQBIDQAgACgCTEEATgRAQQEhAQsgACgCACED.IAAsAEpBAEwEQCAAIANBX3E2AgALIANBIHEhBAJ/IAAoAjAEQCAAIAJByAFqIAJB0ABqIAJBoAFqEBIMAQsgAEHQADYCMCAAIAJB0ABqNgIQIAAgAjYCHCAA.IAI2AhQgACgCLCEDIAAgAjYCLCAAIAJByAFqIAJB0ABqIAJBoAFqEBIgA0UNABogAEEAQQAgACgCJBEBABogAEEANgIwIAAgAzYCLCAAQQA2AhwgAEEANgIQ.IAAoAhQaIABBADYCFEEACxogACAAKAIAIARyNgIAIAFFDQALIAJB0AFqJAALiQIAAkAgAAR/IAFB/wBNDQECQEGkFigCACgCAEUEQCABQYB/cUGAvwNGDQMM.AQsgAUH/D00EQCAAIAFBP3FBgAFyOgABIAAgAUEGdkHAAXI6AABBAg8LIAFBgLADT0EAIAFBgEBxQYDAA0cbRQRAIAAgAUE/cUGAAXI6AAIgACABQQx2QeAB.cjoAACAAIAFBBnZBP3FBgAFyOgABQQMPCyABQYCAfGpB//8/TQRAIAAgAUE/cUGAAXI6AAMgACABQRJ2QfABcjoAACAAIAFBBnZBP3FBgAFyOgACIAAgAUEM.dkE/cUGAAXI6AAFBBA8LC0H4HkEZNgIAQX8FQQELDwsgACABOgAAQQELBABCAAsEAEEAC6AQAQ5/IwBBgAdrIgQkAAJAIAFFDQAgA0ELSw0AIAAgATYCACAE.QfABakEAQcQAEAgDQCACIAVqLQAAIgcEQCAEQfABaiAHQQJ0aiIHIAcoAgBBAWo2AgALIAVBAWoiBSABRw0AC0EAIQdBfyEJQQEhBQNAAkAgBUECdCIIIARB.8AFqaigCACIMRQRAIAAgCGpBADYCGAwBCyAIQXxqIgogBEHAAmpqIAY2AgAgACAKaiIKIAc2AmAgCiAGIAxqIgZBf2pBECAFayIKdEF/IAp0QX9zckEBajYC.HCAEQaABaiAIaiAHNgIAIAsgBSALIAVLGyELIAkgBSAJIAVJGyEJIAcgDGohBwsgBkEBdCEGIAVBAWoiBUERRw0ACyAAIAc2AgQgByAAKAKsAUsEQCAAIAci.BWlBAUcEfyABIAdBf2oiBUEQdiAFciIFQQh2IAVyIgVBBHYgBXIiBUECdiAFciIFQQF2IAVyQQFqIgUgBSABSxsFIAULNgKsAQJAIAAoArABIgVFDQACQCAF.QXxqKAIAIgYEQCAGIAVBeGooAgBBf3NGDQELIARBtgg2ApABIARB2wI2ApQBIARB1Q02ApgBIARBgANqIARBkAFqEAMgBEGAA2oQBAsgBUF4aiIFQQdxBEAg.BEG2CDYCgAEgBEHJDzYChAEgBEHCCzYCiAEgBEGAA2ogBEGAAWoQAyAEQYADahAEDAELIAVBAEEAQQFB4BYoAgBB0BMoAgARAAAaC0EAIQUgACgCrAEiBkEB.IAYbIghBAXRBCGoQECIGRQRAIABBADYCsAEMAgsgBiAINgIEIAYgCEF/czYCACAAIAZBCGo2ArABCyAAIAs6ABkgACAJOgAYQQAhBQNAIAIgBWotAAAiBgRA.IAZBAnQiBiAEQfABamooAgBFBEAgBEG2CDYCcCAEQYQONgJ0IARBpQk2AnggBEGAA2ogBEHwAGoQAyAEQYADahAECyAEQaABaiAGaiIGIAYoAgAiBkEBajYC.ACAGIAdPBEAgBEG2CDYCYCAEQYgONgJkIARBsgk2AmggBEGAA2ogBEHgAGoQAyAEQYADahAECyAAKAKwASAGQQF0aiAFOwEACyAFQQFqIgUgAUcNAAsgACAD.QQAgAC0AGCADSRsiBzYCCCAHBEACQEEBIAd0IgkgACgCpAFNBEAgCUECdCEGIAAoAqgBIQUMAQsgACAJNgKkAQJAIAAoAqgBIgFFDQACQCABQXxqKAIAIgUE.QCAFIAFBeGooAgBBf3NGDQELIARBtgg2AlAgBEHbAjYCVCAEQdUNNgJYIARBgANqIARB0ABqEAMgBEGAA2oQBAsgAUF4aiIBQQdxBEAgBEG2CDYCQCAEQckP.NgJEIARBwgs2AkggBEGAA2ogBEFAaxADIARBgANqEAQMAQsgAUEAQQBBAUHgFigCAEHQEygCABEAABoLQQAhBSAJQQJ0IgZBCGoQECIBRQRAIABBADYCqAEM.AwsgASAJNgIEIAEgCUF/czYCACAAIAFBCGoiBTYCqAELIAVB/wEgBhAIQQEhAQNAAkAgBEHwAWogAUECdGooAgBFDQAgAUF/aiIFQQJ0IgYgBEHAAmpqKAIA.IQggBUEQTwRAIARBtgg2AjAgBEHqCzYCNCAEQf8MNgI4IARBgANqIARBMGoQAyAEQYADahAECyAIIAAgBmoiBSgCHCIGQX9qQRAgAWt2QX8gBhsiCksNACAH.IAFrIQwgAUEQdCEOIAUoAmAgCGshDwNAIAIgACgCsAEgCCAPakEBdGovAQAiBWotAAAgAUcEQCAEQbYINgIgIARBrg42AiQgBEHPCTYCKCAEQYADaiAEQSBq.EAMgBEGAA2oQBAsgBSAOciEQIAggDHQhEUEAIQUDQCAFIBFqIg0gCU8EQCAEQbYINgIQIARBsw42AhQgBEHxCTYCGCAEQYADaiAEQRBqEAMgBEGAA2oQBAsg.ACgCqAEiBiANQQJ0Ig1qKAIAQX9HBH8gBEG2CDYCACAEQbUONgIEIARBiAo2AgggBEGAA2ogBBADIARBgANqEAQgACgCqAEFIAYLIA1qIBA2AgAgBUEBaiIF.IAx2RQ0ACyAIQQFqIgggCk0NAAsLIAcgAUEBaiIBTw0ACwsgACAAKAJgIAQoAsACazYCYCAAIAAoAmQgBCgCxAJrNgJkIAAgACgCaCAEKALIAms2AmggACAA.KAJsIAQoAswCazYCbCAAIAAoAnAgBCgC0AJrNgJwIAAgACgCdCAEKALUAms2AnQgACAAKAJ4IAQoAtgCazYCeCAAIAAoAnwgBCgC3AJrNgJ8IAAgACgCgAEg.BCgC4AJrNgKAASAAIAAoAoQBIAQoAuQCazYChAEgACAAKAKIASAEKALoAms2AogBIAAgACgCjAEgBCgC7AJrNgKMASAAIAAoApABIAQoAvACazYCkAEgACAA.KAKUASAEKAL0Ams2ApQBIAAgACgCmAEgBCgC+AJrNgKYASAAIAAoApwBIAQoAvwCazYCnAEgAEEANgIQIAAgAC0AGDYCFAJAIAdFDQADQCADRQ0BIANBAnQh.ASADQX9qIgIhAyABIARB8AFqaigCAEUNAAsgACACQQJ0aigCHCEBIAAgB0EBaiIFNgIUIAAgATYCECAFIAtLDQADQCAEQfABaiAFQQJ0aigCAARAIAAgBTYC.FAwCCyAFQQFqIgUgC00NAAsLIABB//8/NgKgASAAQX82AlwgAEEgIAAoAghrNgIMQQEhBQsgBEGAB2okACAFCy8AIAECfyACKAJMQX9MBEAgACABIAIQEwwB.CyAAIAEgAhATCyIARgRAIAEPCyAAC9QHAQ9/IwBBkAVrIgEkACAAKAIMIgMtAD1BCHQgAy0APEEQdHIgAy0APnIiAgRAIAAgACgCBCADLQA7IAMtADpBCHQg.Ay0AOUEQdHJyaiIDNgIQIAAgAjYCHCAAIAM2AhQgAEIANwIgIAAgAiADajYCGAsgAUIANwOAAUEAIQMgAUEAOgCIASABQgA3A3ggAUEANgKMASAAQRBqIgUg.AUH4AGoQCRogAEHQAWohBwJAIAAoAtQBIgIgACgCDCIELQA/QQh0IARBQGstAAByQQNsIgRGDQACQCACIARNBEAgACgC2AEgBEkEQCAHIAQgAkEBaiAERkEC.EAZFDQIgACgC1AEhAgsgBygCACACQQF0akEAIAQgAmtBAXQQCAsgACAENgLUAQwBCyAAQQE6ANwBCwNAIAFBMGogA2ogA0EHcUH3DGotAAAgA0EDdkH3DGot.AABBA3RyOgAAIANBAWoiA0HAAEcNAAsgACgC1AEEQEEAIQMDQCABQTBqIAUgAUH4AGoQBSAGcyICQT9xai0AACEEIAFBMGogBSABQfgAahAFQQZ0IAJzIgJB.BnZBP3FqLQAAIQYgAUEwaiAFIAFB+ABqEAVBDHQgAnMiAkEMdkE/cWotAABBDHQiCCAEIAZBBnRyciEJIAFBMGogBSABQfgAahAFQRJ0IAJzIgZBEnZBP3Fq.LQAAQRJ0IQwgAUEwaiAFIAFB+ABqEAUgCnMiAkE/cWotAAAhDSABQTBqIAUgAUH4AGoQBUEGdCACcyICQQZ2QT9xai0AAEEGdCELIAFBMGogBSABQfgAahAF.QQx0IAJzIgJBDHZBP3FqLQAAQQx0IQ4gAUEwaiAFIAFB+ABqEAVBEnQgAnMiCkESdkE/cWotAAAhDyAAKALUASIEIANNBEAgAUG2CDYCICABQc4ENgIkIAFB.qw02AiggAUGQAWogAUEgahADIAFBkAFqEAQgACgC1AEhBAsgBygCACICIANBAXRqIAk7AQAgBCADQQFqIglNBEAgAUG2CDYCECABQc4ENgIUIAFBqw02Ahgg.AUGQAWogAUEQahADIAFBkAFqEAQgACgC1AEhBCAAKALQASECCyACIAlBAXRqIAsgDXJBCHQgCCAMckEQdnI7AQAgBCADQQJqIghNBEAgAUG2CDYCACABQc4E.NgIEIAFBqw02AgggAUGQAWogARADIAFBkAFqEAQgACgC1AEhBCAAKALQASECCyACIAhBAXRqIAsgDnIgD0ESdHJBCHY7AQAgA0EDaiIDIARJDQALCyABQfgA.ahAHIAFBkAVqJABBAQvjBAEMfyMAQSBrIgQkACAAKAIMIgItAD1BCHQgAi0APEEQdHIgAi0APnIiAQRAIAAgACgCBCACLQA7IAItADpBCHQgAi0AOUEQdHJy.aiICNgIQIAAgATYCHCAAIAI2AhQgAEIANwIgIAAgASACajYCGAsgBEIANwMQIARBADoAGCAEQgA3AwggBEEANgIcIABBEGoiDCAEQQhqEAkaIABB0AFqIQUC.QCAAKALUASIDIAAoAgwiAi0AP0EIdCACQUBrLQAAckEGbCIBRg0AAkAgAyABTQRAIAAoAtgBIAFJBEAgBSABIANBAWogAUZBAhAGRQ0CIAAoAtQBIQMLIAUo.AgAgA0EBdGpBACABIANrQQF0EAgLIAAgATYC1AEMAQsgAEEBOgDcASAAKALUASEBCyAEQgA3AwAgAQRAIAUoAgAhBgNAQQAhAUEAIQcDQCABQQFxBH8gB0ED.dgUgBCABQQF2aiICIAwgBEEIahAFIAItAABzIgI6AAAgAkH/AXELIQcgBiABQQFqIgJBA2wiCkEDdmoiCyALLQAAQQMgB0EHcSIFayAFIAVBBEkbQf8BcSII.QQggCkEHcSIDa3RyOgAAIANBAk0EQCALQX9qIgUgBS0AACAIIAN2cjoAAAsgAUEDcSABQQJ2a0EJbCAKaiIFQQN2QR9xIAZqIgMiAUEGaiABLQAGIAhBCCAF.QQdxIgFrdHI6AAAgAUECTQRAIAMgAy0ABSAIIAF2cjoABQsgAiIBQRBHDQALIAZBDGohBiAJQQZqIgkgACgC1AFJDQALCyAEQQhqEAcgBEEgaiQAQQELqAQB.Cn8jAEEgayIDJAAgACgCDCIBLQA9QQh0IAEtADxBEHRyIAEtAD5yIgIEQCAAIAAoAgQgAS0AOyABLQA6QQh0IAEtADlBEHRycmoiATYCECAAIAI2AhwgACAB.NgIUIABCADcCICAAIAEgAmo2AhgLIANCADcDECADQQA6ABggA0IANwMIIANBADYCHCAAQRBqIgcgA0EIahAJGiAAQdABaiEEAkAgACgC1AEiAiAAKAIMIgEt.AD9BCHQgAUFAay0AAHJBA2wiAUYNAAJAIAIgAU0EQCAAKALYASABSQRAIAQgASACQQFqIAFGQQIQBkUNAiAAKALUASECCyAEKAIAIAJBAXRqQQAgASACa0EB.dBAICyAAIAE2AtQBDAELIABBAToA3AEgACgC1AEhAQsgA0IANwMAIAFB/////wdxBEAgBCgCACEIA0BBACEBQQAhAgNAIAFBAXEEfyACQQN2BSADIAFBAXZq.IgIgByADQQhqEAUgAi0AAHMiAjoAACACQf8BcQshAiAIIAFBA3EgAUECdmtBCWwgAUEBaiIBQQNsaiIJQQN2QR9xIAZqaiIEIAQtAABBAyACQQdxIgVrIAUg.BUEESRtB/wFxIgpBCCAJQQdxIgVrdHI6AAAgBUECTQRAIARBf2oiBCAELQAAIAogBXZyOgAACyABQRBHDQALIAZBBmoiBiAAKALUAUEBdEkNAAsLIANBCGoQ.ByADQSBqJABBAQvOAwEIfyMAQbAEayICJAACQCAAKAIMIgEtADVBCHQgAS0ANEEQdHIgAS0ANnIiA0UEQAwBCyABLQA3IQYgAS0AOCEIIAAgACgCBCABLQAz.IAEtADJBCHQgAS0AMUEQdHJyaiIBNgIQIAAgAzYCHCAAIAE2AhQgAEIANwIgIAAgASADajYCGCACQgA3AyAgAkEAOgAoIAJCADcDGCACQQA2AiwCQCAAQRBq.IgcgAkEYahAJRQ0AIABBwAFqIQQCQCAAKALEASIBIAZBCHQgCHIiA0cEQCABIANNBEAgACgCyAEgA0kEQCAEIAMgAUEBaiADRkECEAZFDQMgACgCxAEhAQsg.BCgCACABQQF0akEAIAMgAWtBAXQQCAsgACADNgLEAQsgA0UEQCACQbYINgIAIAJBzgQ2AgQgAkGrDTYCCCACQTBqIAIQAyACQTBqEARBASEFDAILIAQoAgAh.AEEAIQFBACEEQQAhBgNAIAAgByACQRhqEAUgBmpB/wFxIgYgByACQRhqEAUgBGpB/wFxIgRBCHRyOwEAIABBAmohAEEBIQUgAUEBaiIBIANHDQALDAELIABB.AToAzAELIAJBGGoQBwsgAkGwBGokACAFC+MQARN/IwBB8AVrIgEkAAJAAkAgACgCDCICLQASIgVBdmoiA0EETQRAQQEhE0EBIREgA0ECaw4DAQEBAgsLIAVB.DEYhEQsgAi0ALiACLQAtQQh0IAItACxBEHRyciIFBEAgACAAKAIEIAItACsgAi0AKkEIdCACLQApQRB0cnJqIgI2AhAgACAFNgIcIAAgAjYCFCAAQgA3AiAg.ACACIAVqNgIYCyABQgA3A+ABIAFBADoA6AEgAUIANwPYASABQQA2AuwBIABBEGoiDSABQdgBahAJGiAAQbABaiEFAkAgACgCtAEiAyAAKAIMIgItAC9BCHQg.Ai0AMHIgEXQiAkYNAAJAIAMgAk0EQCAAKAK4ASACSQRAIAUgAiADQQFqIAJGQQQQBkUNAiAAKAK0ASEDCyAFKAIAIANBAnRqQQAgAiADa0ECdBAICyAAIAI2.ArQBDAELIABBAToAvAELIAAoAgwiAi0AL0EIdCACLQAwcgRAA0AgDSABQdgBahAFIA5zIA0gAUHYAWoQBUEEdHMgDSABQdgBahAFQQh0cyANIAFB2AFqEAVB.DHRzIA0gAUHYAWoQBUEQdHMgDSABQdgBahAFQRR0cyANIAFB2AFqEAVBGHRzIA0gAUHYAWoQBUEcdHMhDgJAIBMEQCAPQQF0IhBBAXIgDyARGyEKIA4gDkEB.dkHVqtWqBXFzQX9zIQNBCCELQQAhEgNAIBJBA3QhBgJAIBFFBEAgACgCtAEgCk0EQCABQbYINgKwASABQc4ENgK0ASABQasNNgK4ASABQfABaiABQbABahAD.IAFB8AFqEAQLIAAoArABIgIgCkECdCIIaiIEIAQoAgAgAyAGdiIEQQF2QQFxIARBEHRBgIAEcXIgC0EPcXRyIgQ2AgAgACgCtAEgCk0EQCABQbYINgKgASAB.Qc4ENgKkASABQasNNgKoASABQfABaiABQaABahADIAFB8AFqEAQgBSgCACICIAhqKAIAIQQLIAIgCGogBCADIAZBAnJ2IgxBAXZBAXEgDEEQdEGAgARxciAL.QQRqQQ9xdHIiBDYCACAAKAK0ASAKTQRAIAFBtgg2ApABIAFBzgQ2ApQBIAFBqw02ApgBIAFB8AFqIAFBkAFqEAMgAUHwAWoQBCAFKAIAIgIgCGooAgAhBAsg.AiAIaiAEIAMgBkEEcnYiDEEBdkEBcSAMQRB0QYCABHFyIAtBCGpBD3F0ciIENgIAIAAoArQBIApNBH8gAUG2CDYCgAEgAUHOBDYChAEgAUGrDTYCiAEgAUHw.AWogAUGAAWoQAyABQfABahAEIAUoAgAiAiAIaigCAAUgBAsgAyAGQQZydiIGQQF2QQFxIAZBEHRBgIAEcXIgC0EMakEPcXRyIQYgAiAIaiECDAELIAMgEkEB.dCIIdiEMIAAoArQBIBBNBEAgAUG2CDYCcCABQc4ENgJ0IAFBqw02AnggAUHwAWogAUHwAGoQAyABQfABahAECyAAKAKwASICIBBBAnQiBGoiByAHKAIAIAxB.AXZBAXEgDEEQdEGAgARxciALQQ9xIgd0cjYCACAAKAK0ASAKTQRAIAFBtgg2AmAgAUHOBDYCZCABQasNNgJoIAFB8AFqIAFB4ABqEAMgAUHwAWoQBCAFKAIA.IQILIAIgCkECdCIMaiIJIAkoAgAgAyAGdiIJQQF2QQFxIAlBEHRBgIAEcXIgB3RyNgIAIAAoArQBIBBNBEAgAUG2CDYCUCABQc4ENgJUIAFBqw02AlggAUHw.AWogAUHQAGoQAyABQfABahAEIAUoAgAhAgsgAiAEaiIHIAcoAgAgAyAIQQhydiIHQQF2QQFxIAdBEHRBgIAEcXIgC0EEakEPcSIHdHI2AgAgACgCtAEgCk0E.QCABQbYINgJAIAFBzgQ2AkQgAUGrDTYCSCABQfABaiABQUBrEAMgAUHwAWoQBCAFKAIAIQILIAIgDGoiCSAJKAIAIAMgBkECcnYiCUEBdkEBcSAJQRB0QYCA.BHFyIAd0cjYCACAAKAK0ASAQTQRAIAFBtgg2AjAgAUHOBDYCNCABQasNNgI4IAFB8AFqIAFBMGoQAyABQfABahAEIAUoAgAhAgsgAiAEaiIHIAcoAgAgAyAI.QRBydiIHQQF2QQFxIAdBEHRBgIAEcXIgC0EIakEPcSIHdHI2AgAgACgCtAEgCk0EQCABQbYINgIgIAFBzgQ2AiQgAUGrDTYCKCABQfABaiABQSBqEAMgAUHw.AWoQBCAFKAIAIQILIAIgDGoiCSAJKAIAIAMgBkEEcnYiCUEBdkEBcSAJQRB0QYCABHFyIAd0cjYCACAAKAK0ASAQTQRAIAFBtgg2AhAgAUHOBDYCFCABQasN.NgIYIAFB8AFqIAFBEGoQAyABQfABahAEIAUoAgAhAgsgAiAEaiIEIAQoAgAgAyAIQRhydiIIQQF2QQFxIAhBEHRBgIAEcXIgC0EMakEPcSIIdHI2AgAgACgC.tAEgCk0EfyABQbYINgIAIAFBzgQ2AgQgAUGrDTYCCCABQfABaiABEAMgAUHwAWoQBCAFKAIABSACCyAMaiICKAIAIAMgBkEGcnYiBkEBdkEBcSAGQRB0QYCA.BHFyIAh0ciEGCyACIAY2AgAgC0EBaiELIBJBAWoiEkEERw0ACwwBCyAAKAK0ASAPTQRAIAFBtgg2AsABIAFBzgQ2AsQBIAFBqw02AsgBIAFB8AFqIAFBwAFq.EAMgAUHwAWoQBAsgBSgCACAPQQJ0aiAOQQF0IA5zQarVqtV6cSAOQQF2QdWq1aoFcXI2AgALIA9BAWoiDyAAKAIMIgItAC9BCHQgAi0AMHJJDQALCyABQdgB.ahAHIAFB8AVqJABBAQvSBgEMfyMAQcAEayIBJAAgACgCDCICLQAnQQh0IAItAChyIQUCQAJAIAItABIiA0F2aiIEQQRNBEBBASEGQQEhCCAEQQJrDgMBAQEC.CwsgA0EMRiEICyAAQaABaiEHAkACQCAFIAAoAqQBIgNHBEAgAyAFTQRAIAAoAqgBIAVJBEBBACEEIAcgBSADQQFqIAVGQQQQBkUNAyAAKAKkASEDCyAAKAKg.ASADQQJ0akEAIAUgA2tBAnQQCCAAKAIMIQILIAAgBTYCpAELIAItACYgAi0AJUEIdCACLQAkQRB0cnIiBEUEQEEAIQQMAgsgAEEQaiEDIAAgACgCBCACLQAj.IAItACJBCHQgAi0AIUEQdHJyaiICNgIQIAAgBDYCHCAAIAI2AhQgAEIANwIgIAAgAiAEajYCGEEAIQQgAUEAOgAgIAFBADYCPCABQgA3AiwgAUIANwAxIAFC.ADcDGCABQgA3AxAgAUIANwIkQQFBAiAGGyEJIAFBKGohCkEAIQICQANAIAMgAUEQaiACQRhsahAJRQ0BIAJBAWoiAiAJSQ0ACyAAKAKkAUUEQCABQbYINgIA.IAFBzgQ2AgQgAUGrDTYCCCABQUBrIAEQAyABQUBrEAQLIAVFBEBBASEEDAELIAcoAgAhAkEAIQcgBgRAQQAhBgNAIAMgAUEQahAFIAZqIAMgAUEQahAFQQh0.aiADIAFBEGoQBUEQdGogAyABQRBqEAVBGHRqIgRBn778+AFxIgYhACACIAgEfyAABSAEQQN0Qfjx4wdxIARBgICAOHEiAEECdCAAQQV0cnJBgICAEHILNgIA.IAJBBGohAkEBIQQgB0EBaiIHIAVHDQALDAELQQAhAEEAIQZBACEIQQAhCQNAIAMgAUEQahAFIQQgAiADIAoQBSALakE/cSILQQV0IAQgDGpBH3EiDEELdHIg.AyABQRBqEAUgCWpBH3EiCXIgAyABQRBqEAUgCGoiBEEbdHIgAyAKEAUgBmpBP3EiBkEVdHIgAyABQRBqEAUgAGpBH3EiAEEQdHI2AgAgAkEEaiECIARBH3Eh.CEEBIQQgB0EBaiIHIAVHDQALCyABQShqEAcgAUEQahAHDAELIABBAToArAELIAFBwARqJAAgBAvTAwIEfwF+IwBB0ARrIgYkACAGQSg2AiggACABIAZBKGoQ.CyAGKAIwIQggBigCLCEDAn8gBikDSCIKQg9aBEAgBkG2CDYCECAGQfUQNgIUIAZB1Qs2AhggBkHQAGogBkEQahADIAZB0ABqEARBAAwBCyAKp0ECdEGIDmoo.AgALIQkgBiACNgIkIAAgARBIIQcCQCAEIAVqIgUgBE0NACAIIAR2IQAgAyAEdiEBIAdFBEADQCACIAFBA2pBAnYgCWwgAEEDakECdmxqIQIgAEEBdiEAIAFB.AXYhASAEQQFqIgQgBUcNAAsgBiACNgIkDAELA0AgAUEDakECdiAJbCIDIABBA2pBAnZsIQgCQCAEQQ9LDQAgCEUNACAHKAIAQb2V5/cBRw0AIAcgBkEkaiAI.IAMgBBBFIAYoAiQhAgsgBiACIAhqIgI2AiQgAEEBdiEAIAFBAXYhASAEQQFqIgQgBUcNAAsLAkAgB0UNACAHKAIAQb2V5/cBRw0AIAcQHCAHQQdxBEAgBkG2.CDYCACAGQckPNgIEIAZBwgs2AgggBkHQAGogBhADIAZB0ABqEAQMAQsgB0EAQQBBAUHgFigCAEHQEygCABEAABoLIAZB0ARqJAALnQECAX8BfiMAQcAEayID.JAAgA0EoNgIYIAAgASADQRhqEAsgAygCICACdkEDakECdiEAIAMoAhwgAnZBA2pBAnYhAgJ/IAMpAzgiBEIPWgRAIANBtgg2AgAgA0H1EDYCBCADQdULNgII.IANBQGsgAxADIANBQGsQBEEADAELIASnQQJ0QYgOaigCAAshASADQcAEaiQAIAAgAmwgAWwLdwIBfwF+IwBBwARrIgIkACACQSg2AhggACABIAJBGGoQCwJ/.IAIpAzgiA0IPWgRAIAJBtgg2AgAgAkH1EDYCBCACQdULNgIIIAJBQGsgAhADIAJBQGsQBEEADAELIAOnQQJ0QYgOaigCAAshACACQcAEaiQAIAALLwEBfyMA.QTBrIgIkACACQSg2AgggACABIAJBCGoQCyACKAIoIQAgAkEwaiQAIAALLwEBfyMAQTBrIgIkACACQSg2AgggACABIAJBCGoQCyACKAIUIQAgAkEwaiQAIAAL.LwEBfyMAQTBrIgIkACACQSg2AgggACABIAJBCGoQCyACKAIQIQAgAkEwaiQAIAALLwEBfyMAQTBrIgIkACACQSg2AgggACABIAJBCGoQCyACKAIMIQAgAkEw.aiQAIAAL5gcBEn8jAEHgBGsiBSQAIABB4AFqIQ8gACgCpAEhDQJAIAAoAuQBIgYgA0EBakF+cSIKTw0AAkAgACgC6AEgCk8NACAPIAogBkEBaiAKRkEIEAYN.ACAAQQE6AOwBDAELIAAgCjYC5AELIAAoAgwiBi0AEQRAIARBAWpBfnEhEiAAQfAAaiETIABBQGshFCAAQShqIRUgAEEQaiEMIAJBAnYgCkEBdGtBAnQhFgNA.IBIEQCABIBBBAnRqKAIAIQJBACEOA0ACQCAKRQ0AIA4gBEkhC0EAIQYgDkEBcUUEQANAIAZBAXFFBEAgDCAVEAUhCAsgACgC5AEgBk0EQCAFQbYINgIgIAVB.zgQ2AiQgBUGrDTYCKCAFQeAAaiAFQSBqEAMgBUHgAGoQBAsgBiADSSALcSELIA8oAgAgBkEDdGoiCSAIQf8BcSIRQQJ2QQNxOwEAAkAgCEEedEEedUEATgRA.IAhBA3FBAWtFBEAgCSAHOwECDAILIAkgDCAUEAUgB2oiB0EAIA0gByANSRtrIgc7AQIMAQsgCS8BAiEHCyAMIBMQBSEIIAsEQCAAKAKkASAHTQRAIAVBtgg2.AhAgBUHOBDYCFCAFQasNNgIYIAVB4ABqIAVBEGoQAyAFQeAAahAECyACIAAoAqABIAdBAnRqKAIANgIAIAAoArQBIAhNBEAgBUG2CDYCACAFQc4ENgIEIAVB.qw02AgggBUHgAGogBRADIAVB4ABqEAQLIAIgACgCsAEgCEECdGooAgA2AgQLIBFBBHYhCCACQQhqIQIgBkEBaiIGIApHDQAMAgALAAsDQCAAKALkASAGTQRA.IAVBtgg2AlAgBUHOBDYCVCAFQasNNgJYIAVB4ABqIAVB0ABqEAMgBUHgAGoQBAsgBiADSSALcSELAkAgDygCACAGQQN0aiIJLQAAIhFBAU0EQCARQQFrBEAg.DCAUEAUgB2oiB0EAIA0gByANSRtrIQcLIAkgBzsBAgwBCyAJLwECIQcLIAwgExAFIQkgCwRAIAAoAqQBIAdNBEAgBUG2CDYCQCAFQc4ENgJEIAVBqw02Akgg.BUHgAGogBUFAaxADIAVB4ABqEAQLIAIgACgCoAEgB0ECdGooAgA2AgAgACgCtAEgCU0EQCAFQbYINgIwIAVBzgQ2AjQgBUGrDTYCOCAFQeAAaiAFQTBqEAMg.BUHgAGoQBAsgAiAAKAKwASAJQQJ0aigCADYCBAsgAkEIaiECIAZBAWoiBiAKRw0ACwsgAiAWaiECIA5BAWoiDiASRw0ACyAAKAIMIQYLIBBBAWoiECAGLQAR.SQ0ACwsgBUHgBGokAEEBC4EOASJ/IwBBsAVrIgUkACAAQeABaiETIAAoAsQBIRwgACgCpAEhFAJAIAAoAuQBIg8gA0EBakF+cSIXQQF0IgpPDQACQCAAKALo.ASAKTw0AIBMgCiAPQQFqIApGQQgQBg0AIABBAToA7AEMAQsgACAKNgLkAQsgACgCDC0AEQRAIARBAWpBfnEhHSAAQYgBaiEfIABB8ABqISAgAEHYAGohISAA.QUBrIR4gAEEoaiEiIABBEGohESACQQJ2IBdBAnRrQQJ0ISNBACEKQQAhDwNAIB0EQCABIBhBAnRqKAIAIQxBACEVA0AgFwRAIBVBAXEhJCAVIARJIRlBACEW.A0AgACgC5AEgFkEBdCINTQRAIAVBtgg2ApABIAVBzgQ2ApQBIAVBqw02ApgBIAVBsAFqIAVBkAFqEAMgBUGwAWoQBAsgEygCACANQQN0aiEGAkACQAJ/ICQE.QCAGLwEADAELIAYgESAiEAUiCUECdiICQQNxIAlBBHZBDHFyOwEAIAJBDHEgCUEDcXILIhBBA3EiAkEDSw0AAkACQAJAIAJBAWsOAwEDAgALIBEgHhAFIQIg.ESAhEAUhDyAGIAIgCGoiAkEAIBQgAiAUSRtrIgg7AQIgBiALIA9qIgJBACAcIAIgHEkbayILOwEEDAMLIAYgCzsBBCAGIAg7AQIMAgsgBiAPOwEEIAYgCjsB.AiAPIQsgCiEIDAELIAYvAQQhCyAGLwECIQgLIAAoAqQBIAhNBEAgBUG2CDYCgAEgBUHOBDYChAEgBUGrDTYCiAEgBUGwAWogBUGAAWoQAyAFQbABahAECyAF.IAAoAqABIAhBAnRqKAIAIhI2AqgBIBEgIBAFISUgESAfEAUhJiAQQQJ2QT9xIgkEQCARIB4QBSAIaiICQQAgFCACIBRJG2shCAsgACgCpAEgCE0EQCAFQbYI.NgJwIAVBzgQ2AnQgBUGrDTYCeCAFQbABaiAFQfAAahADIAVBsAFqEAQLIAUgACgCoAEgCEECdGooAgAiDjYCpAEgACgC5AEiByANQQFyIgZNBEAgBUG2CDYC.YCAFQc4ENgJkIAVBqw02AmggBUGwAWogBUHgAGoQAyAFQbABahAEIAAoAuQBIQcLIBMoAgAiAiAGQQN0Ig1qLwECIQogByAGTQRAIAVBtgg2AlAgBUHOBDYC.VCAFQasNNgJYIAVBsAFqIAVB0ABqEAMgBUGwAWoQBCAAKALkASEHIAAoAuABIQILIAIgDWovAQQhDyAWIANJIBlxIRkgByAGTQRAIAVBtgg2AkAgBUHOBDYC.RCAFQasNNgJIIAVBsAFqIAVBQGsQAyAFQbABahAEIAAoAuQBIQcgACgC4AEhAgsgAiANaiAIOwECIAcgBk0EfyAFQbYINgIwIAVBzgQ2AjQgBUGrDTYCOCAF.QbABaiAFQTBqEAMgBUGwAWoQBCATKAIABSACCyANaiALOwEEIBkEQCAJQQF2IQYgDkH/AXEiCUEEaiASQf8BcSICTyACQQNqIAlPcSICIRBBASEHAkAgAkUN.AANAQQBBACACIAVBpAFqIAdqLQAAIglBBGogBUGoAWogB2otAAAiAkkbIAJBA2ogCUkbIgJBAEchECACRQ0BIAdBAWoiB0EDSQ0ACwsgEkEYdiENIBJBEHYh.GiASQQh2IRsgDkEYdiEJIAZBAXMhByASQQN0IQYCfyAQRQRAIAUgG0EDdEHwAXEgDkEJdkH/AHFyOgCtASAFIAZB8AFxIA5B/gFxQQF2cjoArAEgDkERdkH/.AHEhECAaQQN0QfABcQwBCyAFIA5BCHYgG2tBB3EgG0EDdHI6AK0BIAUgDiASa0EHcSAGcjoArAEgGkEDdCEQIA5BEHYgGmtBB3ELIQYgBSAGIBByOgCuASAF.IAcgDUEFdCACQQF0ciAJQQJ0cnI6AK8BIAAoAtQBICZBBmxBA0EAIAcbaiICTQRAIAVBtgg2AiAgBUHOBDYCJCAFQasNNgIoIAVBsAFqIAVBIGoQAyAFQbAB.ahAECyAAKALQASACQQF0aiECIAAoAsQBIAtNBEAgBUG2CDYCECAFQc4ENgIUIAVBqw02AhggBUGwAWogBUEQahADIAVBsAFqEAQLIAwgACgCwAEgC0EBdGov.AQAgAi8BAEEQdHI2AgAgDCACKAECNgIEIAwgBSgCrAE2AgggACgCtAEgJUEBdCAHciICTQRAIAVBtgg2AgAgBUHOBDYCBCAFQasNNgIIIAVBsAFqIAUQAyAF.QbABahAECyAMIAAoArABIAJBAnRqKAIANgIMCyAMQRBqIQwgFkEBaiIWIBdHDQALCyAMICNqIQwgFUEBaiIVIB1HDQALCyAYQQFqIhggACgCDC0AEUkNAAsL.IAVBsAVqJABBAQu3BwEYfyMAQdAEayIFJAAgAEHgAWohFCAAKALEASEQAkAgACgC5AEiByADQQFqQX5xIglPDQACQCAAKALoASAJTw0AIBQgCSAHQQFqIAlG.QQgQBg0AIABBAToA7AEMAQsgACAJNgLkAQsgACgCDCIHLQARBEAgBEEBakF+cSEVIABBiAFqIRYgAEHYAGohFyAAQShqIRggAEEQaiEMIAJBAnYgCUECdGtB.AnQhGQNAIBUEQCABIBJBAnRqKAIAIQJBACERA0AgCQRAIBEgBEkhEyARQQFxIhpFIRtBACEHA0AgB0EBcSAbQQFzckUEQCAMIBgQBSENCyAAKALkASAHTQRA.IAVBtgg2AkAgBUHOBDYCRCAFQasNNgJIIAVB0ABqIAVBQGsQAyAFQdAAahAECyAHIANJIQ4gFCgCACAHQQN0aiEGAkAgGgRAIAYtAAAhCAwBCyAGIA1B/wFx.Ig9BAnZBA3E7AQAgDUEDcSEIIA9BBHYhDQsgDiATcSETAkAgCEH/AXEiCEEBTQRAIAhBAWsEQCAGIAwgFxAFIApqIghBACAQIAggEEkbayIKOwEEIAYgDCAX.EAUgC2oiBkEAIBAgBiAQSRtrIgs7AQYMAgsgBiALOwEGIAYgCjsBBAwBCyAGLwEGIQsgBi8BBCEKCyAMIBYQBSEGIAwgFhAFIQ4gEwRAIAAoAtQBIgggBkED.bCIPTQRAIAVBtgg2AjAgBUHOBDYCNCAFQasNNgI4IAVB0ABqIAVBMGoQAyAFQdAAahAEIAAoAtQBIQgLIAAoAtABIhwhBiAIIA5BA2wiDk0EQCAFQbYINgIg.IAVBzgQ2AiQgBUGrDTYCKCAFQdAAaiAFQSBqEAMgBUHQAGoQBCAAKALQASEGCyAAKALEASAKTQRAIAVBtgg2AhAgBUHOBDYCFCAFQasNNgIYIAVB0ABqIAVB.EGoQAyAFQdAAahAECyACIAAoAsABIgggCkEBdGovAQAgD0EBdCAcaiIPLwEAQRB0cjYCACACIA8oAQI2AgQgAiAAKALEASALTQR/IAVBtgg2AgAgBUHOBDYC.BCAFQasNNgIIIAVB0ABqIAUQAyAFQdAAahAEIAAoAsABBSAICyALQQF0ai8BACAOQQF0IAZqIgYvAQBBEHRyNgIIIAIgBigBAjYCDAsgAkEQaiECIAdBAWoi.ByAJRw0ACwsgAiAZaiECIBFBAWoiESAVRw0ACyAAKAIMIQcLIBJBAWoiEiAHLQARSQ0ACwsgBUHQBGokAEEBC7QFARZ/IwBBsARrIgUkACAAQeABaiEQIAAo.AsQBIRECQCAAKALkASIGIANBAWpBfnEiCE8NAAJAIAAoAugBIAhPDQAgECAIIAZBAWogCEZBCBAGDQAgAEEBOgDsAQwBCyAAIAg2AuQBCyAAKAIMIgctABEE.QCAEQQFqQX5xIRIgAEGIAWohEyAAQdgAaiEUIABBKGohFSAAQRBqIQ0gAkECdiAIQQF0a0ECdCEWA0AgEgRAIAEgDkECdGooAgAhAkEAIQsDQCAIBEAgCyAE.SSEPIAtBAXEiF0UhGEEAIQcDQCAHQQFxIBhBAXNyRQRAIA0gFRAFIQoLIAAoAuQBIAdNBEAgBUG2CDYCICAFQc4ENgIkIAVBqw02AiggBUEwaiAFQSBqEAMg.BUEwahAECyAHIANJIRkgECgCACAHQQN0aiEMAkAgFwRAIAwtAAAhBgwBCyAMIApB/wFxIhpBAnZBA3E7AQAgCkEDcSEGIBpBBHYhCgsgDyAZcSEPAkAgBkEB.TQRAIAZBAWsEQCANIBQQBSAJaiIGQQAgESAGIBFJG2shCQsgDCAJOwEEDAELIAwvAQQhCQsgDSATEAUhBiAPBEAgACgC1AEgBkEDbCIGTQRAIAVBtgg2AhAg.BUHOBDYCFCAFQasNNgIYIAVBMGogBUEQahADIAVBMGoQBAsgACgC0AEgBkEBdGohBiAAKALEASAJTQRAIAVBtgg2AgAgBUHOBDYCBCAFQasNNgIIIAVBMGog.BRADIAVBMGoQBAsgAiAAKALAASAJQQF0ai8BACAGLwEAQRB0cjYCACACIAYoAQI2AgQLIAJBCGohAiAHQQFqIgcgCEcNAAsLIAIgFmohAiALQQFqIgsgEkcN.AAsgACgCDCEHCyAOQQFqIg4gBy0AEUkNAAsLIAVBsARqJABBAQv3AQECfyMAQbAEayIDJAACQCAAQQdxBEAgA0G2CDYCICADQckPNgIkIANBrAs2AiggA0Ew.aiADQSBqEAMgA0EwahAEQQAhAAwBCyABQYGA/P8HTwRAIANBtgg2AgAgA0HJDzYCBCADQaMKNgIIIANBMGogAxADIANBMGoQBEEAIQAMAQtB0BMoAgAhBCAD.IAE2AiwgACABIANBLGpBAUHgFigCACAEEQAAIQAgAgRAIAIgAygCLDYCAAsgAEEHcUUNACADQbYINgIQIANB9w82AhQgA0HYCjYCGCADQTBqIANBEGoQAyAD.QTBqEAQLIANBsARqJAAgAAulBwEafyMAQdAEayIFJAAgAEHgAWohESAAKALEASESIAAoAqQBIRMCQCAAKALkASIHIANBAWpBfnEiCU8NAAJAIAAoAugBIAlP.DQAgESAJIAdBAWogCUZBCBAGDQAgAEEBOgDsAQwBCyAAIAk2AuQBCyAAKAIMIggtABEEQCAEQQFqQX5xIRQgAEGIAWohFSAAQfAAaiEWIABB2ABqIRcgAEFA.ayEYIABBKGohGSAAQRBqIQwgAkECdiAJQQJ0a0ECdCEaA0AgFARAIAEgD0ECdGooAgAhAkEAIQ4DQCAJBEAgDiAESSEQIA5BAXEiG0UhHEEAIQgDQCAIQQFx.IBxBAXNyRQRAIAwgGRAFIQ0LIAAoAuQBIAhNBEAgBUG2CDYCQCAFQc4ENgJEIAVBqw02AkggBUHQAGogBUFAaxADIAVB0ABqEAQLIAggA0khHSARKAIAIAhB.A3RqIQYCQCAbBEAgBi0AACEHDAELIAYgDUH/AXEiHkECdkEDcTsBACANQQNxIQcgHkEEdiENCyAQIB1xIRACQCAHQQFNBEAgB0EBawRAIAYgDCAYEAUgCmoi.B0EAIBMgByATSRtrIgo7AQIgBiAMIBcQBSALaiIHQQAgEiAHIBJJG2siCzsBBAwCCyAGIAs7AQQgBiAKOwECDAELIAYvAQQhCyAGLwECIQoLIAwgFhAFIQcg.DCAVEAUhBiAQBEAgACgC1AEgBkEDbCIGTQRAIAVBtgg2AjAgBUHOBDYCNCAFQasNNgI4IAVB0ABqIAVBMGoQAyAFQdAAahAECyAAKALQASAGQQF0aiEGIAAo.AsQBIAtNBEAgBUG2CDYCICAFQc4ENgIkIAVBqw02AiggBUHQAGogBUEgahADIAVB0ABqEAQLIAIgACgCwAEgC0EBdGovAQAgBi8BAEEQdHI2AgAgAiAGKAEC.NgIEIAAoAqQBIApNBEAgBUG2CDYCECAFQc4ENgIUIAVBqw02AhggBUHQAGogBUEQahADIAVB0ABqEAQLIAIgACgCoAEgCkECdGooAgA2AgggACgCtAEgB00E.QCAFQbYINgIAIAVBzgQ2AgQgBUGrDTYCCCAFQdAAaiAFEAMgBUHQAGoQBAsgAiAAKAKwASAHQQJ0aigCADYCDAsgAkEQaiECIAhBAWoiCCAJRw0ACwsgAiAa.aiECIA5BAWoiDiAURw0ACyAAKAIMIQgLIA9BAWoiDyAILQARSQ0ACwsgBUHQBGokAEEBC/4CAQV/IAAoAgwiCS0ADiEKIAktAA8hCwJ/IAktABIiB0ELTQRA.QQhBASAHdEGBHHENARoLQQhBECAHQQ1GGwsgCS0ADSAJLQAMQQh0ciAGdiIHQQEgB0EBSxtBA2pBAnYiCGwhBwJAAkAgBUUEQCAHIQUMAQsgBUEDcQ0BIAcg.BUsNAQsgAkUNACAFIApBCHQgC3IgBnYiBkEBIAZBAUsbQQNqQQJ2IgZsIARLDQAgACABNgIQIABCADcCICAAIAEgAmo2AhggACACNgIcIAAgATYCFCAJLQAS.IgFBDksNAAJAAkACQAJAAkACQAJAAkAgAUEBaw4OCAAAAAAAAgIBAwQFBgAGCyAAIAMgBSAIIAYQQw0GDAcLIAAgAyAFIAggBhBBDQUMBgsgACADIAUgCCAG.EEANBAwFCyAAIAMgBSAIIAYQGw0DDAQLIAAgAyAFIAggBhAbDQIMAwsgACADIAUgCCAGED8NAQwCCyAAIAMgBSAIIAYQPkUNAQsLC9oBAQR/IwBBkARrIgYk.ACAAKAIMIgUgBEECdGooAEYiB0EYdCAHQQh0QYCA/AdxciAHQQh2QYD+A3EgB0EYdnJyIQcCfyAEQQFqIgggBS0AEE8EQCAAKAIIDAELIAUgCEECdGooAEYi.BUEYdCAFQQh0QYCA/AdxciAFQQh2QYD+A3EgBUEYdnJyCyIFIAdNBEAgBkG2CDYCACAGQaYXNgIEIAZBtg02AgggBkEQaiAGEAMgBkEQahAECyAAIAAoAgQg.B2ogBSAHayABIAIgAyAEEEQgBkGQBGokAAuXAQECfwJAIAAoAgwiAS0AJ0EIdCABLQAocgRAQQAhASAAEDZFDQEgABA1RQ0BIAAoAgwhAQsCQCABLQA4IAEt.ADdBCHRyRQ0AQQAhASAAEDRFDQECQCAAKAIMLQASQXRqIgJBAksNAAJAAkAgAkEBaw4CAgABCyAAEDMNAgwDCyAAEDINAQwCCyAAEDFFDQELQQEhAQsgAQvx.AQEDfwJAIAAoAgwiAS0AQUEIdCABLQBCciICRQ0AIAAgACgCBCABLQBFIAEtAERBCHQgAS0AQ0EQdHJyaiIBNgIQIAAgAjYCHCAAIAE2AhQgAEIANwIgIAAg.ASACajYCGCAAQRBqIgEgAEEoahAJRQ0AAkACQCAAKAIMIgItACdBCHQgAi0AKHJFBEAgAi0AOCACLQA3QQh0cg0BDAMLIAEgAEFAaxAJRQ0CIAEgAEHwAGoQ.CUUNAiAAKAIMIgItADdBCHQgAi0AOHJFDQELIAEgAEHYAGoQCUUNASABIABBiAFqEAlFDQELQQEhAwsgAwuKBAEDfyMAQZAEayIEJAACQCAARQ0AIAFBPkkN.AEHwARAQIgJFDQAgAkIANwKwASACQb2V5/cBNgIAIAJCADcCwAEgAkIANwLQASACQgA3AuABIAJCADcCBCACQgA3AjwgAkIANwC1ASACQgA3AMUBIAJCADcA.1QEgAkIANwDlASACQgA3AgwgAkIANwIUIAJCADcCHCACQgA3AiQgAkIANwIsIAJCADcAMSACQgA3AkQgAkIANwBJIAJCADcAYSACQgA3AlwgAkIANwJUIAJC.ADcCbCACQgA3AnQgAkIANwB5IAJCADcChAEgAkIANwKMASACQgA3AJEBIAJCADcCnAEgAkIANwKkASACQQA6AKwBAkACQAJAIAFBygBJDQAgAC0AASAALQAA.QQh0ckH4kAFHDQAgAC0AAyAALQACQQh0ckHKAEkNACAAKAAGIgNBGHQgA0EIdEGAgPwHcXIgA0EIdkGA/gNxIANBGHZyciABTQ0BCyACQQA2AgwMAQsgAiAB.NgIIIAIgADYCBCACIAA2AgwgAhBHRQ0AIAIQRkUNACACIQMMAQsgAhAcIAJBB3EEQCAEQbYINgIAIARByQ82AgQgBEHCCzYCCCAEQRBqIAQQAyAEQRBqEARB.ACEDDAELQQAhAyACQQBBAEEBQeAWKAIAQdATKAIAEQAAGgsgBEGQBGokACADCwMAAQsL8AkZAEGACAugBCVzKCV1KTogQXNzZXJ0aW9uIGZhaWx1cmU6ICIl.cyIKAG1fc2l6ZSA8PSBtX2NhcGFjaXR5AC4vaW5jXGNybl9kZWNvbXAuaABtaW5fbmV3X2NhcGFjaXR5IDwgKDB4N0ZGRjAwMDBVIC8gZWxlbWVudF9zaXpl.KQBuZXdfY2FwYWNpdHkgJiYgKG5ld19jYXBhY2l0eSA+IG1fY2FwYWNpdHkpAG51bV9jb2Rlc1tjXQBzb3J0ZWRfcG9zIDwgdG90YWxfdXNlZF9zeW1zAHBD.b2Rlc2l6ZXNbc3ltX2luZGV4XSA9PSBjb2Rlc2l6ZQB0IDwgKDFVIDw8IHRhYmxlX2JpdHMpAG1fbG9va3VwW3RdID09IGNVSU5UMzJfTUFYAGNybmRfbWFs.bG9jOiBzaXplIHRvbyBiaWcAY3JuZF9tYWxsb2M6IG91dCBvZiBtZW1vcnkAKCh1aW50MzIpIHJlaW50ZXJwcmV0X2Nhc3Q8dWludHB0cl90PihwX25ldykg.JiAoQ1JORF9NSU5fQUxMT0NfQUxJR05NRU5UIC0gMSkpID09IDAAY3JuZF9yZWFsbG9jOiBiYWQgcHRyAGNybmRfZnJlZTogYmFkIHB0cgBmYWxzZQAodG90.YWxfc3ltcyA+PSAxKSAmJiAodG90YWxfc3ltcyA8PSBwcmVmaXhfY29kaW5nOjpjTWF4U3VwcG9ydGVkU3ltcykAQbAMC6gCERITFAAIBwkGCgULBAwDDQIO.AQ8QMAB0ICE9IGNVSU5UMzJfTUFYAG1vZGVsLm1fY29kZV9zaXplc1tzeW1dID09IGxlbgAAAgMEBQYHAShsZW4gPj0gMSkgJiYgKGxlbiA8PSBjTWF4RXhw.ZWN0ZWRDb2RlU2l6ZSkAaSA8IG1fc2l6ZQBuZXh0X2xldmVsX29mcyA+IGN1cl9sZXZlbF9vZnMAbnVtICYmIChudW0gPT0gfnJlaW50ZXJwcmV0X2Nhc3Q8.dWludDMyKj4ocClbLTJdKQAACAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAACAAAAAgAAAAIAAAAEAAAAAgAAAAQAAAA2AkAAC0rICAgMFgw.eAAobnVsbCkAQeAOCxgRAAoAERERAAAAAAUAAAAAAAAJAAAAAAsAQYAPCyERAA8KERERAwoHAAETCQsLAAAJBgsAAAsABhEAAAAREREAQbEPCwELAEG6DwsY.EQAKChEREQAKAAACAAkLAAAACQALAAALAEHrDwsBDABB9w8LFQwAAAAADAAAAAAJDAAAAAAADAAADABBpRALAQ4AQbEQCxUNAAAABA0AAAAACQ4AAAAAAA4A.AA4AQd8QCwEQAEHrEAseDwAAAAAPAAAAAAkQAAAAAAAQAAAQAAASAAAAEhISAEGiEQsOEgAAABISEgAAAAAAAAkAQdMRCwELAEHfEQsVCgAAAAAKAAAAAAkL.AAAAAAALAAALAEGNEgsBDABBmRILJwwAAAAADAAAAAAJDAAAAAAADAAADAAAMDEyMzQ1Njc4OUFCQ0RFRgBB5BILAQUAQYsTCwX//////wBB0BMLCQEAAAAA.AAAABQBB5BMLAQIAQfwTCw4DAAAABAAAAHgLAAAABABBlBQLAQEAQaMUCwUK/////wBBpBYLAqQP`.split(`.`).join(``),hv=function(e){return typeof document>`u`?e:(mv||(mv=document.createElement(`a`)),mv.href=e,mv.href=mv.href,mv.href)},typeof WebAssembly<`u`){for(_v in $=$===void 0?{}:$,gv={},$)$.hasOwnProperty(_v)&&(gv[_v]=$[_v]);for(_v in vv=[],yv=!1,bv=!1,xv=!1,Sv=!1,Cv=!1,yv=typeof window==`object`,bv=typeof importScripts==`function`,Sv=typeof process==`object`&&typeof process.versions==`object`&&typeof process.versions.node==`string`,xv=Sv&&!yv&&!bv,Cv=!yv&&!xv&&!bv,wv=``,xv?(wv=typeof __dirname<`u`?__dirname+`/`:``,Tv=function(e,t){throw Error(`crunch_decoder: wasm 已内联,不支持按路径读取(`+e+`)`)},Ev=function(e){return Tv(e,!0)},process.argv.length>1&&process.argv[1].replace(/\\/g,`/`),vv=process.argv.slice(2),process.on(`uncaughtException`,function(e){if(!(e instanceof w))throw e}),process.on(`unhandledRejection`,m),$.inspect=function(){return`[Emscripten Module object]`}):Cv?(typeof read<`u`&&(Tv=function(e){return read(e)}),Ev=function(t){var n;return typeof readbuffer==`function`?new Uint8Array(readbuffer(t)):(n=read(t,`binary`),e(typeof n==`object`),n)},typeof scriptArgs<`u`?vv=scriptArgs:typeof arguments<`u`&&(vv=arguments),typeof print<`u`&&(typeof console>`u`&&(console={}),console.log=print,console.warn=console.error=typeof printErr<`u`?printErr:print)):(yv||bv)&&(bv?wv=self.location.href:document.currentScript&&(wv=document.currentScript.src),wv=wv.indexOf(`blob:`)===0?``:wv.substr(0,wv.lastIndexOf(`/`)+1),Tv=function(e){var t=new XMLHttpRequest;return t.open(`GET`,e,!1),t.send(null),t.responseText},bv&&(Ev=function(e){var t=new XMLHttpRequest;return t.open(`GET`,e,!1),t.responseType=`arraybuffer`,t.send(null),new Uint8Array(t.response)})),Dv=$.print||console.log.bind(console),Ov=$.printErr||console.warn.bind(console),gv)gv.hasOwnProperty(_v)&&($[_v]=gv[_v]);gv=null,$.arguments&&(vv=$.arguments),$.thisProgram&&$.thisProgram,$.quit&&$.quit,kv=fv(),$.noExitRuntime&&$.noExitRuntime,typeof WebAssembly!=`object`&&Ov(`no native wasm support detected`),jv=new WebAssembly.Table({initial:6,maximum:6,element:`anyfunc`}),Mv=!1;function e(e,t){e||m(`Assertion failed: `+t)}Nv=typeof TextDecoder<`u`?new TextDecoder(`utf8`):void 0;function t(e,t,n){for(var r=t+n,i=t;e[i]&&!(i>=r);)++i;if(i-t>16&&e.subarray&&Nv)return Nv.decode(e.subarray(t,i));for(var a=``;t<i;){var o=e[t++];if(!(o&128))a+=String.fromCharCode(o);else{var s=e[t++]&63;if((o&224)==192)a+=String.fromCharCode((o&31)<<6|s);else{var c=e[t++]&63;if(o=(o&240)==224?(o&15)<<12|s<<6|c:(o&7)<<18|s<<12|c<<6|e[t++]&63,o<65536)a+=String.fromCharCode(o);else{var l=o-65536;a+=String.fromCharCode(55296|l>>10,56320|l&1023)}}}}return a}function n(e,n){return e?t(Lv,e,n):``}typeof TextDecoder<`u`&&new TextDecoder(`utf-16le`),Pv=65536;function r(e,t){return e%t>0&&(e+=t-e%t),e}function i(e){Fv=e,$.HEAP8=Iv=new Int8Array(e),$.HEAP16=new Int16Array(e),$.HEAP32=Rv=new Int32Array(e),$.HEAPU8=Lv=new Uint8Array(e),$.HEAPU16=new Uint16Array(e),$.HEAPU32=new Uint32Array(e),$.HEAPF32=new Float32Array(e),$.HEAPF64=new Float64Array(e)}zv=5247584,Bv=4544,Vv=$.TOTAL_MEMORY||16777216,Av=$.wasmMemory?$.wasmMemory:new WebAssembly.Memory({initial:Vv/Pv}),Av&&(Fv=Av.buffer),Vv=Fv.byteLength,i(Fv),Rv[Bv>>2]=zv;function a(e){for(;e.length>0;){var t=e.shift();if(typeof t==`function`)t();else{var n=t.func;typeof n==`number`?t.arg===void 0?$.dynCall_v(n):$.dynCall_vi(n,t.arg):n(t.arg===void 0?null:t.arg)}}}Hv=[],Uv=[],Wv=[],Gv=[];function o(){if($.preRun)for(typeof $.preRun==`function`&&($.preRun=[$.preRun]);$.preRun.length;)u($.preRun.shift());a(Hv)}function s(){a(Uv)}function c(){a(Wv)}function l(){if($.postRun)for(typeof $.postRun==`function`&&($.postRun=[$.postRun]);$.postRun.length;)d($.postRun.shift());a(Gv)}function u(e){Hv.unshift(e)}function d(e){Gv.unshift(e)}Kv=0,qv=null,Jv=null;function f(e){Kv++,$.monitorRunDependencies&&$.monitorRunDependencies(Kv)}function p(e){if(Kv--,$.monitorRunDependencies&&$.monitorRunDependencies(Kv),Kv==0&&(qv!==null&&(clearInterval(qv),qv=null),Jv)){var t=Jv;Jv=null,t()}}$.preloadedImages={},$.preloadedAudios={};function m(e){throw $.onAbort&&$.onAbort(e),e+=``,Dv(e),Ov(e),Mv=!0,e=`abort(`+e+`). Build with -s ASSERTIONS=1 for more info.`,new WebAssembly.RuntimeError(e)}Yv=`data:application/octet-stream;base64,`;function h(e){return String.prototype.startsWith?e.startsWith(Yv):e.indexOf(Yv)===0}Xv=`crunch.wasm`,h(Xv)||(Xv=hv(`./S3M_module/S3MTiles/ThirdParty/crunch.wasm`));function g(){try{if(kv)return new Uint8Array(kv);if(Ev)return Ev(Xv);throw`both async and sync fetching of the wasm failed`}catch(e){m(e)}}function _(){return!kv&&(yv||bv)&&typeof fetch==`function`?fetch(Xv,{credentials:`same-origin`}).then(function(e){if(!e.ok)throw`failed to load wasm binary file at '`+Xv+`'`;return e.arrayBuffer()}).catch(function(){return g()}):new Promise(function(e,t){e(g())})}function v(){var e={env:$v,wasi_unstable:$v};function t(e,t){$.asm=e.exports,p(`wasm-instantiate`)}f(`wasm-instantiate`);function n(e){t(e.instance)}function r(t){return _().then(function(t){return WebAssembly.instantiate(t,e)}).then(t,function(e){Ov(`failed to asynchronously prepare wasm: `+e),m(e)})}function i(){if(!kv&&typeof WebAssembly.instantiateStreaming==`function`&&!h(Xv)&&typeof fetch==`function`)fetch(Xv,{credentials:`same-origin`}).then(function(t){return WebAssembly.instantiateStreaming(t,e).then(n,function(e){Ov(`wasm streaming compile failed: `+e),Ov(`falling back to ArrayBuffer instantiation`),r(n)})});else return r(n)}if($.instantiateWasm)try{return $.instantiateWasm(e,t)}catch(e){return Ov(`Module.instantiateWasm callback failed with error: `+e),!1}return i(),{}}Uv.push({func:function(){ty()}});function y(){return Iv.length}function b(e,t,n){Lv.set(Lv.subarray(t,t+n),e)}function x(e){try{return Av.grow(e-Fv.byteLength+65535>>16),i(Av.buffer),1}catch{}}function S(e){var t=y(),n=65536,i=2147483648-n;if(e>i)return!1;for(var a=Math.max(t,16777216);a<e;)a=a<=536870912?r(2*a,n):Math.min(r((3*a+2147483648)/4,n),i);return!!x(a)}Zv={splitPath:function(e){return/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(e).slice(1)},normalizeArray:function(e,t){for(var n=0,r=e.length-1;r>=0;r--){var i=e[r];i===`.`?e.splice(r,1):i===`..`?(e.splice(r,1),n++):n&&(e.splice(r,1),n--)}if(t)for(;n;n--)e.unshift(`..`);return e},normalize:function(e){var t=e.charAt(0)===`/`,n=e.substr(-1)===`/`;return e=Zv.normalizeArray(e.split(`/`).filter(function(e){return!!e}),!t).join(`/`),!e&&!t&&(e=`.`),e&&n&&(e+=`/`),(t?`/`:``)+e},dirname:function(e){var t=Zv.splitPath(e),n=t[0],r=t[1];return!n&&!r?`.`:(r&&(r=r.substr(0,r.length-1)),n+r)},basename:function(e){if(e===`/`)return`/`;var t=e.lastIndexOf(`/`);return t===-1?e:e.substr(t+1)},extname:function(e){return Zv.splitPath(e)[3]},join:function(){var e=Array.prototype.slice.call(arguments,0);return Zv.normalize(e.join(`/`))},join2:function(e,t){return Zv.normalize(e+`/`+t)}},Qv={buffers:[null,[],[]],printChar:function(e,n){var r=Qv.buffers[e];n===0||n===10?((e===1?Dv:Ov)(t(r,0)),r.length=0):r.push(n)},varargs:0,get:function(e){return Qv.varargs+=4,Rv[Qv.varargs-4>>2]},getStr:function(){return n(Qv.get())},get64:function(){var e=Qv.get();return Qv.get(),e},getZero:function(){Qv.get()}};function C(e,t,n,r){try{for(var i=0,a=0;a<n;a++){for(var o=Rv[t+a*8>>2],s=Rv[t+(a*8+4)>>2],c=0;c<s;c++)Qv.printChar(e,Lv[o+c]);i+=s}return Rv[r>>2]=i,0}catch(e){return typeof FS<`u`&&e instanceof FS.ErrnoError||m(e),e.errno}}$v={a:b,b:S,c:C,memory:Av,table:jv},ey=v(),$.asm=ey,ty=$.___wasm_call_ctors=function(){return $.asm.d.apply(null,arguments)},$._malloc=function(){return $.asm.e.apply(null,arguments)},$._free=function(){return $.asm.f.apply(null,arguments)},$._crn_get_width=function(){return $.asm.g.apply(null,arguments)},$._crn_get_height=function(){return $.asm.h.apply(null,arguments)},$._crn_get_levels=function(){return $.asm.i.apply(null,arguments)},$._crn_get_dxt_format=function(){return $.asm.j.apply(null,arguments)},$._crn_get_bytes_per_block=function(){return $.asm.k.apply(null,arguments)},$._crn_get_uncompressed_size=function(){return $.asm.l.apply(null,arguments)},$._crn_decompress=function(){return $.asm.m.apply(null,arguments)},$.asm=ey;function w(e){this.name=`ExitStatus`,this.message=`Program terminated with exit(`+e+`)`,this.status=e}Jv=function e(){ny||T(),ny||(Jv=e)};function T(e){if(e=e||vv,Kv>0||(o(),Kv>0))return;function t(){ny||(ny=!0,!Mv&&(s(),c(),$.onRuntimeInitialized&&$.onRuntimeInitialized(),l()))}$.setStatus?($.setStatus(`Running...`),setTimeout(function(){setTimeout(function(){$.setStatus(``)},1),t()},1)):t()}if($.run=T,$.preInit)for(typeof $.preInit==`function`&&($.preInit=[$.preInit]);$.preInit.length>0;)$.preInit.pop()();T()}}));function iy(e){return!!e.asm&&Object.keys(e.asm).length>0}async function ay(){return cy||(cy=(async()=>{let e=(await Promise.resolve().then(()=>(ry(),dv))).default;return iy(e)||await new Promise(t=>{e.onRuntimeInitialized=()=>t();let n=()=>{iy(e)?t():setTimeout(n,8)};n()}),e})()),cy}function oy(e){return e.length>=2&&e[0]===ly[0]&&e[1]===ly[1]}async function sy(e){let t=e.byteLength;if(!t)throw Error(`[s3m] CRN 数据为空`);if(!oy(e))throw Error(`[s3m] 数据没有 CRN 头(Hx),不是 crunch 负载`);let n=await ay(),r=n._malloc(t);if(!r)throw Error(`[s3m] crunch 分配源数据失败`);try{n.HEAPU8.set(e,r);let i=n._crn_get_dxt_format(r,t),a=i===0?1:i===1?3:i===2?5:0;if(!a)throw Error(`[s3m] 不是可识别的 CRN 数据(dxtFormat=${i})`);let o=n._crn_get_width(r,t),s=n._crn_get_height(r,t),c=n._crn_get_levels(r,t);if(!(o>0)||!(s>0))throw Error(`[s3m] CRN 尺寸异常:${o}×${s}`);let l=a===1?8:16,u=Math.max(1,o>>2)*Math.max(1,s>>2)*l,d=n._malloc(u);if(!d)throw Error(`[s3m] crunch 分配输出缓冲失败`);try{return n._crn_decompress(r,t,d,u,0,1),{width:o,height:s,levels:c,dxtFormat:a,data:new Uint8Array(n.HEAPU8.subarray(d,d+u))}}finally{n._free(d)}}finally{n._free(r)}}var cy,ly,uy=n((()=>{cy=null,ly=[72,120]}));function dy(e,t,n){let r=t*4,i=new Uint8Array(r);for(let t=0;t<n>>1;t++){let a=t*r,o=(n-1-t)*r;i.set(e.subarray(a,a+r)),e.copyWithin(a,o,o+r),e.set(i,o)}}function fy(e){return e===rv.DXT3||e===rv.DXT4||e===rv.DXT5||e===rv.ARGB||e===rv.ABGR||e===rv.BGRA||e===rv.RGBA}function py(e){let{width:t,height:n,pixelFormat:r,data:i}=e,a=new Uint8Array(t*n*4);return N_.decode(a,t,n,i,r),e.flipY&&dy(a,t,n),{rgba:a,hasAlpha:fy(r)}}function my(e){let{width:t,height:n,pixelFormat:r,data:i}=e,a=new Uint8Array(t*n*4),o=r===rv.RGBA||r===rv.BGRA||r===rv.ARGB||r===rv.ABGR,s=r===rv.BGR||r===rv.BGRA,c=r===rv.ARGB||r===rv.ABGR,l=o?4:3;for(let e=0,r=0,u=0;e<t*n;e++,r+=l,u+=4){let e=c?r+1:r;a[u]=s?i[e+2]:i[e],a[u+1]=i[e+1],a[u+2]=s?i[e]:i[e+2],a[u+3]=o?i[c?r:r+3]:255}return e.flipY&&dy(a,t,n),{rgba:a,hasAlpha:fy(r)}}function hy(e,t,n){return(e+3>>2)*(t+3>>2)*(n===`dxt1`?8:16)}async function gy(e,t={}){let n={kind:`unsupported(0/0)`,width:0,height:0,rgba:null,bitmap:null,hasAlpha:!1};if(!e||!e.width||!e.height)return n;let r=tv(e.compressType??0,e.pixelFormat),i=t.compressed===!0&&!e.flipY,a=(e,t,n,r)=>e.byteLength===hy(t,n,r);if(r===`crn`)try{let t=await sy(e.data),n=t.dxtFormat===1?rv.DXT1:rv.DXT5,r=t.dxtFormat===1?`dxt1`:`dxt5`;if(i&&a(t.data,t.width,t.height,r))return{kind:`crn->dxt${t.dxtFormat}(c)`,width:t.width,height:t.height,rgba:null,bitmap:null,hasAlpha:n===rv.DXT5,blocks:t.data,blockFormat:r};let o=py({width:t.width,height:t.height,pixelFormat:n,data:t.data});return{kind:`crn->dxt${t.dxtFormat}`,width:t.width,height:t.height,rgba:o.rgba,bitmap:null,hasAlpha:o.hasAlpha}}catch(t){return{kind:`crn(failed)`,width:e.width,height:e.height,rgba:null,bitmap:null,hasAlpha:!1,error:String(t?.message??t)}}if(r===`dxt1`||r===`dxt3`||r===`dxt4`||r===`dxt5`){let t=nv(r);if(i&&(r===`dxt1`||r===`dxt5`)&&a(e.data,e.width,e.height,r))return{kind:`${r}(c)`,width:e.width,height:e.height,rgba:null,bitmap:null,hasAlpha:r===`dxt5`,blocks:e.data,blockFormat:r};let n=py({...e,pixelFormat:t});return{kind:r,width:e.width,height:e.height,rgba:n.rgba,bitmap:null,hasAlpha:n.hasAlpha}}if(r===`webp`){let t=new Blob([e.data],{type:`image/webp`}),n=await createImageBitmap(t);return{kind:r,width:n.width,height:n.height,rgba:null,bitmap:n,hasAlpha:!0}}if(r===`raw`){let t=my(e);return{kind:r,width:e.width,height:e.height,rgba:t.rgba,bitmap:null,hasAlpha:t.hasAlpha}}return{...n,kind:`unsupported(${e.compressType}/${e.pixelFormat})`}}var _y=n((()=>{P_(),uy(),sv()}));function vy(e){Ty=Math.max(1,e|0)}function yy(e){Ey=e}function by(e){Dy=e}async function xy(e,t){if(Dy){let n=await Dy(e,t);if(n)return n}return gy(e,{compressed:t})}function Sy(e,t=!0){return e.wrapS=Ir,e.wrapT=Ir,e.magFilter=Ur,e.minFilter=Kr,e.generateMipmaps=!0,e.anisotropy=Ty,t&&(e.colorSpace=fa),e.flipY=!1,e.needsUpdate=!0,e}function Cy(e){return Sy(e),e.wrapS=z,e.wrapT=z,e.minFilter=Ur,e.generateMipmaps=!1,e.anisotropy=1,e.needsUpdate=!0,e}async function wy(e){if(!e||!e.width||!e.height)return{texture:null,decoded:`empty`};let t=e.packed===!0||e.flipY===!0||e.composed===!0,n=await xy(e,Ey&&!t);if(!n.rgba&&!n.blocks&&!n.bitmap)return n.error&&console.warn(`[s3m] CRN 转码失败:`,n.error),{texture:null,decoded:n.kind};let r;if(n.bitmap)r=new ro(n.bitmap);else if(n.blocks&&n.blockFormat){let e=n.blockFormat===`dxt1`?yi:Si;r=new yd([{data:n.blocks,width:n.width,height:n.height}],n.width,n.height,e,Jr)}else{let e=new Cu(n.rgba,n.width,n.height,ci,Jr);n.hasAlpha&&(e.userData.s3mHasAlpha=!0),r=e}r.needsUpdate=!0;let i=t?Cy(r):Sy(r);return n.blocks&&(i.generateMipmaps=!1,i.minFilter=Ur),{texture:i,decoded:n.kind}}var Ty,Ey,Dy,Oy=n((()=>{_y(),sv(),Ty=1,Ey=!1,Dy=null})),ky,Ay=n((()=>{uh(),ky=class e{constructor(t,n={}){X(this,`_pts`,void 0),X(this,`_cum`,void 0),X(this,`length`,void 0);let r=e._flatten(t),i=n.closed===!0&&r.length>=9,a=r.length/3,o=i?a+1:a;this._pts=new Float32Array(o*3),this._pts.set(r),i&&(this._pts[o*3-3]=r[0],this._pts[o*3-2]=r[1],this._pts[o*3-1]=r[2]),this._cum=new Float32Array(Math.max(o,1));let s=0;for(let e=1;e<o;e++){let t=(e-1)*3,n=e*3;s+=Math.hypot(this._pts[n]-this._pts[t],this._pts[n+1]-this._pts[t+1],this._pts[n+2]-this._pts[t+2]),this._cum[e]=s}this.length=s}sample(e,t){let n=this._pts.length/3;if(n===0){t[0]=t[1]=t[2]=0;return}if(n===1||this.length<=0){t[0]=this._pts[0],t[1]=this._pts[1],t[2]=this._pts[2];return}let r=Math.min(this.length,Math.max(0,e)),i=0,a=n-1;for(;a-i>1;){let e=i+a>>1;this._cum[e]<=r?i=e:a=e}let o=this._cum[a]-this._cum[i],s=o>0?(r-this._cum[i])/o:0,c=i*3,l=a*3;t[0]=this._pts[c]+(this._pts[l]-this._pts[c])*s,t[1]=this._pts[c+1]+(this._pts[l+1]-this._pts[c+1])*s,t[2]=this._pts[c+2]+(this._pts[l+2]-this._pts[c+2])*s}sampleAt(e,t){this.sample(Math.min(1,Math.max(0,e))*this.length,t)}static _flatten(e){if(e.length===0)return new Float32Array;if(typeof e[0]==`number`){let t=e;if(t.length%3!=0)throw Error(`[s3m] 路径点数组长度必须是 3 的倍数`);return Float32Array.from(t)}let t=e,n=new Float32Array(t.length*3);for(let e=0;e<t.length;e++)n[e*3]=t[e][0],n[e*3+1]=t[e][1],n[e*3+2]=t[e][2];return n}}})),jy,My,Ny=n((()=>{rh(),Ay(),uh(),jy=256,My=class e{constructor(){X(this,`_paths`,new Map),X(this,`_nextId`,0),X(this,`_texture`,null),X(this,`_data`,null),X(this,`_dirty`,!1)}registerPath(e,t={}){let n=e instanceof ky?e:new ky(e,{closed:t.closed}),r=t.id;if(r==null)for(r=this._nextId++;this._paths.has(r);)r=this._nextId++;else r>=this._nextId&&(this._nextId=r+1);return this._paths.set(r,{id:r,name:t.name,path:n}),this._dirty=!0,r}unregisterPath(e){let t=this._paths.delete(e);return t&&(this._dirty=!0),t}getPath(e){return this._paths.get(e)?.path}hasPath(e){return this._paths.has(e)}getPathIds(){return Array.from(this._paths.keys()).sort((e,t)=>e-t)}clear(){this._paths.size>0&&(this._paths.clear(),this._nextId=0,this._dirty=!0)}get count(){return this._paths.size}getTexture(){return(this._dirty||!this._texture)&&this._bake(),this._texture??e.DUMMY_PATH_TEX}updateUniforms(e){let t=this.getTexture(),n=+(this._paths.size>0),r=this._getMaxPathId(),i=Math.max(r+1,1);e.uPathTex&&(e.uPathTex.value=t),e.uPathCount&&(e.uPathCount.value=i),e.uPathTexActive&&(e.uPathTexActive.value=n)}_bake(){if(this._dirty=!1,this._paths.size===0){this._texture&&this._texture!==e.DUMMY_PATH_TEX&&this._texture.dispose(),this._texture=e.DUMMY_PATH_TEX,this._data=null;return}let t=this._getMaxPathId(),n=Math.max(t+1,1),r=256*n*4;!this._data||this._data.length!==r?(this._texture&&this._texture!==e.DUMMY_PATH_TEX&&this._texture.dispose(),this._data=new Float32Array(r),this._texture=new Cu(this._data,256,n,ci,ei),this._texture.minFilter=Ur,this._texture.magFilter=Ur,this._texture.wrapS=z,this._texture.wrapT=z):this._data.fill(0);let i=[0,0,0],a=[0,0,0];for(let[e,t]of this._paths){if(e<0||e>=n)continue;let r=t.path,o=e*256*4,s=0;for(let e=0;e<256;e++){let t=e/255;r.sampleAt(t,i);let n=s;if(r.length>1e-4){let e=Math.min(1,t+.001);r.sampleAt(e,a);let o=a[0]-i[0],s=a[1]-i[1];if(o*o+s*s<1e-8&&t>0){let e=Math.max(0,t-.001);r.sampleAt(e,a),o=i[0]-a[0],s=i[1]-a[1]}o*o+s*s>=1e-8&&(n=Math.atan2(s,o))}if(e>0){let e=n-s;for(;e>Math.PI;)n-=2*Math.PI,e=n-s;for(;e<-Math.PI;)n+=2*Math.PI,e=n-s}s=n;let c=o+e*4;this._data[c+0]=i[0],this._data[c+1]=i[1],this._data[c+2]=i[2],this._data[c+3]=n}}this._texture&&(this._texture.needsUpdate=!0)}_getMaxPathId(){let e=0;for(let t of this._paths.keys())t>e&&(e=t);return e}sampleBaked(e,t){if(!this._data||!this._paths.has(e))return{position:[0,0,0],yaw:0};let n=this._getMaxPathId();if(e<0||e>n)return{position:[0,0,0],yaw:0};let r=Math.min(1,Math.max(0,t))*255,i=Math.floor(r),a=Math.min(255,i+1),o=r-i,s=e*256*4,c=s+i*4,l=s+a*4,u=this._data[c+0]*(1-o)+this._data[l+0]*o,d=this._data[c+1]*(1-o)+this._data[l+1]*o,f=this._data[c+2]*(1-o)+this._data[l+2]*o,p=this._data[c+3]*(1-o)+this._data[l+3]*o;return{position:[u,d,f],yaw:p}}dispose(){this._texture&&this._texture!==e.DUMMY_PATH_TEX&&(this._texture.dispose(),this._texture=null),this._data=null,this._paths.clear()}},X(My,`DUMMY_PATH_TEX`,(()=>{let e=new Cu(new Float32Array(1024),256,1,ci,ei);return e.minFilter=Ur,e.magFilter=Ur,e.wrapS=z,e.wrapT=z,e.needsUpdate=!0,e})())}));function Py(){return{uMode:{value:Ly.TEXTURE},uColorA:{value:new W(`#dfe6ee`)},uColorB:{value:new W(`#1d4ed8`)},uColorC:{value:new W(`#fbbf24`)},uTime:{value:0},uHeightMin:{value:0},uHeightMax:{value:120},uFloorHeight:{value:3.2},uDim:{value:0},uDimFactor:{value:.42},uSelColor:{value:new W(`#22d3ee`)},uSelMix:{value:0},uSelMode:{value:1},uSelOpacity:{value:.65},uSelEmissive:{value:.35},uSelElevation:{value:0},uFilterMinZ:{value:-99999},uFilterMaxZ:{value:99999},uFilterHeightActive:{value:0},uRoofThreshold:{value:.65},uTexMix:{value:0},uAmbientGain:{value:0},uBatchMix:{value:0},uPathTex:{value:My.DUMMY_PATH_TEX},uPathCount:{value:1},uPathTexActive:{value:0},uPathTime:{value:0},uOpacity:{value:1},uEdgeFade:{value:1},uFade:{value:1}}}function Fy(e){let t=e.uniforms,n=new vf({color:e.color??new W(16777215),map:e.map??null,roughness:e.roughness??.95,metalness:0,side:e.side??2,transparent:!!e.transparent,opacity:e.opacity??1,depthWrite:!e.transparent,flatShading:e.flatShading!==!1,vertexColors:!1,alphaTest:e.alphaTest??0}),r={value:-1},i={value:0},a={value:Uy},o={value:Uy},s={value:1},c={value:0},l={value:1},u=!!e.atlas&&!!e.map,d=u?e.secMap??null:null;u&&(n.defines={...n.defines,S3M_ATLAS:``}),d&&(n.defines={...n.defines,S3M_ATLAS_SEC:``});let f={value:new B(e.map?.image?.width||1,e.map?.image?.height||1)},p={value:new B(d?.image?.width||1,d?.image?.height||1)};return n.onBeforeCompile=e=>{Object.assign(e.uniforms,t,{uSelBatch:r,uSelWhole:i,uBatchTex:a,uBatchTex2:o,uBatchTexWidth:s,uBatchTexActive:c,uTileFade:l,uSecMap:{value:d},uAtlasDim:f,uAtlasDim1:p}),e.vertexShader=e.vertexShader.replace(`#include <common>`,`#include <common>\n${Wy}`).replace(`#include <beginnormal_vertex>`,`#include <beginnormal_vertex>\n${Gy}`).replace(`#include <begin_vertex>`,`#include <begin_vertex>\n${Ky}`).replace(`#include <worldpos_vertex>`,qy),e.fragmentShader=e.fragmentShader.replace(`#include <common>`,`#include <common>\n${Jy}`).replace(`#include <color_fragment>`,`#include <color_fragment>\n${Yy}`).replace(`#include <emissivemap_fragment>`,`#include <emissivemap_fragment>\n${Xy}`),u?e.fragmentShader=e.fragmentShader.replace(`#include <map_fragment>`,`
3835
+ }`,Ll=class{constructor(){this.texture=null,this.mesh=null,this.depthNear=0,this.depthFar=0}init(e,t,n){if(this.texture===null){let r=new ro,i=e.properties.get(r);i.__webglTexture=t.texture,(t.depthNear!=n.depthNear||t.depthFar!=n.depthFar)&&(this.depthNear=t.depthNear,this.depthFar=t.depthFar),this.texture=r}}getMesh(e){if(this.texture!==null&&this.mesh===null){let t=e.cameras[0].viewport,n=new gc({vertexShader:Fl,fragmentShader:Il,uniforms:{depthColor:{value:this.texture},depthWidth:{value:t.z},depthHeight:{value:t.w}}});this.mesh=new dc(new Pc(20,20),n)}return this.mesh}reset(){this.texture=null,this.mesh=null}getDepthTexture(){return this.texture}},Rl=class extends Ra{constructor(e,t){super();let n=this,r=null,i=1,a=null,o=`local-floor`,s=1,c=null,l=null,u=null,d=null,f=null,p=null,m=new Ll,h=t.getContextAttributes(),g=null,_=null,v=[],y=[],b=new B,x=null,S=new xc;S.layers.enable(1),S.viewport=new io;let C=new xc;C.layers.enable(2),C.viewport=new io;let w=[S,C],T=new jl;T.layers.enable(1),T.layers.enable(2);let E=null,D=null;this.cameraAutoUpdate=!0,this.enabled=!1,this.isPresenting=!1,this.getController=function(e){let t=v[e];return t===void 0&&(t=new Pl,v[e]=t),t.getTargetRaySpace()},this.getControllerGrip=function(e){let t=v[e];return t===void 0&&(t=new Pl,v[e]=t),t.getGripSpace()},this.getHand=function(e){let t=v[e];return t===void 0&&(t=new Pl,v[e]=t),t.getHandSpace()};function O(e){let t=y.indexOf(e.inputSource);if(t===-1)return;let n=v[t];n!==void 0&&(n.update(e.inputSource,e.frame,c||a),n.dispatchEvent({type:e.type,data:e.inputSource}))}function k(){r.removeEventListener(`select`,O),r.removeEventListener(`selectstart`,O),r.removeEventListener(`selectend`,O),r.removeEventListener(`squeeze`,O),r.removeEventListener(`squeezestart`,O),r.removeEventListener(`squeezeend`,O),r.removeEventListener(`end`,k),r.removeEventListener(`inputsourceschange`,A);for(let e=0;e<v.length;e++){let t=y[e];t!==null&&(y[e]=null,v[e].disconnect(t))}E=null,D=null,m.reset(),e.setRenderTarget(g),f=null,d=null,u=null,r=null,_=null,oe.stop(),n.isPresenting=!1,e.setPixelRatio(x),e.setSize(b.width,b.height,!1),n.dispatchEvent({type:`sessionend`})}this.setFramebufferScaleFactor=function(e){i=e,n.isPresenting===!0&&console.warn(`THREE.WebXRManager: Cannot change framebuffer scale while presenting.`)},this.setReferenceSpaceType=function(e){o=e,n.isPresenting===!0&&console.warn(`THREE.WebXRManager: Cannot change reference space type while presenting.`)},this.getReferenceSpace=function(){return c||a},this.setReferenceSpace=function(e){c=e},this.getBaseLayer=function(){return d===null?f:d},this.getBinding=function(){return u},this.getFrame=function(){return p},this.getSession=function(){return r},this.setSession=async function(l){if(r=l,r!==null){if(g=e.getRenderTarget(),r.addEventListener(`select`,O),r.addEventListener(`selectstart`,O),r.addEventListener(`selectend`,O),r.addEventListener(`squeeze`,O),r.addEventListener(`squeezestart`,O),r.addEventListener(`squeezeend`,O),r.addEventListener(`end`,k),r.addEventListener(`inputsourceschange`,A),h.xrCompatible!==!0&&await t.makeXRCompatible(),x=e.getPixelRatio(),e.getSize(b),r.renderState.layers===void 0){let n={antialias:h.antialias,alpha:!0,depth:h.depth,stencil:h.stencil,framebufferScaleFactor:i};f=new XRWebGLLayer(r,t,n),r.updateRenderState({baseLayer:f}),e.setPixelRatio(1),e.setSize(f.framebufferWidth,f.framebufferHeight,!1),_=new oo(f.framebufferWidth,f.framebufferHeight,{format:ci,type:Jr,colorSpace:e.outputColorSpace,stencilBuffer:h.stencil})}else{let n=null,a=null,o=null;h.depth&&(o=h.stencil?t.DEPTH24_STENCIL8:t.DEPTH_COMPONENT24,n=h.stencil?fi:di,a=h.stencil?ii:$r);let s={colorFormat:t.RGBA8,depthFormat:o,scaleFactor:i};u=new XRWebGLBinding(r,t),d=u.createProjectionLayer(s),r.updateRenderState({layers:[d]}),e.setPixelRatio(1),e.setSize(d.textureWidth,d.textureHeight,!1),_=new oo(d.textureWidth,d.textureHeight,{format:ci,type:Jr,depthTexture:new $c(d.textureWidth,d.textureHeight,a,void 0,void 0,void 0,void 0,void 0,void 0,n),stencilBuffer:h.stencil,colorSpace:e.outputColorSpace,samples:h.antialias?4:0,resolveDepthBuffer:d.ignoreDepthValues===!1})}_.isXRRenderTarget=!0,this.setFoveation(s),c=null,a=await r.requestReferenceSpace(o),oe.setContext(r),oe.start(),n.isPresenting=!0,n.dispatchEvent({type:`sessionstart`})}},this.getEnvironmentBlendMode=function(){if(r!==null)return r.environmentBlendMode},this.getDepthTexture=function(){return m.getDepthTexture()};function A(e){for(let t=0;t<e.removed.length;t++){let n=e.removed[t],r=y.indexOf(n);r>=0&&(y[r]=null,v[r].disconnect(n))}for(let t=0;t<e.added.length;t++){let n=e.added[t],r=y.indexOf(n);if(r===-1){for(let e=0;e<v.length;e++)if(e>=y.length){y.push(n),r=e;break}else if(y[e]===null){y[e]=n,r=e;break}if(r===-1)break}let i=v[r];i&&i.connect(n)}}let j=new H,ee=new H;function te(e,t,n){j.setFromMatrixPosition(t.matrixWorld),ee.setFromMatrixPosition(n.matrixWorld);let r=j.distanceTo(ee),i=t.projectionMatrix.elements,a=n.projectionMatrix.elements,o=i[14]/(i[10]-1),s=i[14]/(i[10]+1),c=(i[9]+1)/i[5],l=(i[9]-1)/i[5],u=(i[8]-1)/i[0],d=(a[8]+1)/a[0],f=o*u,p=o*d,m=r/(-u+d),h=m*-u;if(t.matrixWorld.decompose(e.position,e.quaternion,e.scale),e.translateX(h),e.translateZ(m),e.matrixWorld.compose(e.position,e.quaternion,e.scale),e.matrixWorldInverse.copy(e.matrixWorld).invert(),i[10]===-1)e.projectionMatrix.copy(t.projectionMatrix),e.projectionMatrixInverse.copy(t.projectionMatrixInverse);else{let t=o+m,n=s+m,i=f-h,a=p+(r-h),u=c*s/n*t,d=l*s/n*t;e.projectionMatrix.makePerspective(i,a,u,d,t,n),e.projectionMatrixInverse.copy(e.projectionMatrix).invert()}}function ne(e,t){t===null?e.matrixWorld.copy(e.matrix):e.matrixWorld.multiplyMatrices(t.matrixWorld,e.matrix),e.matrixWorldInverse.copy(e.matrixWorld).invert()}this.updateCamera=function(e){if(r===null)return;let t=e.near,n=e.far;m.texture!==null&&(m.depthNear>0&&(t=m.depthNear),m.depthFar>0&&(n=m.depthFar)),T.near=C.near=S.near=t,T.far=C.far=S.far=n,(E!==T.near||D!==T.far)&&(r.updateRenderState({depthNear:T.near,depthFar:T.far}),E=T.near,D=T.far);let i=e.parent,a=T.cameras;ne(T,i);for(let e=0;e<a.length;e++)ne(a[e],i);a.length===2?te(T,S,C):T.projectionMatrix.copy(S.projectionMatrix),re(e,T,i)};function re(e,t,n){n===null?e.matrix.copy(t.matrixWorld):(e.matrix.copy(n.matrixWorld),e.matrix.invert(),e.matrix.multiply(t.matrixWorld)),e.matrix.decompose(e.position,e.quaternion,e.scale),e.updateMatrixWorld(!0),e.projectionMatrix.copy(t.projectionMatrix),e.projectionMatrixInverse.copy(t.projectionMatrixInverse),e.isPerspectiveCamera&&(e.fov=Ha*2*Math.atan(1/e.projectionMatrix.elements[5]),e.zoom=1)}this.getCamera=function(){return T},this.getFoveation=function(){if(d!==null||f!==null)return s},this.setFoveation=function(e){s=e,d!==null&&(d.fixedFoveation=e),f!==null&&f.fixedFoveation!==void 0&&(f.fixedFoveation=e)},this.hasDepthSensing=function(){return m.texture!==null},this.getDepthSensingMesh=function(){return m.getMesh(T)};let ie=null;function ae(t,i){if(l=i.getViewerPose(c||a),p=i,l!==null){let t=l.views;f!==null&&(e.setRenderTargetFramebuffer(_,f.framebuffer),e.setRenderTarget(_));let n=!1;t.length!==T.cameras.length&&(T.cameras.length=0,n=!0);for(let r=0;r<t.length;r++){let i=t[r],a=null;if(f!==null)a=f.getViewport(i);else{let t=u.getViewSubImage(d,i);a=t.viewport,r===0&&(e.setRenderTargetTextures(_,t.colorTexture,d.ignoreDepthValues?void 0:t.depthStencilTexture),e.setRenderTarget(_))}let o=w[r];o===void 0&&(o=new xc,o.layers.enable(r),o.viewport=new io,w[r]=o),o.matrix.fromArray(i.transform.matrix),o.matrix.decompose(o.position,o.quaternion,o.scale),o.projectionMatrix.fromArray(i.projectionMatrix),o.projectionMatrixInverse.copy(o.projectionMatrix).invert(),o.viewport.set(a.x,a.y,a.width,a.height),r===0&&(T.matrix.copy(o.matrix),T.matrix.decompose(T.position,T.quaternion,T.scale)),n===!0&&T.cameras.push(o)}let i=r.enabledFeatures;if(i&&i.includes(`depth-sensing`)){let n=u.getDepthInformation(t[0]);n&&n.isValid&&n.texture&&m.init(e,n,r.renderState)}}for(let e=0;e<v.length;e++){let t=y[e],n=v[e];t!==null&&n!==void 0&&n.update(t,i,c||a)}ie&&ie(t,i),i.detectedPlanes&&n.dispatchEvent({type:`planesdetected`,data:i}),p=null}let oe=new ge;oe.setAnimationLoop(ae),this.setAnimationLoop=function(e){ie=e},this.dispose=function(){}}},zl=new Xo,Bl=new U,Vl=class{constructor(e={}){let{canvas:t=j(),context:n=null,depth:r=!0,stencil:i=!1,alpha:a=!1,antialias:o=!1,premultipliedAlpha:s=!0,preserveDrawingBuffer:c=!1,powerPreference:l=`default`,failIfMajorPerformanceCaveat:u=!1}=e;this.isWebGLRenderer=!0;let d;if(n!==null){if(typeof WebGLRenderingContext<`u`&&n instanceof WebGLRenderingContext)throw Error(`THREE.WebGLRenderer: WebGL 1 is not supported since r163.`);d=n.getContextAttributes().alpha}else d=a;let f=new Uint32Array(4),p=new Int32Array(4),m=null,h=null,g=[],_=[];this.domElement=t,this.debug={checkShaderErrors:!0,onShaderError:null},this.autoClear=!0,this.autoClearColor=!0,this.autoClearDepth=!0,this.autoClearStencil=!0,this.sortObjects=!0,this.clippingPlanes=[],this.localClippingEnabled=!1,this._outputColorSpace=fa,this.toneMapping=0,this.toneMappingExposure=1;let v=this,y=!1,b=0,x=0,S=null,C=-1,w=null,T=new io,E=new io,D=null,O=new W(0),k=0,A=t.width,ie=t.height,ae=1,oe=null,se=null,ce=new io(0,0,A,ie),le=new io(0,0,A,ie),M=!1,N=new Nc,ue=!1,de=!1,fe=new U,pe=new U,me=new H,he=new io,we={background:null,fog:null,environment:null,overrideMaterial:null,isScene:!0},Te=!1;function Ee(){return S===null?ae:1}let P=n;function De(e,n){return t.getContext(e,n)}try{let e={alpha:!0,depth:r,stencil:i,antialias:o,premultipliedAlpha:s,preserveDrawingBuffer:c,powerPreference:l,failIfMajorPerformanceCaveat:u};if(`setAttribute`in t&&t.setAttribute(`data-engine`,`three.js r169`),t.addEventListener(`webglcontextlost`,rt,!1),t.addEventListener(`webglcontextrestored`,it,!1),t.addEventListener(`webglcontextcreationerror`,at,!1),P===null){let t=`webgl2`;if(P=De(t,e),P===null)throw De(t)?Error(`Error creating WebGL context with your selected attributes.`):Error(`Error creating WebGL context.`)}}catch(e){throw console.error(`THREE.WebGLRenderer: `+e.message),e}let Oe,ke,F,I,L,R,Le,Re,ze,Be,Ve,He,Ue,We,Ge,Ke,qe,Je,Ye,Xe,Ze,Qe,$e,et;function tt(){Oe=new je(P),Oe.init(),Qe=new gn(P,Oe),ke=new xe(P,Oe,e,Qe),F=new ln(P),ke.reverseDepthBuffer&&F.buffers.depth.setReversed(!0),I=new Pe(P),L=new Xt,R=new hn(P,Oe,F,L,ke,Qe,I),Le=new Ce(v),Re=new Ae(v),ze=new _e(P),$e=new ye(P,ze),Be=new Me(P,ze,I,$e),Ve=new Ie(P,Be,ze,I),Ye=new Fe(P,ke,R),Ke=new Se(L),He=new Yt(v,Le,Re,Oe,ke,$e,Ke),Ue=new _n(v,L),We=new en,Ge=new sn(Oe),Je=new ve(v,Le,Re,F,Ve,d,s),qe=new cn(v,Ve,ke),et=new vn(P,I,ke,F),Xe=new be(P,Oe,I),Ze=new Ne(P,Oe,I),I.programs=He.programs,v.capabilities=ke,v.extensions=Oe,v.properties=L,v.renderLists=We,v.shadowMap=qe,v.state=F,v.info=I}tt();let nt=new Rl(v,P);this.xr=nt,this.getContext=function(){return P},this.getContextAttributes=function(){return P.getContextAttributes()},this.forceContextLoss=function(){let e=Oe.get(`WEBGL_lose_context`);e&&e.loseContext()},this.forceContextRestore=function(){let e=Oe.get(`WEBGL_lose_context`);e&&e.restoreContext()},this.getPixelRatio=function(){return ae},this.setPixelRatio=function(e){e!==void 0&&(ae=e,this.setSize(A,ie,!1))},this.getSize=function(e){return e.set(A,ie)},this.setSize=function(e,n,r=!0){nt.isPresenting?console.warn(`THREE.WebGLRenderer: Can't change size while VR device is presenting.`):(A=e,ie=n,t.width=Math.floor(e*ae),t.height=Math.floor(n*ae),r===!0&&(t.style.width=e+`px`,t.style.height=n+`px`),this.setViewport(0,0,e,n))},this.getDrawingBufferSize=function(e){return e.set(A*ae,ie*ae).floor()},this.setDrawingBufferSize=function(e,n,r){A=e,ie=n,ae=r,t.width=Math.floor(e*r),t.height=Math.floor(n*r),this.setViewport(0,0,e,n)},this.getCurrentViewport=function(e){return e.copy(T)},this.getViewport=function(e){return e.copy(ce)},this.setViewport=function(e,t,n,r){e.isVector4?ce.set(e.x,e.y,e.z,e.w):ce.set(e,t,n,r),F.viewport(T.copy(ce).multiplyScalar(ae).round())},this.getScissor=function(e){return e.copy(le)},this.setScissor=function(e,t,n,r){e.isVector4?le.set(e.x,e.y,e.z,e.w):le.set(e,t,n,r),F.scissor(E.copy(le).multiplyScalar(ae).round())},this.getScissorTest=function(){return M},this.setScissorTest=function(e){F.setScissorTest(M=e)},this.setOpaqueSort=function(e){oe=e},this.setTransparentSort=function(e){se=e},this.getClearColor=function(e){return e.copy(Je.getClearColor())},this.setClearColor=function(){Je.setClearColor.apply(Je,arguments)},this.getClearAlpha=function(){return Je.getClearAlpha()},this.setClearAlpha=function(){Je.setClearAlpha.apply(Je,arguments)},this.clear=function(e=!0,t=!0,n=!0){let r=0;if(e){let e=!1;if(S!==null){let t=S.texture.format;e=t===1033||t===1031||t===1029}if(e){let e=S.texture.type,t=e===1009||e===1014||e===1012||e===1020||e===1017||e===1018,n=Je.getClearColor(),r=Je.getClearAlpha(),i=n.r,a=n.g,o=n.b;t?(f[0]=i,f[1]=a,f[2]=o,f[3]=r,P.clearBufferuiv(P.COLOR,0,f)):(p[0]=i,p[1]=a,p[2]=o,p[3]=r,P.clearBufferiv(P.COLOR,0,p))}else r|=P.COLOR_BUFFER_BIT}t&&(r|=P.DEPTH_BUFFER_BIT,P.clearDepth(+!this.capabilities.reverseDepthBuffer)),n&&(r|=P.STENCIL_BUFFER_BIT,this.state.buffers.stencil.setMask(4294967295)),P.clear(r)},this.clearColor=function(){this.clear(!0,!1,!1)},this.clearDepth=function(){this.clear(!1,!0,!1)},this.clearStencil=function(){this.clear(!1,!1,!0)},this.dispose=function(){t.removeEventListener(`webglcontextlost`,rt,!1),t.removeEventListener(`webglcontextrestored`,it,!1),t.removeEventListener(`webglcontextcreationerror`,at,!1),We.dispose(),Ge.dispose(),L.dispose(),Le.dispose(),Re.dispose(),Ve.dispose(),$e.dispose(),et.dispose(),He.dispose(),nt.dispose(),nt.removeEventListener(`sessionstart`,ft),nt.removeEventListener(`sessionend`,pt),mt.stop()};function rt(e){e.preventDefault(),console.log(`THREE.WebGLRenderer: Context Lost.`),y=!0}function it(){console.log(`THREE.WebGLRenderer: Context Restored.`),y=!1;let e=I.autoReset,t=qe.enabled,n=qe.autoUpdate,r=qe.needsUpdate,i=qe.type;tt(),I.autoReset=e,qe.enabled=t,qe.autoUpdate=n,qe.needsUpdate=r,qe.type=i}function at(e){console.error(`THREE.WebGLRenderer: A WebGL context could not be created. Reason: `,e.statusMessage)}function ot(e){let t=e.target;t.removeEventListener(`dispose`,ot),st(t)}function st(e){ct(e),L.remove(e)}function ct(e){let t=L.get(e).programs;t!==void 0&&(t.forEach(function(e){He.releaseProgram(e)}),e.isShaderMaterial&&He.releaseShaderCache(e))}this.renderBufferDirect=function(e,t,n,r,i,a){t===null&&(t=we);let o=i.isMesh&&i.matrixWorld.determinant()<0,s=Ct(e,t,n,r,i);F.setMaterial(r,o);let c=n.index,l=1;if(r.wireframe===!0){if(c=Be.getWireframeAttribute(n),c===void 0)return;l=2}let u=n.drawRange,d=n.attributes.position,f=u.start*l,p=(u.start+u.count)*l;a!==null&&(f=Math.max(f,a.start*l),p=Math.min(p,(a.start+a.count)*l)),c===null?d!=null&&(f=Math.max(f,0),p=Math.min(p,d.count)):(f=Math.max(f,0),p=Math.min(p,c.count));let m=p-f;if(m<0||m===1/0)return;$e.setup(i,r,s,n,c);let h,g=Xe;if(c!==null&&(h=ze.get(c),g=Ze,g.setIndex(h)),i.isMesh)r.wireframe===!0?(F.setLineWidth(r.wireframeLinewidth*Ee()),g.setMode(P.LINES)):g.setMode(P.TRIANGLES);else if(i.isLine){let e=r.linewidth;e===void 0&&(e=1),F.setLineWidth(e*Ee()),i.isLineSegments?g.setMode(P.LINES):i.isLineLoop?g.setMode(P.LINE_LOOP):g.setMode(P.LINE_STRIP)}else i.isPoints?g.setMode(P.POINTS):i.isSprite&&g.setMode(P.TRIANGLES);if(i.isBatchedMesh){if(i._multiDrawInstances!==null)g.renderMultiDrawInstances(i._multiDrawStarts,i._multiDrawCounts,i._multiDrawCount,i._multiDrawInstances);else if(Oe.get(`WEBGL_multi_draw`))g.renderMultiDraw(i._multiDrawStarts,i._multiDrawCounts,i._multiDrawCount);else{let e=i._multiDrawStarts,t=i._multiDrawCounts,n=i._multiDrawCount,a=c?ze.get(c).bytesPerElement:1,o=L.get(r).currentProgram.getUniforms();for(let r=0;r<n;r++)o.setValue(P,`_gl_DrawID`,r),g.render(e[r]/a,t[r])}}else if(i.isInstancedMesh)g.renderInstances(f,m,i.count);else if(n.isInstancedBufferGeometry){let e=n._maxInstanceCount===void 0?1/0:n._maxInstanceCount,t=Math.min(n.instanceCount,e);g.renderInstances(f,m,t)}else g.render(f,m)};function lt(e,t,n){e.transparent===!0&&e.side===2&&e.forceSinglePass===!1?(e.side=1,e.needsUpdate=!0,bt(e,t,n),e.side=0,e.needsUpdate=!0,bt(e,t,n),e.side=2):bt(e,t,n)}this.compile=function(e,t,n=null){n===null&&(n=e),h=Ge.get(n),h.init(t),_.push(h),n.traverseVisible(function(e){e.isLight&&e.layers.test(t.layers)&&(h.pushLight(e),e.castShadow&&h.pushShadow(e))}),e!==n&&e.traverseVisible(function(e){e.isLight&&e.layers.test(t.layers)&&(h.pushLight(e),e.castShadow&&h.pushShadow(e))}),h.setupLights();let r=new Set;return e.traverse(function(e){if(!(e.isMesh||e.isPoints||e.isLine||e.isSprite))return;let t=e.material;if(t){if(Array.isArray(t))for(let i=0;i<t.length;i++){let a=t[i];lt(a,n,e),r.add(a)}else lt(t,n,e),r.add(t)}}),_.pop(),h=null,r},this.compileAsync=function(e,t,n=null){let r=this.compile(e,t,n);return new Promise(t=>{function n(){r.forEach(function(e){L.get(e).currentProgram.isReady()&&r.delete(e)}),r.size===0?t(e):setTimeout(n,10)}Oe.get(`KHR_parallel_shader_compile`)===null?setTimeout(n,10):n()})};let ut=null;function dt(e){ut&&ut(e)}function ft(){mt.stop()}function pt(){mt.start()}let mt=new ge;mt.setAnimationLoop(dt),typeof self<`u`&&mt.setContext(self),this.setAnimationLoop=function(e){ut=e,nt.setAnimationLoop(e),e===null?mt.stop():mt.start()},nt.addEventListener(`sessionstart`,ft),nt.addEventListener(`sessionend`,pt),this.render=function(e,t){if(t!==void 0&&t.isCamera!==!0){console.error(`THREE.WebGLRenderer.render: camera is not an instance of THREE.Camera.`);return}if(y===!0)return;if(e.matrixWorldAutoUpdate===!0&&e.updateMatrixWorld(),t.parent===null&&t.matrixWorldAutoUpdate===!0&&t.updateMatrixWorld(),nt.enabled===!0&&nt.isPresenting===!0&&(nt.cameraAutoUpdate===!0&&nt.updateCamera(t),t=nt.getCamera()),e.isScene===!0&&e.onBeforeRender(v,e,t,S),h=Ge.get(e,_.length),h.init(t),_.push(h),pe.multiplyMatrices(t.projectionMatrix,t.matrixWorldInverse),N.setFromProjectionMatrix(pe),de=this.localClippingEnabled,ue=Ke.init(this.clippingPlanes,de),m=We.get(e,g.length),m.init(),g.push(m),nt.enabled===!0&&nt.isPresenting===!0){let e=v.xr.getDepthSensingMesh();e!==null&&ht(e,t,-1/0,v.sortObjects)}ht(e,t,0,v.sortObjects),m.finish(),v.sortObjects===!0&&m.sort(oe,se),Te=nt.enabled===!1||nt.isPresenting===!1||nt.hasDepthSensing()===!1,Te&&Je.addToRenderList(m,e),this.info.render.frame++,ue===!0&&Ke.beginShadows();let n=h.state.shadowsArray;qe.render(n,e,t),ue===!0&&Ke.endShadows(),this.info.autoReset===!0&&this.info.reset();let r=m.opaque,i=m.transmissive;if(h.setupLights(),t.isArrayCamera){let n=t.cameras;if(i.length>0)for(let t=0,a=n.length;t<a;t++){let a=n[t];_t(r,i,e,a)}Te&&Je.render(e);for(let t=0,r=n.length;t<r;t++){let r=n[t];gt(m,e,r,r.viewport)}}else i.length>0&&_t(r,i,e,t),Te&&Je.render(e),gt(m,e,t);S!==null&&(R.updateMultisampleRenderTarget(S),R.updateRenderTargetMipmap(S)),e.isScene===!0&&e.onAfterRender(v,e,t),$e.resetDefaultState(),C=-1,w=null,_.pop(),_.length>0?(h=_[_.length-1],ue===!0&&Ke.setGlobalState(v.clippingPlanes,h.state.camera)):h=null,g.pop(),m=g.length>0?g[g.length-1]:null};function ht(e,t,n,r){if(e.visible===!1)return;if(e.layers.test(t.layers)){if(e.isGroup)n=e.renderOrder;else if(e.isLOD)e.autoUpdate===!0&&e.update(t);else if(e.isLight)h.pushLight(e),e.castShadow&&h.pushShadow(e);else if(e.isSprite){if(!e.frustumCulled||N.intersectsSprite(e)){r&&he.setFromMatrixPosition(e.matrixWorld).applyMatrix4(pe);let t=Ve.update(e),i=e.material;i.visible&&m.push(e,t,i,n,he.z,null)}}else if((e.isMesh||e.isLine||e.isPoints)&&(!e.frustumCulled||N.intersectsObject(e))){let t=Ve.update(e),i=e.material;if(r&&(e.boundingSphere===void 0?(t.boundingSphere===null&&t.computeBoundingSphere(),he.copy(t.boundingSphere.center)):(e.boundingSphere===null&&e.computeBoundingSphere(),he.copy(e.boundingSphere.center)),he.applyMatrix4(e.matrixWorld).applyMatrix4(pe)),Array.isArray(i)){let r=t.groups;for(let a=0,o=r.length;a<o;a++){let o=r[a],s=i[o.materialIndex];s&&s.visible&&m.push(e,t,s,n,he.z,o)}}else i.visible&&m.push(e,t,i,n,he.z,null)}}let i=e.children;for(let e=0,a=i.length;e<a;e++)ht(i[e],t,n,r)}function gt(e,t,n,r){let i=e.opaque,a=e.transmissive,o=e.transparent;h.setupLightsView(n),ue===!0&&Ke.setGlobalState(v.clippingPlanes,n),r&&F.viewport(T.copy(r)),i.length>0&&vt(i,t,n),a.length>0&&vt(a,t,n),o.length>0&&vt(o,t,n),F.buffers.depth.setTest(!0),F.buffers.depth.setMask(!0),F.buffers.color.setMask(!0),F.setPolygonOffset(!1)}function _t(e,t,n,r){if((n.isScene===!0?n.overrideMaterial:null)!==null)return;h.state.transmissionRenderTarget[r.id]===void 0&&(h.state.transmissionRenderTarget[r.id]=new oo(1,1,{generateMipmaps:!0,type:Oe.has(`EXT_color_buffer_half_float`)||Oe.has(`EXT_color_buffer_float`)?ti:Jr,minFilter:Kr,samples:4,stencilBuffer:i,resolveDepthBuffer:!1,resolveStencilBuffer:!1,colorSpace:Za.workingColorSpace}));let a=h.state.transmissionRenderTarget[r.id],o=r.viewport||T;a.setSize(o.z,o.w);let s=v.getRenderTarget();v.setRenderTarget(a),v.getClearColor(O),k=v.getClearAlpha(),k<1&&v.setClearColor(16777215,.5),v.clear(),Te&&Je.render(n);let c=v.toneMapping;v.toneMapping=0;let l=r.viewport;if(r.viewport!==void 0&&(r.viewport=void 0),h.setupLightsView(r),ue===!0&&Ke.setGlobalState(v.clippingPlanes,r),vt(e,n,r),R.updateMultisampleRenderTarget(a),R.updateRenderTargetMipmap(a),Oe.has(`WEBGL_multisampled_render_to_texture`)===!1){let e=!1;for(let i=0,a=t.length;i<a;i++){let a=t[i],o=a.object,s=a.geometry,c=a.material,l=a.group;if(c.side===2&&o.layers.test(r.layers)){let t=c.side;c.side=1,c.needsUpdate=!0,yt(o,n,r,s,c,l),c.side=t,c.needsUpdate=!0,e=!0}}e===!0&&(R.updateMultisampleRenderTarget(a),R.updateRenderTargetMipmap(a))}v.setRenderTarget(s),v.setClearColor(O,k),l!==void 0&&(r.viewport=l),v.toneMapping=c}function vt(e,t,n){let r=t.isScene===!0?t.overrideMaterial:null;for(let i=0,a=e.length;i<a;i++){let a=e[i],o=a.object,s=a.geometry,c=r===null?a.material:r,l=a.group;o.layers.test(n.layers)&&yt(o,t,n,s,c,l)}}function yt(e,t,n,r,i,a){e.onBeforeRender(v,t,n,r,i,a),e.modelViewMatrix.multiplyMatrices(n.matrixWorldInverse,e.matrixWorld),e.normalMatrix.getNormalMatrix(e.modelViewMatrix),i.onBeforeRender(v,t,n,r,e,a),i.transparent===!0&&i.side===2&&i.forceSinglePass===!1?(i.side=1,i.needsUpdate=!0,v.renderBufferDirect(n,t,r,i,e,a),i.side=0,i.needsUpdate=!0,v.renderBufferDirect(n,t,r,i,e,a),i.side=2):v.renderBufferDirect(n,t,r,i,e,a),e.onAfterRender(v,t,n,r,i,a)}function bt(e,t,n){t.isScene!==!0&&(t=we);let r=L.get(e),i=h.state.lights,a=h.state.shadowsArray,o=i.state.version,s=He.getParameters(e,i.state,a,t,n),c=He.getProgramCacheKey(s),l=r.programs;r.environment=e.isMeshStandardMaterial?t.environment:null,r.fog=t.fog,r.envMap=(e.isMeshStandardMaterial?Re:Le).get(e.envMap||r.environment),r.envMapRotation=r.environment!==null&&e.envMap===null?t.environmentRotation:e.envMapRotation,l===void 0&&(e.addEventListener(`dispose`,ot),l=new Map,r.programs=l);let u=l.get(c);if(u!==void 0){if(r.currentProgram===u&&r.lightsStateVersion===o)return St(e,s),u}else s.uniforms=He.getUniforms(e),e.onBeforeCompile(s,v),u=He.acquireProgram(s,c),l.set(c,u),r.uniforms=s.uniforms;let d=r.uniforms;return(!e.isShaderMaterial&&!e.isRawShaderMaterial||e.clipping===!0)&&(d.clippingPlanes=Ke.uniform),St(e,s),r.needsLights=Tt(e),r.lightsStateVersion=o,r.needsLights&&(d.ambientLightColor.value=i.state.ambient,d.lightProbe.value=i.state.probe,d.directionalLights.value=i.state.directional,d.directionalLightShadows.value=i.state.directionalShadow,d.spotLights.value=i.state.spot,d.spotLightShadows.value=i.state.spotShadow,d.rectAreaLights.value=i.state.rectArea,d.ltc_1.value=i.state.rectAreaLTC1,d.ltc_2.value=i.state.rectAreaLTC2,d.pointLights.value=i.state.point,d.pointLightShadows.value=i.state.pointShadow,d.hemisphereLights.value=i.state.hemi,d.directionalShadowMap.value=i.state.directionalShadowMap,d.directionalShadowMatrix.value=i.state.directionalShadowMatrix,d.spotShadowMap.value=i.state.spotShadowMap,d.spotLightMatrix.value=i.state.spotLightMatrix,d.spotLightMap.value=i.state.spotLightMap,d.pointShadowMap.value=i.state.pointShadowMap,d.pointShadowMatrix.value=i.state.pointShadowMatrix),r.currentProgram=u,r.uniformsList=null,u}function xt(e){if(e.uniformsList===null){let t=e.currentProgram.getUniforms();e.uniformsList=ml.seqWithValue(t.seq,e.uniforms)}return e.uniformsList}function St(e,t){let n=L.get(e);n.outputColorSpace=t.outputColorSpace,n.batching=t.batching,n.batchingColor=t.batchingColor,n.instancing=t.instancing,n.instancingColor=t.instancingColor,n.instancingMorph=t.instancingMorph,n.skinning=t.skinning,n.morphTargets=t.morphTargets,n.morphNormals=t.morphNormals,n.morphColors=t.morphColors,n.morphTargetsCount=t.morphTargetsCount,n.numClippingPlanes=t.numClippingPlanes,n.numIntersection=t.numClipIntersection,n.vertexAlphas=t.vertexAlphas,n.vertexTangents=t.vertexTangents,n.toneMapping=t.toneMapping}function Ct(e,t,n,r,i){t.isScene!==!0&&(t=we),R.resetTextureUnits();let a=t.fog,o=r.isMeshStandardMaterial?t.environment:null,s=S===null?v.outputColorSpace:S.isXRRenderTarget===!0?S.texture.colorSpace:pa,c=(r.isMeshStandardMaterial?Re:Le).get(r.envMap||o),l=r.vertexColors===!0&&!!n.attributes.color&&n.attributes.color.itemSize===4,u=!!n.attributes.tangent&&(!!r.normalMap||r.anisotropy>0),d=!!n.morphAttributes.position,f=!!n.morphAttributes.normal,p=!!n.morphAttributes.color,m=0;r.toneMapped&&(S===null||S.isXRRenderTarget===!0)&&(m=v.toneMapping);let g=n.morphAttributes.position||n.morphAttributes.normal||n.morphAttributes.color,_=g===void 0?0:g.length,y=L.get(r),b=h.state.lights;if(ue===!0&&(de===!0||e!==w)){let t=e===w&&r.id===C;Ke.setState(r,e,t)}let x=!1;r.version===y.__version?y.needsLights&&y.lightsStateVersion!==b.state.version?x=!0:y.outputColorSpace===s?i.isBatchedMesh&&y.batching===!1||!i.isBatchedMesh&&y.batching===!0||i.isBatchedMesh&&y.batchingColor===!0&&i.colorTexture===null||i.isBatchedMesh&&y.batchingColor===!1&&i.colorTexture!==null||i.isInstancedMesh&&y.instancing===!1||!i.isInstancedMesh&&y.instancing===!0||i.isSkinnedMesh&&y.skinning===!1||!i.isSkinnedMesh&&y.skinning===!0||i.isInstancedMesh&&y.instancingColor===!0&&i.instanceColor===null||i.isInstancedMesh&&y.instancingColor===!1&&i.instanceColor!==null||i.isInstancedMesh&&y.instancingMorph===!0&&i.morphTexture===null||i.isInstancedMesh&&y.instancingMorph===!1&&i.morphTexture!==null?x=!0:y.envMap===c?r.fog===!0&&y.fog!==a||y.numClippingPlanes!==void 0&&(y.numClippingPlanes!==Ke.numPlanes||y.numIntersection!==Ke.numIntersection)?x=!0:y.vertexAlphas===l&&y.vertexTangents===u&&y.morphTargets===d&&y.morphNormals===f&&y.morphColors===p&&y.toneMapping===m?y.morphTargetsCount!==_&&(x=!0):x=!0:x=!0:x=!0:(x=!0,y.__version=r.version);let T=y.currentProgram;x===!0&&(T=bt(r,t,i));let E=!1,D=!1,O=!1,k=T.getUniforms(),A=y.uniforms;if(F.useProgram(T.program)&&(E=!0,D=!0,O=!0),r.id!==C&&(C=r.id,D=!0),E||w!==e){ke.reverseDepthBuffer?(fe.copy(e.projectionMatrix),ne(fe),re(fe),k.setValue(P,`projectionMatrix`,fe)):k.setValue(P,`projectionMatrix`,e.projectionMatrix),k.setValue(P,`viewMatrix`,e.matrixWorldInverse);let t=k.map.cameraPosition;t!==void 0&&t.setValue(P,me.setFromMatrixPosition(e.matrixWorld)),ke.logarithmicDepthBuffer&&k.setValue(P,`logDepthBufFC`,2/(Math.log(e.far+1)/Math.LN2)),(r.isMeshPhongMaterial||r.isMeshToonMaterial||r.isMeshLambertMaterial||r.isMeshBasicMaterial||r.isMeshStandardMaterial||r.isShaderMaterial)&&k.setValue(P,`isOrthographic`,e.isOrthographicCamera===!0),w!==e&&(w=e,D=!0,O=!0)}if(i.isSkinnedMesh){k.setOptional(P,i,`bindMatrix`),k.setOptional(P,i,`bindMatrixInverse`);let e=i.skeleton;e&&(e.boneTexture===null&&e.computeBoneTexture(),k.setValue(P,`boneTexture`,e.boneTexture,R))}i.isBatchedMesh&&(k.setOptional(P,i,`batchingTexture`),k.setValue(P,`batchingTexture`,i._matricesTexture,R),k.setOptional(P,i,`batchingIdTexture`),k.setValue(P,`batchingIdTexture`,i._indirectTexture,R),k.setOptional(P,i,`batchingColorTexture`),i._colorsTexture!==null&&k.setValue(P,`batchingColorTexture`,i._colorsTexture,R));let j=n.morphAttributes;if((j.position!==void 0||j.normal!==void 0||j.color!==void 0)&&Ye.update(i,n,T),(D||y.receiveShadow!==i.receiveShadow)&&(y.receiveShadow=i.receiveShadow,k.setValue(P,`receiveShadow`,i.receiveShadow)),r.isMeshGouraudMaterial&&r.envMap!==null&&(A.envMap.value=c,A.flipEnvMap.value=c.isCubeTexture&&c.isRenderTargetTexture===!1?-1:1),r.isMeshStandardMaterial&&r.envMap===null&&t.environment!==null&&(A.envMapIntensity.value=t.environmentIntensity),D&&(k.setValue(P,`toneMappingExposure`,v.toneMappingExposure),y.needsLights&&wt(A,O),a&&r.fog===!0&&Ue.refreshFogUniforms(A,a),Ue.refreshMaterialUniforms(A,r,ae,ie,h.state.transmissionRenderTarget[e.id]),ml.upload(P,xt(y),A,R)),r.isShaderMaterial&&r.uniformsNeedUpdate===!0&&(ml.upload(P,xt(y),A,R),r.uniformsNeedUpdate=!1),r.isSpriteMaterial&&k.setValue(P,`center`,i.center),k.setValue(P,`modelViewMatrix`,i.modelViewMatrix),k.setValue(P,`normalMatrix`,i.normalMatrix),k.setValue(P,`modelMatrix`,i.matrixWorld),r.isShaderMaterial||r.isRawShaderMaterial){let e=r.uniformsGroups;for(let t=0,n=e.length;t<n;t++){let n=e[t];et.update(n,T),et.bind(n,T)}}return T}function wt(e,t){e.ambientLightColor.needsUpdate=t,e.lightProbe.needsUpdate=t,e.directionalLights.needsUpdate=t,e.directionalLightShadows.needsUpdate=t,e.pointLights.needsUpdate=t,e.pointLightShadows.needsUpdate=t,e.spotLights.needsUpdate=t,e.spotLightShadows.needsUpdate=t,e.rectAreaLights.needsUpdate=t,e.hemisphereLights.needsUpdate=t}function Tt(e){return e.isMeshLambertMaterial||e.isMeshToonMaterial||e.isMeshPhongMaterial||e.isMeshStandardMaterial||e.isShadowMaterial||e.isShaderMaterial&&e.lights===!0}this.getActiveCubeFace=function(){return b},this.getActiveMipmapLevel=function(){return x},this.getRenderTarget=function(){return S},this.setRenderTargetTextures=function(e,t,n){L.get(e.texture).__webglTexture=t,L.get(e.depthTexture).__webglTexture=n;let r=L.get(e);r.__hasExternalTextures=!0,r.__autoAllocateDepthBuffer=n===void 0,r.__autoAllocateDepthBuffer||Oe.has(`WEBGL_multisampled_render_to_texture`)===!0&&(console.warn(`THREE.WebGLRenderer: Render-to-texture extension was disabled because an external texture was provided`),r.__useRenderToTexture=!1)},this.setRenderTargetFramebuffer=function(e,t){let n=L.get(e);n.__webglFramebuffer=t,n.__useDefaultFramebuffer=t===void 0},this.setRenderTarget=function(e,t=0,n=0){S=e,b=t,x=n;let r=!0,i=null,a=!1,o=!1;if(e){let s=L.get(e);if(s.__useDefaultFramebuffer!==void 0)F.bindFramebuffer(P.FRAMEBUFFER,null),r=!1;else if(s.__webglFramebuffer===void 0)R.setupRenderTarget(e);else if(s.__hasExternalTextures)R.rebindTextures(e,L.get(e.texture).__webglTexture,L.get(e.depthTexture).__webglTexture);else if(e.depthBuffer){let t=e.depthTexture;if(s.__boundDepthTexture!==t){if(t!==null&&L.has(t)&&(e.width!==t.image.width||e.height!==t.image.height))throw Error(`WebGLRenderTarget: Attached DepthTexture is initialized to the incorrect size.`);R.setupDepthRenderbuffer(e)}}let c=e.texture;(c.isData3DTexture||c.isDataArrayTexture||c.isCompressedArrayTexture)&&(o=!0);let l=L.get(e).__webglFramebuffer;e.isWebGLCubeRenderTarget?(i=Array.isArray(l[t])?l[t][n]:l[t],a=!0):i=e.samples>0&&R.useMultisampledRTT(e)===!1?L.get(e).__webglMultisampledFramebuffer:Array.isArray(l)?l[n]:l,T.copy(e.viewport),E.copy(e.scissor),D=e.scissorTest}else T.copy(ce).multiplyScalar(ae).floor(),E.copy(le).multiplyScalar(ae).floor(),D=M;if(F.bindFramebuffer(P.FRAMEBUFFER,i)&&r&&F.drawBuffers(e,i),F.viewport(T),F.scissor(E),F.setScissorTest(D),a){let r=L.get(e.texture);P.framebufferTexture2D(P.FRAMEBUFFER,P.COLOR_ATTACHMENT0,P.TEXTURE_CUBE_MAP_POSITIVE_X+t,r.__webglTexture,n)}else if(o){let r=L.get(e.texture),i=t||0;P.framebufferTextureLayer(P.FRAMEBUFFER,P.COLOR_ATTACHMENT0,r.__webglTexture,n||0,i)}C=-1},this.readRenderTargetPixels=function(e,t,n,r,i,a,o){if(!(e&&e.isWebGLRenderTarget)){console.error(`THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not THREE.WebGLRenderTarget.`);return}let s=L.get(e).__webglFramebuffer;if(e.isWebGLCubeRenderTarget&&o!==void 0&&(s=s[o]),s){F.bindFramebuffer(P.FRAMEBUFFER,s);try{let o=e.texture,s=o.format,c=o.type;if(!ke.textureFormatReadable(s)){console.error(`THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in RGBA or implementation defined format.`);return}if(!ke.textureTypeReadable(c)){console.error(`THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in UnsignedByteType or implementation defined type.`);return}t>=0&&t<=e.width-r&&n>=0&&n<=e.height-i&&P.readPixels(t,n,r,i,Qe.convert(s),Qe.convert(c),a)}finally{let e=S===null?null:L.get(S).__webglFramebuffer;F.bindFramebuffer(P.FRAMEBUFFER,e)}}},this.readRenderTargetPixelsAsync=async function(e,t,n,r,i,a,o){if(!(e&&e.isWebGLRenderTarget))throw Error(`THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not THREE.WebGLRenderTarget.`);let s=L.get(e).__webglFramebuffer;if(e.isWebGLCubeRenderTarget&&o!==void 0&&(s=s[o]),s){let o=e.texture,c=o.format,l=o.type;if(!ke.textureFormatReadable(c))throw Error(`THREE.WebGLRenderer.readRenderTargetPixelsAsync: renderTarget is not in RGBA or implementation defined format.`);if(!ke.textureTypeReadable(l))throw Error(`THREE.WebGLRenderer.readRenderTargetPixelsAsync: renderTarget is not in UnsignedByteType or implementation defined type.`);if(t>=0&&t<=e.width-r&&n>=0&&n<=e.height-i){F.bindFramebuffer(P.FRAMEBUFFER,s);let e=P.createBuffer();P.bindBuffer(P.PIXEL_PACK_BUFFER,e),P.bufferData(P.PIXEL_PACK_BUFFER,a.byteLength,P.STREAM_READ),P.readPixels(t,n,r,i,Qe.convert(c),Qe.convert(l),0);let o=S===null?null:L.get(S).__webglFramebuffer;F.bindFramebuffer(P.FRAMEBUFFER,o);let u=P.fenceSync(P.SYNC_GPU_COMMANDS_COMPLETE,0);return P.flush(),await te(P,u,4),P.bindBuffer(P.PIXEL_PACK_BUFFER,e),P.getBufferSubData(P.PIXEL_PACK_BUFFER,0,a),P.deleteBuffer(e),P.deleteSync(u),a}throw Error(`THREE.WebGLRenderer.readRenderTargetPixelsAsync: requested read bounds are out of range.`)}},this.copyFramebufferToTexture=function(e,t=null,n=0){e.isTexture!==!0&&(ee(`WebGLRenderer: copyFramebufferToTexture function signature has changed.`),t=arguments[0]||null,e=arguments[1]);let r=2**-n,i=Math.floor(e.image.width*r),a=Math.floor(e.image.height*r),o=t===null?0:t.x,s=t===null?0:t.y;R.setTexture2D(e,0),P.copyTexSubImage2D(P.TEXTURE_2D,n,0,0,o,s,i,a),F.unbindTexture()},this.copyTextureToTexture=function(e,t,n=null,r=null,i=0){e.isTexture!==!0&&(ee(`WebGLRenderer: copyTextureToTexture function signature has changed.`),r=arguments[0]||null,e=arguments[1],t=arguments[2],i=arguments[3]||0,n=null);let a,o,s,c,l,u;n===null?(a=e.image.width,o=e.image.height,s=0,c=0):(a=n.max.x-n.min.x,o=n.max.y-n.min.y,s=n.min.x,c=n.min.y),r===null?(l=0,u=0):(l=r.x,u=r.y);let d=Qe.convert(t.format),f=Qe.convert(t.type);R.setTexture2D(t,0),P.pixelStorei(P.UNPACK_FLIP_Y_WEBGL,t.flipY),P.pixelStorei(P.UNPACK_PREMULTIPLY_ALPHA_WEBGL,t.premultiplyAlpha),P.pixelStorei(P.UNPACK_ALIGNMENT,t.unpackAlignment);let p=P.getParameter(P.UNPACK_ROW_LENGTH),m=P.getParameter(P.UNPACK_IMAGE_HEIGHT),h=P.getParameter(P.UNPACK_SKIP_PIXELS),g=P.getParameter(P.UNPACK_SKIP_ROWS),_=P.getParameter(P.UNPACK_SKIP_IMAGES),v=e.isCompressedTexture?e.mipmaps[i]:e.image;P.pixelStorei(P.UNPACK_ROW_LENGTH,v.width),P.pixelStorei(P.UNPACK_IMAGE_HEIGHT,v.height),P.pixelStorei(P.UNPACK_SKIP_PIXELS,s),P.pixelStorei(P.UNPACK_SKIP_ROWS,c),e.isDataTexture?P.texSubImage2D(P.TEXTURE_2D,i,l,u,a,o,d,f,v.data):e.isCompressedTexture?P.compressedTexSubImage2D(P.TEXTURE_2D,i,l,u,v.width,v.height,d,v.data):P.texSubImage2D(P.TEXTURE_2D,i,l,u,a,o,d,f,v),P.pixelStorei(P.UNPACK_ROW_LENGTH,p),P.pixelStorei(P.UNPACK_IMAGE_HEIGHT,m),P.pixelStorei(P.UNPACK_SKIP_PIXELS,h),P.pixelStorei(P.UNPACK_SKIP_ROWS,g),P.pixelStorei(P.UNPACK_SKIP_IMAGES,_),i===0&&t.generateMipmaps&&P.generateMipmap(P.TEXTURE_2D),F.unbindTexture()},this.copyTextureToTexture3D=function(e,t,n=null,r=null,i=0){e.isTexture!==!0&&(ee(`WebGLRenderer: copyTextureToTexture3D function signature has changed.`),n=arguments[0]||null,r=arguments[1]||null,e=arguments[2],t=arguments[3],i=arguments[4]||0);let a,o,s,c,l,u,d,f,p,m=e.isCompressedTexture?e.mipmaps[i]:e.image;n===null?(a=m.width,o=m.height,s=m.depth,c=0,l=0,u=0):(a=n.max.x-n.min.x,o=n.max.y-n.min.y,s=n.max.z-n.min.z,c=n.min.x,l=n.min.y,u=n.min.z),r===null?(d=0,f=0,p=0):(d=r.x,f=r.y,p=r.z);let h=Qe.convert(t.format),g=Qe.convert(t.type),_;if(t.isData3DTexture)R.setTexture3D(t,0),_=P.TEXTURE_3D;else if(t.isDataArrayTexture||t.isCompressedArrayTexture)R.setTexture2DArray(t,0),_=P.TEXTURE_2D_ARRAY;else{console.warn(`THREE.WebGLRenderer.copyTextureToTexture3D: only supports THREE.DataTexture3D and THREE.DataTexture2DArray.`);return}P.pixelStorei(P.UNPACK_FLIP_Y_WEBGL,t.flipY),P.pixelStorei(P.UNPACK_PREMULTIPLY_ALPHA_WEBGL,t.premultiplyAlpha),P.pixelStorei(P.UNPACK_ALIGNMENT,t.unpackAlignment);let v=P.getParameter(P.UNPACK_ROW_LENGTH),y=P.getParameter(P.UNPACK_IMAGE_HEIGHT),b=P.getParameter(P.UNPACK_SKIP_PIXELS),x=P.getParameter(P.UNPACK_SKIP_ROWS),S=P.getParameter(P.UNPACK_SKIP_IMAGES);P.pixelStorei(P.UNPACK_ROW_LENGTH,m.width),P.pixelStorei(P.UNPACK_IMAGE_HEIGHT,m.height),P.pixelStorei(P.UNPACK_SKIP_PIXELS,c),P.pixelStorei(P.UNPACK_SKIP_ROWS,l),P.pixelStorei(P.UNPACK_SKIP_IMAGES,u),e.isDataTexture||e.isData3DTexture?P.texSubImage3D(_,i,d,f,p,a,o,s,h,g,m.data):t.isCompressedArrayTexture?P.compressedTexSubImage3D(_,i,d,f,p,a,o,s,h,m.data):P.texSubImage3D(_,i,d,f,p,a,o,s,h,g,m),P.pixelStorei(P.UNPACK_ROW_LENGTH,v),P.pixelStorei(P.UNPACK_IMAGE_HEIGHT,y),P.pixelStorei(P.UNPACK_SKIP_PIXELS,b),P.pixelStorei(P.UNPACK_SKIP_ROWS,x),P.pixelStorei(P.UNPACK_SKIP_IMAGES,S),i===0&&t.generateMipmaps&&P.generateMipmap(_),F.unbindTexture()},this.initRenderTarget=function(e){L.get(e).__webglFramebuffer===void 0&&R.setupRenderTarget(e)},this.initTexture=function(e){e.isCubeTexture?R.setTextureCube(e,0):e.isData3DTexture?R.setTexture3D(e,0):e.isDataArrayTexture||e.isCompressedArrayTexture?R.setTexture2DArray(e,0):R.setTexture2D(e,0),F.unbindTexture()},this.resetState=function(){b=0,x=0,S=null,F.reset(),$e.reset()},typeof __THREE_DEVTOOLS__<`u`&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent(`observe`,{detail:this}))}get coordinateSystem(){return Ia}get outputColorSpace(){return this._outputColorSpace}set outputColorSpace(e){this._outputColorSpace=e;let t=this.getContext();t.drawingBufferColorSpace=e===`display-p3`?`display-p3`:`srgb`,t.unpackColorSpace=Za.workingColorSpace===`display-p3-linear`?`display-p3`:`srgb`}},Hl=class e{constructor(e,t=25e-5){this.isFogExp2=!0,this.name=``,this.color=new W(e),this.density=t}clone(){return new e(this.color,this.density)}toJSON(){return{type:`FogExp2`,name:this.name,color:this.color.getHex(),density:this.density}}},Ul=class e{constructor(e,t=1,n=1e3){this.isFog=!0,this.name=``,this.color=new W(e),this.near=t,this.far=n}clone(){return new e(this.color,this.near,this.far)}toJSON(){return{type:`Fog`,name:this.name,color:this.color.getHex(),near:this.near,far:this.far}}},Wl=class extends ps{constructor(){super(),this.isScene=!0,this.type=`Scene`,this.background=null,this.environment=null,this.fog=null,this.backgroundBlurriness=0,this.backgroundIntensity=1,this.backgroundRotation=new Xo,this.environmentIntensity=1,this.environmentRotation=new Xo,this.overrideMaterial=null,typeof __THREE_DEVTOOLS__<`u`&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent(`observe`,{detail:this}))}copy(e,t){return super.copy(e,t),e.background!==null&&(this.background=e.background.clone()),e.environment!==null&&(this.environment=e.environment.clone()),e.fog!==null&&(this.fog=e.fog.clone()),this.backgroundBlurriness=e.backgroundBlurriness,this.backgroundIntensity=e.backgroundIntensity,this.backgroundRotation.copy(e.backgroundRotation),this.environmentIntensity=e.environmentIntensity,this.environmentRotation.copy(e.environmentRotation),e.overrideMaterial!==null&&(this.overrideMaterial=e.overrideMaterial.clone()),this.matrixAutoUpdate=e.matrixAutoUpdate,this}toJSON(e){let t=super.toJSON(e);return this.fog!==null&&(t.object.fog=this.fog.toJSON()),this.backgroundBlurriness>0&&(t.object.backgroundBlurriness=this.backgroundBlurriness),this.backgroundIntensity!==1&&(t.object.backgroundIntensity=this.backgroundIntensity),t.object.backgroundRotation=this.backgroundRotation.toArray(),this.environmentIntensity!==1&&(t.object.environmentIntensity=this.environmentIntensity),t.object.environmentRotation=this.environmentRotation.toArray(),t}},Gl=class{constructor(e,t){this.isInterleavedBuffer=!0,this.array=e,this.stride=t,this.count=e===void 0?0:e.length/t,this.usage=Ea,this.updateRanges=[],this.version=0,this.uuid=o()}onUploadCallback(){}set needsUpdate(e){e===!0&&this.version++}setUsage(e){return this.usage=e,this}addUpdateRange(e,t){this.updateRanges.push({start:e,count:t})}clearUpdateRanges(){this.updateRanges.length=0}copy(e){return this.array=new e.array.constructor(e.array),this.count=e.count,this.stride=e.stride,this.usage=e.usage,this}copyAt(e,t,n){e*=this.stride,n*=t.stride;for(let r=0,i=this.stride;r<i;r++)this.array[e+r]=t.array[n+r];return this}set(e,t=0){return this.array.set(e,t),this}clone(e){e.arrayBuffers===void 0&&(e.arrayBuffers={}),this.array.buffer._uuid===void 0&&(this.array.buffer._uuid=o()),e.arrayBuffers[this.array.buffer._uuid]===void 0&&(e.arrayBuffers[this.array.buffer._uuid]=this.array.slice(0).buffer);let t=new this.array.constructor(e.arrayBuffers[this.array.buffer._uuid]),n=new this.constructor(t,this.stride);return n.setUsage(this.usage),n}onUpload(e){return this.onUploadCallback=e,this}toJSON(e){return e.arrayBuffers===void 0&&(e.arrayBuffers={}),this.array.buffer._uuid===void 0&&(this.array.buffer._uuid=o()),e.arrayBuffers[this.array.buffer._uuid]===void 0&&(e.arrayBuffers[this.array.buffer._uuid]=Array.from(new Uint32Array(this.array.buffer))),{uuid:this.uuid,buffer:this.array.buffer._uuid,type:this.array.constructor.name,stride:this.stride}}},Kl=new H,ql=class e{constructor(e,t,n,r=!1){this.isInterleavedBufferAttribute=!0,this.name=``,this.data=e,this.itemSize=t,this.offset=n,this.normalized=r}get count(){return this.data.count}get array(){return this.data.array}set needsUpdate(e){this.data.needsUpdate=e}applyMatrix4(e){for(let t=0,n=this.data.count;t<n;t++)Kl.fromBufferAttribute(this,t),Kl.applyMatrix4(e),this.setXYZ(t,Kl.x,Kl.y,Kl.z);return this}applyNormalMatrix(e){for(let t=0,n=this.count;t<n;t++)Kl.fromBufferAttribute(this,t),Kl.applyNormalMatrix(e),this.setXYZ(t,Kl.x,Kl.y,Kl.z);return this}transformDirection(e){for(let t=0,n=this.count;t<n;t++)Kl.fromBufferAttribute(this,t),Kl.transformDirection(e),this.setXYZ(t,Kl.x,Kl.y,Kl.z);return this}getComponent(e,t){let n=this.array[e*this.data.stride+this.offset+t];return this.normalized&&(n=E(n,this.array)),n}setComponent(e,t,n){return this.normalized&&(n=D(n,this.array)),this.data.array[e*this.data.stride+this.offset+t]=n,this}setX(e,t){return this.normalized&&(t=D(t,this.array)),this.data.array[e*this.data.stride+this.offset]=t,this}setY(e,t){return this.normalized&&(t=D(t,this.array)),this.data.array[e*this.data.stride+this.offset+1]=t,this}setZ(e,t){return this.normalized&&(t=D(t,this.array)),this.data.array[e*this.data.stride+this.offset+2]=t,this}setW(e,t){return this.normalized&&(t=D(t,this.array)),this.data.array[e*this.data.stride+this.offset+3]=t,this}getX(e){let t=this.data.array[e*this.data.stride+this.offset];return this.normalized&&(t=E(t,this.array)),t}getY(e){let t=this.data.array[e*this.data.stride+this.offset+1];return this.normalized&&(t=E(t,this.array)),t}getZ(e){let t=this.data.array[e*this.data.stride+this.offset+2];return this.normalized&&(t=E(t,this.array)),t}getW(e){let t=this.data.array[e*this.data.stride+this.offset+3];return this.normalized&&(t=E(t,this.array)),t}setXY(e,t,n){return e=e*this.data.stride+this.offset,this.normalized&&(t=D(t,this.array),n=D(n,this.array)),this.data.array[e+0]=t,this.data.array[e+1]=n,this}setXYZ(e,t,n,r){return e=e*this.data.stride+this.offset,this.normalized&&(t=D(t,this.array),n=D(n,this.array),r=D(r,this.array)),this.data.array[e+0]=t,this.data.array[e+1]=n,this.data.array[e+2]=r,this}setXYZW(e,t,n,r,i){return e=e*this.data.stride+this.offset,this.normalized&&(t=D(t,this.array),n=D(n,this.array),r=D(r,this.array),i=D(i,this.array)),this.data.array[e+0]=t,this.data.array[e+1]=n,this.data.array[e+2]=r,this.data.array[e+3]=i,this}clone(t){if(t===void 0){console.log(`THREE.InterleavedBufferAttribute.clone(): Cloning an interleaved buffer attribute will de-interleave buffer data.`);let e=[];for(let t=0;t<this.count;t++){let n=t*this.data.stride+this.offset;for(let t=0;t<this.itemSize;t++)e.push(this.data.array[n+t])}return new G(new this.array.constructor(e),this.itemSize,this.normalized)}return t.interleavedBuffers===void 0&&(t.interleavedBuffers={}),t.interleavedBuffers[this.data.uuid]===void 0&&(t.interleavedBuffers[this.data.uuid]=this.data.clone(t)),new e(t.interleavedBuffers[this.data.uuid],this.itemSize,this.offset,this.normalized)}toJSON(e){if(e===void 0){console.log(`THREE.InterleavedBufferAttribute.toJSON(): Serializing an interleaved buffer attribute will de-interleave buffer data.`);let e=[];for(let t=0;t<this.count;t++){let n=t*this.data.stride+this.offset;for(let t=0;t<this.itemSize;t++)e.push(this.data.array[n+t])}return{itemSize:this.itemSize,type:this.array.constructor.name,array:e,normalized:this.normalized}}return e.interleavedBuffers===void 0&&(e.interleavedBuffers={}),e.interleavedBuffers[this.data.uuid]===void 0&&(e.interleavedBuffers[this.data.uuid]=this.data.toJSON(e)),{isInterleavedBufferAttribute:!0,itemSize:this.itemSize,data:this.data.uuid,offset:this.offset,normalized:this.normalized}}},Jl=class extends Ns{constructor(e){super(),this.isSpriteMaterial=!0,this.type=`SpriteMaterial`,this.color=new W(16777215),this.map=null,this.alphaMap=null,this.rotation=0,this.sizeAttenuation=!0,this.transparent=!0,this.fog=!0,this.setValues(e)}copy(e){return super.copy(e),this.color.copy(e.color),this.map=e.map,this.alphaMap=e.alphaMap,this.rotation=e.rotation,this.sizeAttenuation=e.sizeAttenuation,this.fog=e.fog,this}},Xl=new H,Zl=new H,Ql=new H,$l=new B,eu=new B,tu=new U,nu=new H,ru=new H,iu=new H,au=new B,ou=new B,su=new B,cu=class extends ps{constructor(e=new Jl){if(super(),this.isSprite=!0,this.type=`Sprite`,Yl===void 0){Yl=new q;let e=new Float32Array([-.5,-.5,0,0,0,.5,-.5,0,1,0,.5,.5,0,1,1,-.5,.5,0,0,1]),t=new Gl(e,5);Yl.setIndex([0,1,2,0,2,3]),Yl.setAttribute(`position`,new ql(t,3,0,!1)),Yl.setAttribute(`uv`,new ql(t,2,3,!1))}this.geometry=Yl,this.material=e,this.center=new B(.5,.5)}raycast(e,t){e.camera===null&&console.error(`THREE.Sprite: "Raycaster.camera" needs to be set in order to raycast against sprites.`),Zl.setFromMatrixScale(this.matrixWorld),tu.copy(e.camera.matrixWorld),this.modelViewMatrix.multiplyMatrices(e.camera.matrixWorldInverse,this.matrixWorld),Ql.setFromMatrixPosition(this.modelViewMatrix),e.camera.isPerspectiveCamera&&this.material.sizeAttenuation===!1&&Zl.multiplyScalar(-Ql.z);let n=this.material.rotation,r,i;n!==0&&(i=Math.cos(n),r=Math.sin(n));let a=this.center;yn(nu.set(-.5,-.5,0),Ql,a,Zl,r,i),yn(ru.set(.5,-.5,0),Ql,a,Zl,r,i),yn(iu.set(.5,.5,0),Ql,a,Zl,r,i),au.set(0,0),ou.set(1,0),su.set(1,1);let o=e.ray.intersectTriangle(nu,ru,iu,!1,Xl);if(o===null&&(yn(ru.set(-.5,.5,0),Ql,a,Zl,r,i),ou.set(0,1),o=e.ray.intersectTriangle(nu,iu,ru,!1,Xl),o===null))return;let s=e.ray.origin.distanceTo(Xl);s<e.near||s>e.far||t.push({distance:s,point:Xl.clone(),uv:Ds.getInterpolation(Xl,nu,ru,iu,au,ou,su,new B),face:null,object:this})}copy(e,t){return super.copy(e,t),e.center!==void 0&&this.center.copy(e.center),this.material=e.material,this}},lu=new H,uu=new H,du=class extends ps{constructor(){super(),this._currentLevel=0,this.type=`LOD`,Object.defineProperties(this,{levels:{enumerable:!0,value:[]},isLOD:{value:!0}}),this.autoUpdate=!0}copy(e){super.copy(e,!1);let t=e.levels;for(let e=0,n=t.length;e<n;e++){let n=t[e];this.addLevel(n.object.clone(),n.distance,n.hysteresis)}return this.autoUpdate=e.autoUpdate,this}addLevel(e,t=0,n=0){t=Math.abs(t);let r=this.levels,i=0;for(;i<r.length&&!(t<r[i].distance);i++);return r.splice(i,0,{distance:t,hysteresis:n,object:e}),this.add(e),this}removeLevel(e){let t=this.levels;for(let n=0;n<t.length;n++)if(t[n].distance===e){let e=t.splice(n,1);return this.remove(e[0].object),!0}return!1}getCurrentLevel(){return this._currentLevel}getObjectForDistance(e){let t=this.levels;if(t.length>0){let n,r;for(n=1,r=t.length;n<r;n++){let r=t[n].distance;if(t[n].object.visible&&(r-=r*t[n].hysteresis),e<r)break}return t[n-1].object}return null}raycast(e,t){if(this.levels.length>0){lu.setFromMatrixPosition(this.matrixWorld);let n=e.ray.origin.distanceTo(lu);this.getObjectForDistance(n).raycast(e,t)}}update(e){let t=this.levels;if(t.length>1){lu.setFromMatrixPosition(e.matrixWorld),uu.setFromMatrixPosition(this.matrixWorld);let n=lu.distanceTo(uu)/e.zoom;t[0].object.visible=!0;let r,i;for(r=1,i=t.length;r<i;r++){let e=t[r].distance;if(t[r].object.visible&&(e-=e*t[r].hysteresis),n>=e)t[r-1].object.visible=!1,t[r].object.visible=!0;else break}for(this._currentLevel=r-1;r<i;r++)t[r].object.visible=!1}}toJSON(e){let t=super.toJSON(e);this.autoUpdate===!1&&(t.object.autoUpdate=!1),t.object.levels=[];let n=this.levels;for(let e=0,r=n.length;e<r;e++){let r=n[e];t.object.levels.push({object:r.object.uuid,distance:r.distance,hysteresis:r.hysteresis})}return t}},fu=new H,pu=new io,mu=new io,hu=new H,gu=new U,_u=new H,vu=new Mo,yu=new U,bu=new Bo,xu=class extends dc{constructor(e,t){super(e,t),this.isSkinnedMesh=!0,this.type=`SkinnedMesh`,this.bindMode=Pr,this.bindMatrix=new U,this.bindMatrixInverse=new U,this.boundingBox=null,this.boundingSphere=null}computeBoundingBox(){let e=this.geometry;this.boundingBox===null&&(this.boundingBox=new ho),this.boundingBox.makeEmpty();let t=e.getAttribute(`position`);for(let e=0;e<t.count;e++)this.getVertexPosition(e,_u),this.boundingBox.expandByPoint(_u)}computeBoundingSphere(){let e=this.geometry;this.boundingSphere===null&&(this.boundingSphere=new Mo),this.boundingSphere.makeEmpty();let t=e.getAttribute(`position`);for(let e=0;e<t.count;e++)this.getVertexPosition(e,_u),this.boundingSphere.expandByPoint(_u)}copy(e,t){return super.copy(e,t),this.bindMode=e.bindMode,this.bindMatrix.copy(e.bindMatrix),this.bindMatrixInverse.copy(e.bindMatrixInverse),this.skeleton=e.skeleton,e.boundingBox!==null&&(this.boundingBox=e.boundingBox.clone()),e.boundingSphere!==null&&(this.boundingSphere=e.boundingSphere.clone()),this}raycast(e,t){let n=this.material,r=this.matrixWorld;n!==void 0&&(this.boundingSphere===null&&this.computeBoundingSphere(),vu.copy(this.boundingSphere),vu.applyMatrix4(r),e.ray.intersectsSphere(vu)!==!1&&(yu.copy(r).invert(),bu.copy(e.ray).applyMatrix4(yu),(this.boundingBox===null||bu.intersectsBox(this.boundingBox)!==!1)&&this._computeIntersections(e,t,bu)))}getVertexPosition(e,t){return super.getVertexPosition(e,t),this.applyBoneTransform(e,t),t}bind(e,t){this.skeleton=e,t===void 0&&(this.updateMatrixWorld(!0),this.skeleton.calculateInverses(),t=this.matrixWorld),this.bindMatrix.copy(t),this.bindMatrixInverse.copy(t).invert()}pose(){this.skeleton.pose()}normalizeSkinWeights(){let e=new io,t=this.geometry.attributes.skinWeight;for(let n=0,r=t.count;n<r;n++){e.fromBufferAttribute(t,n);let r=1/e.manhattanLength();r===1/0?e.set(1,0,0,0):e.multiplyScalar(r),t.setXYZW(n,e.x,e.y,e.z,e.w)}}updateMatrixWorld(e){super.updateMatrixWorld(e),this.bindMode===`attached`?this.bindMatrixInverse.copy(this.matrixWorld).invert():this.bindMode===`detached`?this.bindMatrixInverse.copy(this.bindMatrix).invert():console.warn(`THREE.SkinnedMesh: Unrecognized bindMode: `+this.bindMode)}applyBoneTransform(e,t){let n=this.skeleton,r=this.geometry;pu.fromBufferAttribute(r.attributes.skinIndex,e),mu.fromBufferAttribute(r.attributes.skinWeight,e),fu.copy(t).applyMatrix4(this.bindMatrix),t.set(0,0,0);for(let e=0;e<4;e++){let r=mu.getComponent(e);if(r!==0){let i=pu.getComponent(e);gu.multiplyMatrices(n.bones[i].matrixWorld,n.boneInverses[i]),t.addScaledVector(hu.copy(fu).applyMatrix4(gu),r)}}return t.applyMatrix4(this.bindMatrixInverse)}},Su=class extends ps{constructor(){super(),this.isBone=!0,this.type=`Bone`}},Cu=class extends ro{constructor(e=null,t=1,n=1,r,i,a,o,s,c=Rr,l=Rr,u,d){super(null,a,o,s,c,l,r,i,u,d),this.isDataTexture=!0,this.image={data:e,width:t,height:n},this.generateMipmaps=!1,this.flipY=!1,this.unpackAlignment=1}},wu=new U,Tu=new U,Eu=class e{constructor(e=[],t=[]){this.uuid=o(),this.bones=e.slice(0),this.boneInverses=t,this.boneMatrices=null,this.boneTexture=null,this.init()}init(){let e=this.bones,t=this.boneInverses;if(this.boneMatrices=new Float32Array(e.length*16),t.length===0)this.calculateInverses();else if(e.length!==t.length){console.warn(`THREE.Skeleton: Number of inverse bone matrices does not match amount of bones.`),this.boneInverses=[];for(let e=0,t=this.bones.length;e<t;e++)this.boneInverses.push(new U)}}calculateInverses(){this.boneInverses.length=0;for(let e=0,t=this.bones.length;e<t;e++){let t=new U;this.bones[e]&&t.copy(this.bones[e].matrixWorld).invert(),this.boneInverses.push(t)}}pose(){for(let e=0,t=this.bones.length;e<t;e++){let t=this.bones[e];t&&t.matrixWorld.copy(this.boneInverses[e]).invert()}for(let e=0,t=this.bones.length;e<t;e++){let t=this.bones[e];t&&(t.parent&&t.parent.isBone?(t.matrix.copy(t.parent.matrixWorld).invert(),t.matrix.multiply(t.matrixWorld)):t.matrix.copy(t.matrixWorld),t.matrix.decompose(t.position,t.quaternion,t.scale))}}update(){let e=this.bones,t=this.boneInverses,n=this.boneMatrices,r=this.boneTexture;for(let r=0,i=e.length;r<i;r++){let i=e[r]?e[r].matrixWorld:Tu;wu.multiplyMatrices(i,t[r]),wu.toArray(n,r*16)}r!==null&&(r.needsUpdate=!0)}clone(){return new e(this.bones,this.boneInverses)}computeBoneTexture(){let e=Math.sqrt(this.bones.length*4);e=Math.ceil(e/4)*4,e=Math.max(e,4);let t=new Float32Array(e*e*4);t.set(this.boneMatrices);let n=new Cu(t,e,e,ci,ei);return n.needsUpdate=!0,this.boneMatrices=t,this.boneTexture=n,this}getBoneByName(e){for(let t=0,n=this.bones.length;t<n;t++){let n=this.bones[t];if(n.name===e)return n}}dispose(){this.boneTexture!==null&&(this.boneTexture.dispose(),this.boneTexture=null)}fromJSON(e,t){this.uuid=e.uuid;for(let n=0,r=e.bones.length;n<r;n++){let r=e.bones[n],i=t[r];i===void 0&&(console.warn(`THREE.Skeleton: No bone found with UUID:`,r),i=new Su),this.bones.push(i),this.boneInverses.push(new U().fromArray(e.boneInverses[n]))}return this.init(),this}toJSON(){let e={metadata:{version:4.6,type:`Skeleton`,generator:`Skeleton.toJSON`},bones:[],boneInverses:[]};e.uuid=this.uuid;let t=this.bones,n=this.boneInverses;for(let r=0,i=t.length;r<i;r++){let i=t[r];e.bones.push(i.uuid);let a=n[r];e.boneInverses.push(a.toArray())}return e}},Du=class extends G{constructor(e,t,n,r=1){super(e,t,n),this.isInstancedBufferAttribute=!0,this.meshPerAttribute=r}copy(e){return super.copy(e),this.meshPerAttribute=e.meshPerAttribute,this}toJSON(){let e=super.toJSON();return e.meshPerAttribute=this.meshPerAttribute,e.isInstancedBufferAttribute=!0,e}},Ou=new U,ku=new U,Au=[],ju=new ho,Mu=new U,Nu=new dc,Pu=new Mo,Fu=class extends dc{constructor(e,t,n){super(e,t),this.isInstancedMesh=!0,this.instanceMatrix=new Du(new Float32Array(n*16),16),this.instanceColor=null,this.morphTexture=null,this.count=n,this.boundingBox=null,this.boundingSphere=null;for(let e=0;e<n;e++)this.setMatrixAt(e,Mu)}computeBoundingBox(){let e=this.geometry,t=this.count;this.boundingBox===null&&(this.boundingBox=new ho),e.boundingBox===null&&e.computeBoundingBox(),this.boundingBox.makeEmpty();for(let n=0;n<t;n++)this.getMatrixAt(n,Ou),ju.copy(e.boundingBox).applyMatrix4(Ou),this.boundingBox.union(ju)}computeBoundingSphere(){let e=this.geometry,t=this.count;this.boundingSphere===null&&(this.boundingSphere=new Mo),e.boundingSphere===null&&e.computeBoundingSphere(),this.boundingSphere.makeEmpty();for(let n=0;n<t;n++)this.getMatrixAt(n,Ou),Pu.copy(e.boundingSphere).applyMatrix4(Ou),this.boundingSphere.union(Pu)}copy(e,t){return super.copy(e,t),this.instanceMatrix.copy(e.instanceMatrix),e.morphTexture!==null&&(this.morphTexture=e.morphTexture.clone()),e.instanceColor!==null&&(this.instanceColor=e.instanceColor.clone()),this.count=e.count,e.boundingBox!==null&&(this.boundingBox=e.boundingBox.clone()),e.boundingSphere!==null&&(this.boundingSphere=e.boundingSphere.clone()),this}getColorAt(e,t){t.fromArray(this.instanceColor.array,e*3)}getMatrixAt(e,t){t.fromArray(this.instanceMatrix.array,e*16)}getMorphAt(e,t){let n=t.morphTargetInfluences,r=this.morphTexture.source.data.data,i=e*(n.length+1)+1;for(let e=0;e<n.length;e++)n[e]=r[i+e]}raycast(e,t){let n=this.matrixWorld,r=this.count;if(Nu.geometry=this.geometry,Nu.material=this.material,Nu.material!==void 0&&(this.boundingSphere===null&&this.computeBoundingSphere(),Pu.copy(this.boundingSphere),Pu.applyMatrix4(n),e.ray.intersectsSphere(Pu)!==!1))for(let i=0;i<r;i++){this.getMatrixAt(i,Ou),ku.multiplyMatrices(n,Ou),Nu.matrixWorld=ku,Nu.raycast(e,Au);for(let e=0,n=Au.length;e<n;e++){let n=Au[e];n.instanceId=i,n.object=this,t.push(n)}Au.length=0}}setColorAt(e,t){this.instanceColor===null&&(this.instanceColor=new Du(new Float32Array(this.instanceMatrix.count*3).fill(1),3)),t.toArray(this.instanceColor.array,e*3)}setMatrixAt(e,t){t.toArray(this.instanceMatrix.array,e*16)}setMorphAt(e,t){let n=t.morphTargetInfluences,r=n.length+1;this.morphTexture===null&&(this.morphTexture=new Cu(new Float32Array(r*this.count),r,this.count,pi,ei));let i=this.morphTexture.source.data.data,a=0;for(let e=0;e<n.length;e++)a+=n[e];let o=this.geometry.morphTargetsRelative?1:1-a,s=r*e;i[s]=o,i.set(n,s+1)}updateMorphTargets(){}dispose(){return this.dispatchEvent({type:`dispose`}),this.morphTexture!==null&&(this.morphTexture.dispose(),this.morphTexture=null),this}},Iu=class{constructor(){this.index=0,this.pool=[],this.list=[]}push(e,t,n){let r=this.pool,i=this.list;this.index>=r.length&&r.push({start:-1,count:-1,z:-1,index:-1});let a=r[this.index];i.push(a),this.index++,a.start=e.start,a.count=e.count,a.z=t,a.index=n}reset(){this.list.length=0,this.index=0}},Lu=new U,Ru=new U,zu=new U,Bu=new W(1,1,1),Vu=new U,Hu=new Nc,Uu=new ho,Wu=new Mo,Gu=new H,Ku=new H,qu=new H,Ju=new Iu,Yu=new dc,Xu=[],Zu=class extends dc{get maxInstanceCount(){return this._maxInstanceCount}constructor(e,t,n=t*2,r){super(new q,r),this.isBatchedMesh=!0,this.perObjectFrustumCulled=!0,this.sortObjects=!0,this.boundingBox=null,this.boundingSphere=null,this.customSort=null,this._drawInfo=[],this._availableInstanceIds=[],this._drawRanges=[],this._reservedRanges=[],this._bounds=[],this._maxInstanceCount=e,this._maxVertexCount=t,this._maxIndexCount=n,this._geometryInitialized=!1,this._geometryCount=0,this._multiDrawCounts=new Int32Array(e),this._multiDrawStarts=new Int32Array(e),this._multiDrawCount=0,this._multiDrawInstances=null,this._visibilityChanged=!0,this._matricesTexture=null,this._indirectTexture=null,this._colorsTexture=null,this._initMatricesTexture(),this._initIndirectTexture()}_initMatricesTexture(){let e=Math.sqrt(this._maxInstanceCount*4);e=Math.ceil(e/4)*4,e=Math.max(e,4);let t=new Float32Array(e*e*4),n=new Cu(t,e,e,ci,ei);this._matricesTexture=n}_initIndirectTexture(){let e=Math.sqrt(this._maxInstanceCount);e=Math.ceil(e);let t=new Uint32Array(e*e),n=new Cu(t,e,e,mi,$r);this._indirectTexture=n}_initColorsTexture(){let e=Math.sqrt(this._maxInstanceCount);e=Math.ceil(e);let t=new Float32Array(e*e*4).fill(1),n=new Cu(t,e,e,ci,ei);n.colorSpace=Za.workingColorSpace,this._colorsTexture=n}_initializeGeometry(e){let t=this.geometry,n=this._maxVertexCount,r=this._maxIndexCount;if(this._geometryInitialized===!1){for(let r in e.attributes){let{array:i,itemSize:a,normalized:o}=e.getAttribute(r),s=new i.constructor(n*a),c=new G(s,a,o);t.setAttribute(r,c)}if(e.getIndex()!==null){let e=n>65535?new Uint32Array(r):new Uint16Array(r);t.setIndex(new G(e,1))}this._geometryInitialized=!0}}_validateGeometry(e){let t=this.geometry;if(!!e.getIndex()!=!!t.getIndex())throw Error(`BatchedMesh: All geometries must consistently have "index".`);for(let n in t.attributes){if(!e.hasAttribute(n))throw Error(`BatchedMesh: Added geometry missing "${n}". All geometries must have consistent attributes.`);let r=e.getAttribute(n),i=t.getAttribute(n);if(r.itemSize!==i.itemSize||r.normalized!==i.normalized)throw Error(`BatchedMesh: All attributes must have a consistent itemSize and normalized value.`)}}setCustomSort(e){return this.customSort=e,this}computeBoundingBox(){this.boundingBox===null&&(this.boundingBox=new ho);let e=this.boundingBox,t=this._drawInfo;e.makeEmpty();for(let n=0,r=t.length;n<r;n++){if(t[n].active===!1)continue;let r=t[n].geometryIndex;this.getMatrixAt(n,Lu),this.getBoundingBoxAt(r,Uu).applyMatrix4(Lu),e.union(Uu)}}computeBoundingSphere(){this.boundingSphere===null&&(this.boundingSphere=new Mo);let e=this.boundingSphere,t=this._drawInfo;e.makeEmpty();for(let n=0,r=t.length;n<r;n++){if(t[n].active===!1)continue;let r=t[n].geometryIndex;this.getMatrixAt(n,Lu),this.getBoundingSphereAt(r,Wu).applyMatrix4(Lu),e.union(Wu)}}addInstance(e){if(this._drawInfo.length>=this.maxInstanceCount&&this._availableInstanceIds.length===0)throw Error(`BatchedMesh: Maximum item count reached.`);let t={visible:!0,active:!0,geometryIndex:e},n=null;this._availableInstanceIds.length>0?(n=this._availableInstanceIds.pop(),this._drawInfo[n]=t):(n=this._drawInfo.length,this._drawInfo.push(t));let r=this._matricesTexture,i=r.image.data;zu.toArray(i,n*16),r.needsUpdate=!0;let a=this._colorsTexture;return a&&(Bu.toArray(a.image.data,n*4),a.needsUpdate=!0),n}addGeometry(e,t=-1,n=-1){if(this._initializeGeometry(e),this._validateGeometry(e),this._drawInfo.length>=this._maxInstanceCount)throw Error(`BatchedMesh: Maximum item count reached.`);let r={vertexStart:-1,vertexCount:-1,indexStart:-1,indexCount:-1},i=null,a=this._reservedRanges,o=this._drawRanges,s=this._bounds;this._geometryCount!==0&&(i=a[a.length-1]),r.vertexCount=t===-1?e.getAttribute(`position`).count:t,r.vertexStart=i===null?0:i.vertexStart+i.vertexCount;let c=e.getIndex(),l=c!==null;if(l&&(r.indexCount=n===-1?c.count:n,r.indexStart=i===null?0:i.indexStart+i.indexCount),r.indexStart!==-1&&r.indexStart+r.indexCount>this._maxIndexCount||r.vertexStart+r.vertexCount>this._maxVertexCount)throw Error(`BatchedMesh: Reserved space request exceeds the maximum buffer size.`);let u=this._geometryCount;return this._geometryCount++,a.push(r),o.push({start:l?r.indexStart:r.vertexStart,count:-1}),s.push({boxInitialized:!1,box:new ho,sphereInitialized:!1,sphere:new Mo}),this.setGeometryAt(u,e),u}setGeometryAt(e,t){if(e>=this._geometryCount)throw Error(`BatchedMesh: Maximum geometry count reached.`);this._validateGeometry(t);let n=this.geometry,r=n.getIndex()!==null,i=n.getIndex(),a=t.getIndex(),o=this._reservedRanges[e];if(r&&a.count>o.indexCount||t.attributes.position.count>o.vertexCount)throw Error(`BatchedMesh: Reserved space not large enough for provided geometry.`);let s=o.vertexStart,c=o.vertexCount;for(let e in n.attributes){let r=t.getAttribute(e),i=n.getAttribute(e);Sn(r,i,s);let a=r.itemSize;for(let e=r.count,t=c;e<t;e++){let t=s+e;for(let e=0;e<a;e++)i.setComponent(t,e,0)}i.needsUpdate=!0,i.addUpdateRange(s*a,c*a)}if(r){let e=o.indexStart;for(let t=0;t<a.count;t++)i.setX(e+t,s+a.getX(t));for(let t=a.count,n=o.indexCount;t<n;t++)i.setX(e+t,s);i.needsUpdate=!0,i.addUpdateRange(e,o.indexCount)}let l=this._bounds[e];t.boundingBox===null?l.boxInitialized=!1:(l.box.copy(t.boundingBox),l.boxInitialized=!0),t.boundingSphere===null?l.sphereInitialized=!1:(l.sphere.copy(t.boundingSphere),l.sphereInitialized=!0);let u=this._drawRanges[e],d=t.getAttribute(`position`);return u.count=r?a.count:d.count,this._visibilityChanged=!0,e}deleteInstance(e){let t=this._drawInfo;return e>=t.length||t[e].active===!1||(t[e].active=!1,this._availableInstanceIds.push(e),this._visibilityChanged=!0),this}getBoundingBoxAt(e,t){if(e>=this._geometryCount)return null;let n=this._bounds[e],r=n.box,i=this.geometry;if(n.boxInitialized===!1){r.makeEmpty();let t=i.index,a=i.attributes.position,o=this._drawRanges[e];for(let e=o.start,n=o.start+o.count;e<n;e++){let n=e;t&&(n=t.getX(n)),r.expandByPoint(Gu.fromBufferAttribute(a,n))}n.boxInitialized=!0}return t.copy(r),t}getBoundingSphereAt(e,t){if(e>=this._geometryCount)return null;let n=this._bounds[e],r=n.sphere,i=this.geometry;if(n.sphereInitialized===!1){r.makeEmpty(),this.getBoundingBoxAt(e,Uu),Uu.getCenter(r.center);let t=i.index,a=i.attributes.position,o=this._drawRanges[e],s=0;for(let e=o.start,n=o.start+o.count;e<n;e++){let n=e;t&&(n=t.getX(n)),Gu.fromBufferAttribute(a,n),s=Math.max(s,r.center.distanceToSquared(Gu))}r.radius=Math.sqrt(s),n.sphereInitialized=!0}return t.copy(r),t}setMatrixAt(e,t){let n=this._drawInfo,r=this._matricesTexture,i=this._matricesTexture.image.data;return e>=n.length||n[e].active===!1||(t.toArray(i,e*16),r.needsUpdate=!0),this}getMatrixAt(e,t){let n=this._drawInfo,r=this._matricesTexture.image.data;return e>=n.length||n[e].active===!1?null:t.fromArray(r,e*16)}setColorAt(e,t){this._colorsTexture===null&&this._initColorsTexture();let n=this._colorsTexture,r=this._colorsTexture.image.data,i=this._drawInfo;return e>=i.length||i[e].active===!1||(t.toArray(r,e*4),n.needsUpdate=!0),this}getColorAt(e,t){let n=this._colorsTexture.image.data,r=this._drawInfo;return e>=r.length||r[e].active===!1?null:t.fromArray(n,e*4)}setVisibleAt(e,t){let n=this._drawInfo;return e>=n.length||n[e].active===!1||n[e].visible===t||(n[e].visible=t,this._visibilityChanged=!0),this}getVisibleAt(e){let t=this._drawInfo;return e>=t.length||t[e].active===!1?!1:t[e].visible}setGeometryIdAt(e,t){let n=this._drawInfo;return e>=n.length||n[e].active===!1||t<0||t>=this._geometryCount?null:(n[e].geometryIndex=t,this)}getGeometryIdAt(e){let t=this._drawInfo;return e>=t.length||t[e].active===!1?-1:t[e].geometryIndex}getGeometryRangeAt(e,t={}){if(e<0||e>=this._geometryCount)return null;let n=this._drawRanges[e];return t.start=n.start,t.count=n.count,t}raycast(e,t){let n=this._drawInfo,r=this._drawRanges,i=this.matrixWorld,a=this.geometry;Yu.material=this.material,Yu.geometry.index=a.index,Yu.geometry.attributes=a.attributes,Yu.geometry.boundingBox===null&&(Yu.geometry.boundingBox=new ho),Yu.geometry.boundingSphere===null&&(Yu.geometry.boundingSphere=new Mo);for(let a=0,o=n.length;a<o;a++){if(!n[a].visible||!n[a].active)continue;let o=n[a].geometryIndex,s=r[o];Yu.geometry.setDrawRange(s.start,s.count),this.getMatrixAt(a,Yu.matrixWorld).premultiply(i),this.getBoundingBoxAt(o,Yu.geometry.boundingBox),this.getBoundingSphereAt(o,Yu.geometry.boundingSphere),Yu.raycast(e,Xu);for(let e=0,n=Xu.length;e<n;e++){let n=Xu[e];n.object=this,n.batchId=a,t.push(n)}Xu.length=0}Yu.material=null,Yu.geometry.index=null,Yu.geometry.attributes={},Yu.geometry.setDrawRange(0,1/0)}copy(e){return super.copy(e),this.geometry=e.geometry.clone(),this.perObjectFrustumCulled=e.perObjectFrustumCulled,this.sortObjects=e.sortObjects,this.boundingBox=e.boundingBox===null?null:e.boundingBox.clone(),this.boundingSphere=e.boundingSphere===null?null:e.boundingSphere.clone(),this._drawRanges=e._drawRanges.map(e=>({...e})),this._reservedRanges=e._reservedRanges.map(e=>({...e})),this._drawInfo=e._drawInfo.map(e=>({...e})),this._bounds=e._bounds.map(e=>({boxInitialized:e.boxInitialized,box:e.box.clone(),sphereInitialized:e.sphereInitialized,sphere:e.sphere.clone()})),this._maxInstanceCount=e._maxInstanceCount,this._maxVertexCount=e._maxVertexCount,this._maxIndexCount=e._maxIndexCount,this._geometryInitialized=e._geometryInitialized,this._geometryCount=e._geometryCount,this._multiDrawCounts=e._multiDrawCounts.slice(),this._multiDrawStarts=e._multiDrawStarts.slice(),this._matricesTexture=e._matricesTexture.clone(),this._matricesTexture.image.data=this._matricesTexture.image.data.slice(),this._colorsTexture!==null&&(this._colorsTexture=e._colorsTexture.clone(),this._colorsTexture.image.data=this._colorsTexture.image.data.slice()),this}dispose(){return this.geometry.dispose(),this._matricesTexture.dispose(),this._matricesTexture=null,this._indirectTexture.dispose(),this._indirectTexture=null,this._colorsTexture!==null&&(this._colorsTexture.dispose(),this._colorsTexture=null),this}onBeforeRender(e,t,n,r,i){if(!this._visibilityChanged&&!this.perObjectFrustumCulled&&!this.sortObjects)return;let a=r.getIndex(),o=a===null?1:a.array.BYTES_PER_ELEMENT,s=this._drawInfo,c=this._multiDrawStarts,l=this._multiDrawCounts,u=this._drawRanges,d=this.perObjectFrustumCulled,f=this._indirectTexture,p=f.image.data;d&&(Vu.multiplyMatrices(n.projectionMatrix,n.matrixWorldInverse).multiply(this.matrixWorld),Hu.setFromProjectionMatrix(Vu,e.coordinateSystem));let m=0;if(this.sortObjects){Ru.copy(this.matrixWorld).invert(),Gu.setFromMatrixPosition(n.matrixWorld).applyMatrix4(Ru),Ku.set(0,0,-1).transformDirection(n.matrixWorld).transformDirection(Ru);for(let e=0,t=s.length;e<t;e++)if(s[e].visible&&s[e].active){let t=s[e].geometryIndex;this.getMatrixAt(e,Lu),this.getBoundingSphereAt(t,Wu).applyMatrix4(Lu);let n=!1;if(d&&(n=!Hu.intersectsSphere(Wu)),!n){let n=qu.subVectors(Wu.center,Gu).dot(Ku);Ju.push(u[t],n,e)}}let e=Ju.list,t=this.customSort;t===null?e.sort(i.transparent?xn:bn):t.call(this,e,n);for(let t=0,n=e.length;t<n;t++){let n=e[t];c[m]=n.start*o,l[m]=n.count,p[m]=n.index,m++}Ju.reset()}else for(let e=0,t=s.length;e<t;e++)if(s[e].visible&&s[e].active){let t=s[e].geometryIndex,n=!1;if(d&&(this.getMatrixAt(e,Lu),this.getBoundingSphereAt(t,Wu).applyMatrix4(Lu),n=!Hu.intersectsSphere(Wu)),!n){let n=u[t];c[m]=n.start*o,l[m]=n.count,p[m]=e,m++}}f.needsUpdate=!0,this._multiDrawCount=m,this._visibilityChanged=!1}onBeforeShadow(e,t,n,r,i,a){this.onBeforeRender(e,null,r,i,a)}},Qu=class extends Ns{constructor(e){super(),this.isLineBasicMaterial=!0,this.type=`LineBasicMaterial`,this.color=new W(16777215),this.map=null,this.linewidth=1,this.linecap=`round`,this.linejoin=`round`,this.fog=!0,this.setValues(e)}copy(e){return super.copy(e),this.color.copy(e.color),this.map=e.map,this.linewidth=e.linewidth,this.linecap=e.linecap,this.linejoin=e.linejoin,this.fog=e.fog,this}},$u=new H,ed=new H,td=new U,nd=new Bo,rd=new Mo,id=new H,ad=new H,od=class extends ps{constructor(e=new q,t=new Qu){super(),this.isLine=!0,this.type=`Line`,this.geometry=e,this.material=t,this.updateMorphTargets()}copy(e,t){return super.copy(e,t),this.material=Array.isArray(e.material)?e.material.slice():e.material,this.geometry=e.geometry,this}computeLineDistances(){let e=this.geometry;if(e.index===null){let t=e.attributes.position,n=[0];for(let e=1,r=t.count;e<r;e++)$u.fromBufferAttribute(t,e-1),ed.fromBufferAttribute(t,e),n[e]=n[e-1],n[e]+=$u.distanceTo(ed);e.setAttribute(`lineDistance`,new K(n,1))}else console.warn(`THREE.Line.computeLineDistances(): Computation only possible with non-indexed BufferGeometry.`);return this}raycast(e,t){let n=this.geometry,r=this.matrixWorld,i=e.params.Line.threshold,a=n.drawRange;if(n.boundingSphere===null&&n.computeBoundingSphere(),rd.copy(n.boundingSphere),rd.applyMatrix4(r),rd.radius+=i,e.ray.intersectsSphere(rd)===!1)return;td.copy(r).invert(),nd.copy(e.ray).applyMatrix4(td);let o=i/((this.scale.x+this.scale.y+this.scale.z)/3),s=o*o,c=this.isLineSegments?2:1,l=n.index,u=n.attributes.position;if(l!==null){let n=Math.max(0,a.start),r=Math.min(l.count,a.start+a.count);for(let i=n,a=r-1;i<a;i+=c){let n=l.getX(i),r=l.getX(i+1),a=Cn(this,e,nd,s,n,r);a&&t.push(a)}if(this.isLineLoop){let i=l.getX(r-1),a=l.getX(n),o=Cn(this,e,nd,s,i,a);o&&t.push(o)}}else{let n=Math.max(0,a.start),r=Math.min(u.count,a.start+a.count);for(let i=n,a=r-1;i<a;i+=c){let n=Cn(this,e,nd,s,i,i+1);n&&t.push(n)}if(this.isLineLoop){let i=Cn(this,e,nd,s,r-1,n);i&&t.push(i)}}}updateMorphTargets(){let e=this.geometry.morphAttributes,t=Object.keys(e);if(t.length>0){let n=e[t[0]];if(n!==void 0){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let e=0,t=n.length;e<t;e++){let t=n[e].name||String(e);this.morphTargetInfluences.push(0),this.morphTargetDictionary[t]=e}}}}},sd=new H,cd=new H,ld=class extends od{constructor(e,t){super(e,t),this.isLineSegments=!0,this.type=`LineSegments`}computeLineDistances(){let e=this.geometry;if(e.index===null){let t=e.attributes.position,n=[];for(let e=0,r=t.count;e<r;e+=2)sd.fromBufferAttribute(t,e),cd.fromBufferAttribute(t,e+1),n[e]=e===0?0:n[e-1],n[e+1]=n[e]+sd.distanceTo(cd);e.setAttribute(`lineDistance`,new K(n,1))}else console.warn(`THREE.LineSegments.computeLineDistances(): Computation only possible with non-indexed BufferGeometry.`);return this}},ud=class extends od{constructor(e,t){super(e,t),this.isLineLoop=!0,this.type=`LineLoop`}},dd=class extends Ns{constructor(e){super(),this.isPointsMaterial=!0,this.type=`PointsMaterial`,this.color=new W(16777215),this.map=null,this.alphaMap=null,this.size=1,this.sizeAttenuation=!0,this.fog=!0,this.setValues(e)}copy(e){return super.copy(e),this.color.copy(e.color),this.map=e.map,this.alphaMap=e.alphaMap,this.size=e.size,this.sizeAttenuation=e.sizeAttenuation,this.fog=e.fog,this}},fd=new U,pd=new Bo,md=new Mo,hd=new H,gd=class extends ps{constructor(e=new q,t=new dd){super(),this.isPoints=!0,this.type=`Points`,this.geometry=e,this.material=t,this.updateMorphTargets()}copy(e,t){return super.copy(e,t),this.material=Array.isArray(e.material)?e.material.slice():e.material,this.geometry=e.geometry,this}raycast(e,t){let n=this.geometry,r=this.matrixWorld,i=e.params.Points.threshold,a=n.drawRange;if(n.boundingSphere===null&&n.computeBoundingSphere(),md.copy(n.boundingSphere),md.applyMatrix4(r),md.radius+=i,e.ray.intersectsSphere(md)===!1)return;fd.copy(r).invert(),pd.copy(e.ray).applyMatrix4(fd);let o=i/((this.scale.x+this.scale.y+this.scale.z)/3),s=o*o,c=n.index,l=n.attributes.position;if(c!==null){let n=Math.max(0,a.start),i=Math.min(c.count,a.start+a.count);for(let a=n,o=i;a<o;a++){let n=c.getX(a);hd.fromBufferAttribute(l,n),wn(hd,n,s,r,e,t,this)}}else{let n=Math.max(0,a.start),i=Math.min(l.count,a.start+a.count);for(let a=n,o=i;a<o;a++)hd.fromBufferAttribute(l,a),wn(hd,a,s,r,e,t,this)}}updateMorphTargets(){let e=this.geometry.morphAttributes,t=Object.keys(e);if(t.length>0){let n=e[t[0]];if(n!==void 0){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let e=0,t=n.length;e<t;e++){let t=n[e].name||String(e);this.morphTargetInfluences.push(0),this.morphTargetDictionary[t]=e}}}}},_d=class extends ro{constructor(e,t,n,r,i,a,o,s,c){super(e,t,n,r,i,a,o,s,c),this.isVideoTexture=!0,this.minFilter=a===void 0?Ur:a,this.magFilter=i===void 0?Ur:i,this.generateMipmaps=!1;let l=this;function u(){l.needsUpdate=!0,e.requestVideoFrameCallback(u)}`requestVideoFrameCallback`in e&&e.requestVideoFrameCallback(u)}clone(){return new this.constructor(this.image).copy(this)}update(){let e=this.image;!(`requestVideoFrameCallback`in e)&&e.readyState>=e.HAVE_CURRENT_DATA&&(this.needsUpdate=!0)}},vd=class extends ro{constructor(e,t){super({width:e,height:t}),this.isFramebufferTexture=!0,this.magFilter=Rr,this.minFilter=Rr,this.generateMipmaps=!1,this.needsUpdate=!0}},yd=class extends ro{constructor(e,t,n,r,i,a,o,s,c,l,u,d){super(null,a,o,s,c,l,r,i,u,d),this.isCompressedTexture=!0,this.image={width:t,height:n},this.mipmaps=e,this.flipY=!1,this.generateMipmaps=!1}},bd=class extends yd{constructor(e,t,n,r,i,a){super(e,t,n,i,a),this.isCompressedArrayTexture=!0,this.image.depth=r,this.wrapR=z,this.layerUpdates=new Set}addLayerUpdate(e){this.layerUpdates.add(e)}clearLayerUpdates(){this.layerUpdates.clear()}},xd=class extends yd{constructor(e,t,n){super(void 0,e[0].width,e[0].height,t,n,301),this.isCompressedCubeTexture=!0,this.isCubeTexture=!0,this.image=e}},Sd=class extends ro{constructor(e,t,n,r,i,a,o,s,c){super(e,t,n,r,i,a,o,s,c),this.isCanvasTexture=!0,this.needsUpdate=!0}},Cd=class{constructor(){this.type=`Curve`,this.arcLengthDivisions=200}getPoint(){return console.warn(`THREE.Curve: .getPoint() not implemented.`),null}getPointAt(e,t){let n=this.getUtoTmapping(e);return this.getPoint(n,t)}getPoints(e=5){let t=[];for(let n=0;n<=e;n++)t.push(this.getPoint(n/e));return t}getSpacedPoints(e=5){let t=[];for(let n=0;n<=e;n++)t.push(this.getPointAt(n/e));return t}getLength(){let e=this.getLengths();return e[e.length-1]}getLengths(e=this.arcLengthDivisions){if(this.cacheArcLengths&&this.cacheArcLengths.length===e+1&&!this.needsUpdate)return this.cacheArcLengths;this.needsUpdate=!1;let t=[],n,r=this.getPoint(0),i=0;t.push(0);for(let a=1;a<=e;a++)n=this.getPoint(a/e),i+=n.distanceTo(r),t.push(i),r=n;return this.cacheArcLengths=t,t}updateArcLengths(){this.needsUpdate=!0,this.getLengths()}getUtoTmapping(e,t){let n=this.getLengths(),r=0,i=n.length,a;a=t||e*n[i-1];let o=0,s=i-1,c;for(;o<=s;)if(r=Math.floor(o+(s-o)/2),c=n[r]-a,c<0)o=r+1;else if(c>0)s=r-1;else{s=r;break}if(r=s,n[r]===a)return r/(i-1);let l=n[r],u=n[r+1]-l,d=(a-l)/u;return(r+d)/(i-1)}getTangent(e,t){let n=1e-4,r=e-n,i=e+n;r<0&&(r=0),i>1&&(i=1);let a=this.getPoint(r),o=this.getPoint(i),s=t||(a.isVector2?new B:new H);return s.copy(o).sub(a).normalize(),s}getTangentAt(e,t){let n=this.getUtoTmapping(e);return this.getTangent(n,t)}computeFrenetFrames(e,t){let n=new H,r=[],i=[],a=[],o=new H,c=new U;for(let t=0;t<=e;t++){let n=t/e;r[t]=this.getTangentAt(n,new H)}i[0]=new H,a[0]=new H;let l=Number.MAX_VALUE,u=Math.abs(r[0].x),d=Math.abs(r[0].y),f=Math.abs(r[0].z);u<=l&&(l=u,n.set(1,0,0)),d<=l&&(l=d,n.set(0,1,0)),f<=l&&n.set(0,0,1),o.crossVectors(r[0],n).normalize(),i[0].crossVectors(r[0],o),a[0].crossVectors(r[0],i[0]);for(let t=1;t<=e;t++){if(i[t]=i[t-1].clone(),a[t]=a[t-1].clone(),o.crossVectors(r[t-1],r[t]),o.length()>2**-52){o.normalize();let e=Math.acos(s(r[t-1].dot(r[t]),-1,1));i[t].applyMatrix4(c.makeRotationAxis(o,e))}a[t].crossVectors(r[t],i[t])}if(t===!0){let t=Math.acos(s(i[0].dot(i[e]),-1,1));t/=e,r[0].dot(o.crossVectors(i[0],i[e]))>0&&(t=-t);for(let n=1;n<=e;n++)i[n].applyMatrix4(c.makeRotationAxis(r[n],t*n)),a[n].crossVectors(r[n],i[n])}return{tangents:r,normals:i,binormals:a}}clone(){return new this.constructor().copy(this)}copy(e){return this.arcLengthDivisions=e.arcLengthDivisions,this}toJSON(){let e={metadata:{version:4.6,type:`Curve`,generator:`Curve.toJSON`}};return e.arcLengthDivisions=this.arcLengthDivisions,e.type=this.type,e}fromJSON(e){return this.arcLengthDivisions=e.arcLengthDivisions,this}},wd=class extends Cd{constructor(e=0,t=0,n=1,r=1,i=0,a=Math.PI*2,o=!1,s=0){super(),this.isEllipseCurve=!0,this.type=`EllipseCurve`,this.aX=e,this.aY=t,this.xRadius=n,this.yRadius=r,this.aStartAngle=i,this.aEndAngle=a,this.aClockwise=o,this.aRotation=s}getPoint(e,t=new B){let n=t,r=Math.PI*2,i=this.aEndAngle-this.aStartAngle,a=Math.abs(i)<2**-52;for(;i<0;)i+=r;for(;i>r;)i-=r;i<2**-52&&(i=a?0:r),this.aClockwise===!0&&!a&&(i===r?i=-r:i-=r);let o=this.aStartAngle+e*i,s=this.aX+this.xRadius*Math.cos(o),c=this.aY+this.yRadius*Math.sin(o);if(this.aRotation!==0){let e=Math.cos(this.aRotation),t=Math.sin(this.aRotation),n=s-this.aX,r=c-this.aY;s=n*e-r*t+this.aX,c=n*t+r*e+this.aY}return n.set(s,c)}copy(e){return super.copy(e),this.aX=e.aX,this.aY=e.aY,this.xRadius=e.xRadius,this.yRadius=e.yRadius,this.aStartAngle=e.aStartAngle,this.aEndAngle=e.aEndAngle,this.aClockwise=e.aClockwise,this.aRotation=e.aRotation,this}toJSON(){let e=super.toJSON();return e.aX=this.aX,e.aY=this.aY,e.xRadius=this.xRadius,e.yRadius=this.yRadius,e.aStartAngle=this.aStartAngle,e.aEndAngle=this.aEndAngle,e.aClockwise=this.aClockwise,e.aRotation=this.aRotation,e}fromJSON(e){return super.fromJSON(e),this.aX=e.aX,this.aY=e.aY,this.xRadius=e.xRadius,this.yRadius=e.yRadius,this.aStartAngle=e.aStartAngle,this.aEndAngle=e.aEndAngle,this.aClockwise=e.aClockwise,this.aRotation=e.aRotation,this}},Td=class extends wd{constructor(e,t,n,r,i,a){super(e,t,n,n,r,i,a),this.isArcCurve=!0,this.type=`ArcCurve`}},Ed=new H,Dd=new Tn,Od=new Tn,kd=new Tn,Ad=class extends Cd{constructor(e=[],t=!1,n=`centripetal`,r=.5){super(),this.isCatmullRomCurve3=!0,this.type=`CatmullRomCurve3`,this.points=e,this.closed=t,this.curveType=n,this.tension=r}getPoint(e,t=new H){let n=t,r=this.points,i=r.length,a=(i-+!this.closed)*e,o=Math.floor(a),s=a-o;this.closed?o+=o>0?0:(Math.floor(Math.abs(o)/i)+1)*i:s===0&&o===i-1&&(o=i-2,s=1);let c,l;this.closed||o>0?c=r[(o-1)%i]:(Ed.subVectors(r[0],r[1]).add(r[0]),c=Ed);let u=r[o%i],d=r[(o+1)%i];if(this.closed||o+2<i?l=r[(o+2)%i]:(Ed.subVectors(r[i-1],r[i-2]).add(r[i-1]),l=Ed),this.curveType===`centripetal`||this.curveType===`chordal`){let e=this.curveType===`chordal`?.5:.25,t=c.distanceToSquared(u)**+e,n=u.distanceToSquared(d)**+e,r=d.distanceToSquared(l)**+e;n<1e-4&&(n=1),t<1e-4&&(t=n),r<1e-4&&(r=n),Dd.initNonuniformCatmullRom(c.x,u.x,d.x,l.x,t,n,r),Od.initNonuniformCatmullRom(c.y,u.y,d.y,l.y,t,n,r),kd.initNonuniformCatmullRom(c.z,u.z,d.z,l.z,t,n,r)}else this.curveType===`catmullrom`&&(Dd.initCatmullRom(c.x,u.x,d.x,l.x,this.tension),Od.initCatmullRom(c.y,u.y,d.y,l.y,this.tension),kd.initCatmullRom(c.z,u.z,d.z,l.z,this.tension));return n.set(Dd.calc(s),Od.calc(s),kd.calc(s)),n}copy(e){super.copy(e),this.points=[];for(let t=0,n=e.points.length;t<n;t++){let n=e.points[t];this.points.push(n.clone())}return this.closed=e.closed,this.curveType=e.curveType,this.tension=e.tension,this}toJSON(){let e=super.toJSON();e.points=[];for(let t=0,n=this.points.length;t<n;t++){let n=this.points[t];e.points.push(n.toArray())}return e.closed=this.closed,e.curveType=this.curveType,e.tension=this.tension,e}fromJSON(e){super.fromJSON(e),this.points=[];for(let t=0,n=e.points.length;t<n;t++){let n=e.points[t];this.points.push(new H().fromArray(n))}return this.closed=e.closed,this.curveType=e.curveType,this.tension=e.tension,this}},jd=class extends Cd{constructor(e=new B,t=new B,n=new B,r=new B){super(),this.isCubicBezierCurve=!0,this.type=`CubicBezierCurve`,this.v0=e,this.v1=t,this.v2=n,this.v3=r}getPoint(e,t=new B){let n=t,r=this.v0,i=this.v1,a=this.v2,o=this.v3;return n.set(Fn(e,r.x,i.x,a.x,o.x),Fn(e,r.y,i.y,a.y,o.y)),n}copy(e){return super.copy(e),this.v0.copy(e.v0),this.v1.copy(e.v1),this.v2.copy(e.v2),this.v3.copy(e.v3),this}toJSON(){let e=super.toJSON();return e.v0=this.v0.toArray(),e.v1=this.v1.toArray(),e.v2=this.v2.toArray(),e.v3=this.v3.toArray(),e}fromJSON(e){return super.fromJSON(e),this.v0.fromArray(e.v0),this.v1.fromArray(e.v1),this.v2.fromArray(e.v2),this.v3.fromArray(e.v3),this}},Md=class extends Cd{constructor(e=new H,t=new H,n=new H,r=new H){super(),this.isCubicBezierCurve3=!0,this.type=`CubicBezierCurve3`,this.v0=e,this.v1=t,this.v2=n,this.v3=r}getPoint(e,t=new H){let n=t,r=this.v0,i=this.v1,a=this.v2,o=this.v3;return n.set(Fn(e,r.x,i.x,a.x,o.x),Fn(e,r.y,i.y,a.y,o.y),Fn(e,r.z,i.z,a.z,o.z)),n}copy(e){return super.copy(e),this.v0.copy(e.v0),this.v1.copy(e.v1),this.v2.copy(e.v2),this.v3.copy(e.v3),this}toJSON(){let e=super.toJSON();return e.v0=this.v0.toArray(),e.v1=this.v1.toArray(),e.v2=this.v2.toArray(),e.v3=this.v3.toArray(),e}fromJSON(e){return super.fromJSON(e),this.v0.fromArray(e.v0),this.v1.fromArray(e.v1),this.v2.fromArray(e.v2),this.v3.fromArray(e.v3),this}},Nd=class extends Cd{constructor(e=new B,t=new B){super(),this.isLineCurve=!0,this.type=`LineCurve`,this.v1=e,this.v2=t}getPoint(e,t=new B){let n=t;return e===1?n.copy(this.v2):(n.copy(this.v2).sub(this.v1),n.multiplyScalar(e).add(this.v1)),n}getPointAt(e,t){return this.getPoint(e,t)}getTangent(e,t=new B){return t.subVectors(this.v2,this.v1).normalize()}getTangentAt(e,t){return this.getTangent(e,t)}copy(e){return super.copy(e),this.v1.copy(e.v1),this.v2.copy(e.v2),this}toJSON(){let e=super.toJSON();return e.v1=this.v1.toArray(),e.v2=this.v2.toArray(),e}fromJSON(e){return super.fromJSON(e),this.v1.fromArray(e.v1),this.v2.fromArray(e.v2),this}},Pd=class extends Cd{constructor(e=new H,t=new H){super(),this.isLineCurve3=!0,this.type=`LineCurve3`,this.v1=e,this.v2=t}getPoint(e,t=new H){let n=t;return e===1?n.copy(this.v2):(n.copy(this.v2).sub(this.v1),n.multiplyScalar(e).add(this.v1)),n}getPointAt(e,t){return this.getPoint(e,t)}getTangent(e,t=new H){return t.subVectors(this.v2,this.v1).normalize()}getTangentAt(e,t){return this.getTangent(e,t)}copy(e){return super.copy(e),this.v1.copy(e.v1),this.v2.copy(e.v2),this}toJSON(){let e=super.toJSON();return e.v1=this.v1.toArray(),e.v2=this.v2.toArray(),e}fromJSON(e){return super.fromJSON(e),this.v1.fromArray(e.v1),this.v2.fromArray(e.v2),this}},Fd=class extends Cd{constructor(e=new B,t=new B,n=new B){super(),this.isQuadraticBezierCurve=!0,this.type=`QuadraticBezierCurve`,this.v0=e,this.v1=t,this.v2=n}getPoint(e,t=new B){let n=t,r=this.v0,i=this.v1,a=this.v2;return n.set(An(e,r.x,i.x,a.x),An(e,r.y,i.y,a.y)),n}copy(e){return super.copy(e),this.v0.copy(e.v0),this.v1.copy(e.v1),this.v2.copy(e.v2),this}toJSON(){let e=super.toJSON();return e.v0=this.v0.toArray(),e.v1=this.v1.toArray(),e.v2=this.v2.toArray(),e}fromJSON(e){return super.fromJSON(e),this.v0.fromArray(e.v0),this.v1.fromArray(e.v1),this.v2.fromArray(e.v2),this}},Id=class extends Cd{constructor(e=new H,t=new H,n=new H){super(),this.isQuadraticBezierCurve3=!0,this.type=`QuadraticBezierCurve3`,this.v0=e,this.v1=t,this.v2=n}getPoint(e,t=new H){let n=t,r=this.v0,i=this.v1,a=this.v2;return n.set(An(e,r.x,i.x,a.x),An(e,r.y,i.y,a.y),An(e,r.z,i.z,a.z)),n}copy(e){return super.copy(e),this.v0.copy(e.v0),this.v1.copy(e.v1),this.v2.copy(e.v2),this}toJSON(){let e=super.toJSON();return e.v0=this.v0.toArray(),e.v1=this.v1.toArray(),e.v2=this.v2.toArray(),e}fromJSON(e){return super.fromJSON(e),this.v0.fromArray(e.v0),this.v1.fromArray(e.v1),this.v2.fromArray(e.v2),this}},Ld=class extends Cd{constructor(e=[]){super(),this.isSplineCurve=!0,this.type=`SplineCurve`,this.points=e}getPoint(e,t=new B){let n=t,r=this.points,i=(r.length-1)*e,a=Math.floor(i),o=i-a,s=r[a===0?a:a-1],c=r[a],l=r[a>r.length-2?r.length-1:a+1],u=r[a>r.length-3?r.length-1:a+2];return n.set(En(o,s.x,c.x,l.x,u.x),En(o,s.y,c.y,l.y,u.y)),n}copy(e){super.copy(e),this.points=[];for(let t=0,n=e.points.length;t<n;t++){let n=e.points[t];this.points.push(n.clone())}return this}toJSON(){let e=super.toJSON();e.points=[];for(let t=0,n=this.points.length;t<n;t++){let n=this.points[t];e.points.push(n.toArray())}return e}fromJSON(e){super.fromJSON(e),this.points=[];for(let t=0,n=e.points.length;t<n;t++){let n=e.points[t];this.points.push(new B().fromArray(n))}return this}},Rd=Object.freeze({__proto__:null,ArcCurve:Td,CatmullRomCurve3:Ad,CubicBezierCurve:jd,CubicBezierCurve3:Md,EllipseCurve:wd,LineCurve:Nd,LineCurve3:Pd,QuadraticBezierCurve:Fd,QuadraticBezierCurve3:Id,SplineCurve:Ld}),zd=class extends Cd{constructor(){super(),this.type=`CurvePath`,this.curves=[],this.autoClose=!1}add(e){this.curves.push(e)}closePath(){let e=this.curves[0].getPoint(0),t=this.curves[this.curves.length-1].getPoint(1);if(!e.equals(t)){let n=e.isVector2===!0?`LineCurve`:`LineCurve3`;this.curves.push(new Rd[n](t,e))}return this}getPoint(e,t){let n=e*this.getLength(),r=this.getCurveLengths(),i=0;for(;i<r.length;){if(r[i]>=n){let e=r[i]-n,a=this.curves[i],o=a.getLength(),s=o===0?0:1-e/o;return a.getPointAt(s,t)}i++}return null}getLength(){let e=this.getCurveLengths();return e[e.length-1]}updateArcLengths(){this.needsUpdate=!0,this.cacheLengths=null,this.getCurveLengths()}getCurveLengths(){if(this.cacheLengths&&this.cacheLengths.length===this.curves.length)return this.cacheLengths;let e=[],t=0;for(let n=0,r=this.curves.length;n<r;n++)t+=this.curves[n].getLength(),e.push(t);return this.cacheLengths=e,e}getSpacedPoints(e=40){let t=[];for(let n=0;n<=e;n++)t.push(this.getPoint(n/e));return this.autoClose&&t.push(t[0]),t}getPoints(e=12){let t=[],n;for(let r=0,i=this.curves;r<i.length;r++){let a=i[r],o=a.isEllipseCurve?e*2:a.isLineCurve||a.isLineCurve3?1:a.isSplineCurve?e*a.points.length:e,s=a.getPoints(o);for(let e=0;e<s.length;e++){let r=s[e];n&&n.equals(r)||(t.push(r),n=r)}}return this.autoClose&&t.length>1&&!t[t.length-1].equals(t[0])&&t.push(t[0]),t}copy(e){super.copy(e),this.curves=[];for(let t=0,n=e.curves.length;t<n;t++){let n=e.curves[t];this.curves.push(n.clone())}return this.autoClose=e.autoClose,this}toJSON(){let e=super.toJSON();e.autoClose=this.autoClose,e.curves=[];for(let t=0,n=this.curves.length;t<n;t++){let n=this.curves[t];e.curves.push(n.toJSON())}return e}fromJSON(e){super.fromJSON(e),this.autoClose=e.autoClose,this.curves=[];for(let t=0,n=e.curves.length;t<n;t++){let n=e.curves[t];this.curves.push(new Rd[n.type]().fromJSON(n))}return this}},Bd=class extends zd{constructor(e){super(),this.type=`Path`,this.currentPoint=new B,e&&this.setFromPoints(e)}setFromPoints(e){this.moveTo(e[0].x,e[0].y);for(let t=1,n=e.length;t<n;t++)this.lineTo(e[t].x,e[t].y);return this}moveTo(e,t){return this.currentPoint.set(e,t),this}lineTo(e,t){let n=new Nd(this.currentPoint.clone(),new B(e,t));return this.curves.push(n),this.currentPoint.set(e,t),this}quadraticCurveTo(e,t,n,r){let i=new Fd(this.currentPoint.clone(),new B(e,t),new B(n,r));return this.curves.push(i),this.currentPoint.set(n,r),this}bezierCurveTo(e,t,n,r,i,a){let o=new jd(this.currentPoint.clone(),new B(e,t),new B(n,r),new B(i,a));return this.curves.push(o),this.currentPoint.set(i,a),this}splineThru(e){let t=[this.currentPoint.clone()].concat(e),n=new Ld(t);return this.curves.push(n),this.currentPoint.copy(e[e.length-1]),this}arc(e,t,n,r,i,a){let o=this.currentPoint.x,s=this.currentPoint.y;return this.absarc(e+o,t+s,n,r,i,a),this}absarc(e,t,n,r,i,a){return this.absellipse(e,t,n,n,r,i,a),this}ellipse(e,t,n,r,i,a,o,s){let c=this.currentPoint.x,l=this.currentPoint.y;return this.absellipse(e+c,t+l,n,r,i,a,o,s),this}absellipse(e,t,n,r,i,a,o,s){let c=new wd(e,t,n,r,i,a,o,s);if(this.curves.length>0){let e=c.getPoint(0);e.equals(this.currentPoint)||this.lineTo(e.x,e.y)}this.curves.push(c);let l=c.getPoint(1);return this.currentPoint.copy(l),this}copy(e){return super.copy(e),this.currentPoint.copy(e.currentPoint),this}toJSON(){let e=super.toJSON();return e.currentPoint=this.currentPoint.toArray(),e}fromJSON(e){return super.fromJSON(e),this.currentPoint.fromArray(e.currentPoint),this}},Vd=class e extends q{constructor(e=[new B(0,-.5),new B(.5,0),new B(0,.5)],t=12,n=0,r=Math.PI*2){super(),this.type=`LatheGeometry`,this.parameters={points:e,segments:t,phiStart:n,phiLength:r},t=Math.floor(t),r=s(r,0,Math.PI*2);let i=[],a=[],o=[],c=[],l=[],u=1/t,d=new H,f=new B,p=new H,m=new H,h=new H,g=0,_=0;for(let t=0;t<=e.length-1;t++)switch(t){case 0:g=e[t+1].x-e[t].x,_=e[t+1].y-e[t].y,p.x=_*1,p.y=-g,p.z=_*0,h.copy(p),p.normalize(),c.push(p.x,p.y,p.z);break;case e.length-1:c.push(h.x,h.y,h.z);break;default:g=e[t+1].x-e[t].x,_=e[t+1].y-e[t].y,p.x=_*1,p.y=-g,p.z=_*0,m.copy(p),p.x+=h.x,p.y+=h.y,p.z+=h.z,p.normalize(),c.push(p.x,p.y,p.z),h.copy(m)}for(let i=0;i<=t;i++){let s=n+i*u*r,p=Math.sin(s),m=Math.cos(s);for(let n=0;n<=e.length-1;n++){d.x=e[n].x*p,d.y=e[n].y,d.z=e[n].x*m,a.push(d.x,d.y,d.z),f.x=i/t,f.y=n/(e.length-1),o.push(f.x,f.y);let r=c[3*n+0]*p,s=c[3*n+1],u=c[3*n+0]*m;l.push(r,s,u)}}for(let n=0;n<t;n++)for(let t=0;t<e.length-1;t++){let r=t+n*e.length,a=r,o=r+e.length,s=r+e.length+1,c=r+1;i.push(a,o,c),i.push(s,c,o)}this.setIndex(i),this.setAttribute(`position`,new K(a,3)),this.setAttribute(`uv`,new K(o,2)),this.setAttribute(`normal`,new K(l,3))}copy(e){return super.copy(e),this.parameters=Object.assign({},e.parameters),this}static fromJSON(t){return new e(t.points,t.segments,t.phiStart,t.phiLength)}},Hd=class e extends Vd{constructor(e=1,t=1,n=4,r=8){let i=new Bd;i.absarc(0,-t/2,e,Math.PI*1.5,0),i.absarc(0,t/2,e,0,Math.PI*.5),super(i.getPoints(n),r),this.type=`CapsuleGeometry`,this.parameters={radius:e,length:t,capSegments:n,radialSegments:r}}static fromJSON(t){return new e(t.radius,t.length,t.capSegments,t.radialSegments)}},Ud=class e extends q{constructor(e=1,t=32,n=0,r=Math.PI*2){super(),this.type=`CircleGeometry`,this.parameters={radius:e,segments:t,thetaStart:n,thetaLength:r},t=Math.max(3,t);let i=[],a=[],o=[],s=[],c=new H,l=new B;a.push(0,0,0),o.push(0,0,1),s.push(.5,.5);for(let i=0,u=3;i<=t;i++,u+=3){let d=n+i/t*r;c.x=e*Math.cos(d),c.y=e*Math.sin(d),a.push(c.x,c.y,c.z),o.push(0,0,1),l.x=(a[u]/e+1)/2,l.y=(a[u+1]/e+1)/2,s.push(l.x,l.y)}for(let e=1;e<=t;e++)i.push(e,e+1,0);this.setIndex(i),this.setAttribute(`position`,new K(a,3)),this.setAttribute(`normal`,new K(o,3)),this.setAttribute(`uv`,new K(s,2))}copy(e){return super.copy(e),this.parameters=Object.assign({},e.parameters),this}static fromJSON(t){return new e(t.radius,t.segments,t.thetaStart,t.thetaLength)}},Wd=class e extends q{constructor(e=1,t=1,n=1,r=32,i=1,a=!1,o=0,s=Math.PI*2){super(),this.type=`CylinderGeometry`,this.parameters={radiusTop:e,radiusBottom:t,height:n,radialSegments:r,heightSegments:i,openEnded:a,thetaStart:o,thetaLength:s};let c=this;r=Math.floor(r),i=Math.floor(i);let l=[],u=[],d=[],f=[],p=0,m=[],h=n/2,g=0;_(),a===!1&&(e>0&&v(!0),t>0&&v(!1)),this.setIndex(l),this.setAttribute(`position`,new K(u,3)),this.setAttribute(`normal`,new K(d,3)),this.setAttribute(`uv`,new K(f,2));function _(){let a=new H,_=new H,v=0,y=(t-e)/n;for(let c=0;c<=i;c++){let l=[],g=c/i,v=g*(t-e)+e;for(let e=0;e<=r;e++){let t=e/r,i=t*s+o,c=Math.sin(i),m=Math.cos(i);_.x=v*c,_.y=-g*n+h,_.z=v*m,u.push(_.x,_.y,_.z),a.set(c,y,m).normalize(),d.push(a.x,a.y,a.z),f.push(t,1-g),l.push(p++)}m.push(l)}for(let n=0;n<r;n++)for(let r=0;r<i;r++){let i=m[r][n],a=m[r+1][n],o=m[r+1][n+1],s=m[r][n+1];e>0&&(l.push(i,a,s),v+=3),t>0&&(l.push(a,o,s),v+=3)}c.addGroup(g,v,0),g+=v}function v(n){let i=p,a=new B,m=new H,_=0,v=n===!0?e:t,y=n===!0?1:-1;for(let e=1;e<=r;e++)u.push(0,h*y,0),d.push(0,y,0),f.push(.5,.5),p++;let b=p;for(let e=0;e<=r;e++){let t=e/r*s+o,n=Math.cos(t),i=Math.sin(t);m.x=v*i,m.y=h*y,m.z=v*n,u.push(m.x,m.y,m.z),d.push(0,y,0),a.x=n*.5+.5,a.y=i*.5*y+.5,f.push(a.x,a.y),p++}for(let e=0;e<r;e++){let t=i+e,r=b+e;n===!0?l.push(r,r+1,t):l.push(r+1,r,t),_+=3}c.addGroup(g,_,n===!0?1:2),g+=_}}copy(e){return super.copy(e),this.parameters=Object.assign({},e.parameters),this}static fromJSON(t){return new e(t.radiusTop,t.radiusBottom,t.height,t.radialSegments,t.heightSegments,t.openEnded,t.thetaStart,t.thetaLength)}},Gd=class e extends Wd{constructor(e=1,t=1,n=32,r=1,i=!1,a=0,o=Math.PI*2){super(0,e,t,n,r,i,a,o),this.type=`ConeGeometry`,this.parameters={radius:e,height:t,radialSegments:n,heightSegments:r,openEnded:i,thetaStart:a,thetaLength:o}}static fromJSON(t){return new e(t.radius,t.height,t.radialSegments,t.heightSegments,t.openEnded,t.thetaStart,t.thetaLength)}},Kd=class e extends q{constructor(e=[],t=[],n=1,r=0){super(),this.type=`PolyhedronGeometry`,this.parameters={vertices:e,indices:t,radius:n,detail:r};let i=[],a=[];o(r),c(n),l(),this.setAttribute(`position`,new K(i,3)),this.setAttribute(`normal`,new K(i.slice(),3)),this.setAttribute(`uv`,new K(a,2)),r===0?this.computeVertexNormals():this.normalizeNormals();function o(e){let n=new H,r=new H,i=new H;for(let a=0;a<t.length;a+=3)f(t[a+0],n),f(t[a+1],r),f(t[a+2],i),s(n,r,i,e)}function s(e,t,n,r){let i=r+1,a=[];for(let r=0;r<=i;r++){a[r]=[];let o=e.clone().lerp(n,r/i),s=t.clone().lerp(n,r/i),c=i-r;for(let e=0;e<=c;e++)e===0&&r===i?a[r][e]=o:a[r][e]=o.clone().lerp(s,e/c)}for(let e=0;e<i;e++)for(let t=0;t<2*(i-e)-1;t++){let n=Math.floor(t/2);t%2==0?(d(a[e][n+1]),d(a[e+1][n]),d(a[e][n])):(d(a[e][n+1]),d(a[e+1][n+1]),d(a[e+1][n]))}}function c(e){let t=new H;for(let n=0;n<i.length;n+=3)t.x=i[n+0],t.y=i[n+1],t.z=i[n+2],t.normalize().multiplyScalar(e),i[n+0]=t.x,i[n+1]=t.y,i[n+2]=t.z}function l(){let e=new H;for(let t=0;t<i.length;t+=3){e.x=i[t+0],e.y=i[t+1],e.z=i[t+2];let n=h(e)/2/Math.PI+.5,r=g(e)/Math.PI+.5;a.push(n,1-r)}p(),u()}function u(){for(let e=0;e<a.length;e+=6){let t=a[e+0],n=a[e+2],r=a[e+4];Math.max(t,n,r)>.9&&Math.min(t,n,r)<.1&&(t<.2&&(a[e+0]+=1),n<.2&&(a[e+2]+=1),r<.2&&(a[e+4]+=1))}}function d(e){i.push(e.x,e.y,e.z)}function f(t,n){let r=t*3;n.x=e[r+0],n.y=e[r+1],n.z=e[r+2]}function p(){let e=new H,t=new H,n=new H,r=new H,o=new B,s=new B,c=new B;for(let l=0,u=0;l<i.length;l+=9,u+=6){e.set(i[l+0],i[l+1],i[l+2]),t.set(i[l+3],i[l+4],i[l+5]),n.set(i[l+6],i[l+7],i[l+8]),o.set(a[u+0],a[u+1]),s.set(a[u+2],a[u+3]),c.set(a[u+4],a[u+5]),r.copy(e).add(t).add(n).divideScalar(3);let d=h(r);m(o,u+0,e,d),m(s,u+2,t,d),m(c,u+4,n,d)}}function m(e,t,n,r){r<0&&e.x===1&&(a[t]=e.x-1),n.x===0&&n.z===0&&(a[t]=r/2/Math.PI+.5)}function h(e){return Math.atan2(e.z,-e.x)}function g(e){return Math.atan2(-e.y,Math.sqrt(e.x*e.x+e.z*e.z))}}copy(e){return super.copy(e),this.parameters=Object.assign({},e.parameters),this}static fromJSON(t){return new e(t.vertices,t.indices,t.radius,t.details)}},qd=class e extends Kd{constructor(e=1,t=0){let n=(1+Math.sqrt(5))/2,r=1/n,i=[-1,-1,-1,-1,-1,1,-1,1,-1,-1,1,1,1,-1,-1,1,-1,1,1,1,-1,1,1,1,0,-r,-n,0,-r,n,0,r,-n,0,r,n,-r,-n,0,-r,n,0,r,-n,0,r,n,0,-n,0,-r,n,0,-r,-n,0,r,n,0,r];super(i,[3,11,7,3,7,15,3,15,13,7,19,17,7,17,6,7,6,15,17,4,8,17,8,10,17,10,6,8,0,16,8,16,2,8,2,10,0,12,1,0,1,18,0,18,16,6,10,2,6,2,13,6,13,15,2,16,18,2,18,3,2,3,13,18,1,9,18,9,11,18,11,3,4,14,12,4,12,0,4,0,8,11,9,5,11,5,19,11,19,7,19,5,14,19,14,4,19,4,17,1,12,14,1,14,5,1,5,9],e,t),this.type=`DodecahedronGeometry`,this.parameters={radius:e,detail:t}}static fromJSON(t){return new e(t.radius,t.detail)}},Jd=new H,Yd=new H,Xd=new H,Zd=new Ds,Qd=class extends q{constructor(e=null,t=1){if(super(),this.type=`EdgesGeometry`,this.parameters={geometry:e,thresholdAngle:t},e!==null){let n=1e4,r=Math.cos(Va*t),i=e.getIndex(),a=e.getAttribute(`position`),o=i?i.count:a.count,s=[0,0,0],c=[`a`,`b`,`c`],l=[,,,],u={},d=[];for(let e=0;e<o;e+=3){i?(s[0]=i.getX(e),s[1]=i.getX(e+1),s[2]=i.getX(e+2)):(s[0]=e,s[1]=e+1,s[2]=e+2);let{a:t,b:o,c:f}=Zd;if(t.fromBufferAttribute(a,s[0]),o.fromBufferAttribute(a,s[1]),f.fromBufferAttribute(a,s[2]),Zd.getNormal(Xd),l[0]=`${Math.round(t.x*n)},${Math.round(t.y*n)},${Math.round(t.z*n)}`,l[1]=`${Math.round(o.x*n)},${Math.round(o.y*n)},${Math.round(o.z*n)}`,l[2]=`${Math.round(f.x*n)},${Math.round(f.y*n)},${Math.round(f.z*n)}`,l[0]!==l[1]&&l[1]!==l[2]&&l[2]!==l[0])for(let e=0;e<3;e++){let t=(e+1)%3,n=l[e],i=l[t],a=Zd[c[e]],o=Zd[c[t]],f=`${n}_${i}`,p=`${i}_${n}`;p in u&&u[p]?(Xd.dot(u[p].normal)<=r&&(d.push(a.x,a.y,a.z),d.push(o.x,o.y,o.z)),u[p]=null):f in u||(u[f]={index0:s[e],index1:s[t],normal:Xd.clone()})}}for(let e in u)if(u[e]){let{index0:t,index1:n}=u[e];Jd.fromBufferAttribute(a,t),Yd.fromBufferAttribute(a,n),d.push(Jd.x,Jd.y,Jd.z),d.push(Yd.x,Yd.y,Yd.z)}this.setAttribute(`position`,new K(d,3))}}copy(e){return super.copy(e),this.parameters=Object.assign({},e.parameters),this}},$d=class extends Bd{constructor(e){super(e),this.uuid=o(),this.type=`Shape`,this.holes=[]}getPointsHoles(e){let t=[];for(let n=0,r=this.holes.length;n<r;n++)t[n]=this.holes[n].getPoints(e);return t}extractPoints(e){return{shape:this.getPoints(e),holes:this.getPointsHoles(e)}}copy(e){super.copy(e),this.holes=[];for(let t=0,n=e.holes.length;t<n;t++){let n=e.holes[t];this.holes.push(n.clone())}return this}toJSON(){let e=super.toJSON();e.uuid=this.uuid,e.holes=[];for(let t=0,n=this.holes.length;t<n;t++){let n=this.holes[t];e.holes.push(n.toJSON())}return e}fromJSON(e){super.fromJSON(e),this.uuid=e.uuid,this.holes=[];for(let t=0,n=e.holes.length;t<n;t++){let n=e.holes[t];this.holes.push(new Bd().fromJSON(n))}return this}},ef={triangulate:function(e,t,n=2){let r=t&&t.length,i=r?t[0]*n:e.length,a=In(e,0,i,n,!0),o=[];if(!a||a.next===a.prev)return o;let s,c,l,u,d,f,p;if(r&&(a=Un(e,t,a,n)),e.length>80*n){s=l=e[0],c=u=e[1];for(let t=n;t<i;t+=n)d=e[t],f=e[t+1],d<s&&(s=d),f<c&&(c=f),d>l&&(l=d),f>u&&(u=f);p=Math.max(l-s,u-c),p=p===0?0:32767/p}return Rn(a,o,n,s,c,p,0),o}},tf=class e{static area(e){let t=e.length,n=0;for(let r=t-1,i=0;i<t;r=i++)n+=e[r].x*e[i].y-e[i].x*e[r].y;return n*.5}static isClockWise(t){return e.area(t)<0}static triangulateShape(e,t){let n=[],r=[],i=[];pr(e),mr(n,e);let a=e.length;t.forEach(pr);for(let e=0;e<t.length;e++)r.push(a),a+=t[e].length,mr(n,t[e]);let o=ef.triangulate(n,r);for(let e=0;e<o.length;e+=3)i.push(o.slice(e,e+3));return i}},nf=class e extends q{constructor(e=new $d([new B(.5,.5),new B(-.5,.5),new B(-.5,-.5),new B(.5,-.5)]),t={}){super(),this.type=`ExtrudeGeometry`,this.parameters={shapes:e,options:t},e=Array.isArray(e)?e:[e];let n=this,r=[],i=[];for(let t=0,n=e.length;t<n;t++){let n=e[t];a(n)}this.setAttribute(`position`,new K(r,3)),this.setAttribute(`uv`,new K(i,2)),this.computeVertexNormals();function a(e){let a=[],o=t.curveSegments===void 0?12:t.curveSegments,s=t.steps===void 0?1:t.steps,c=t.depth===void 0?1:t.depth,l=t.bevelEnabled===void 0||t.bevelEnabled,u=t.bevelThickness===void 0?.2:t.bevelThickness,d=t.bevelSize===void 0?u-.1:t.bevelSize,f=t.bevelOffset===void 0?0:t.bevelOffset,p=t.bevelSegments===void 0?3:t.bevelSegments,m=t.extrudePath,h=t.UVGenerator===void 0?rf:t.UVGenerator,g,_=!1,v,y,b,x;m&&(g=m.getSpacedPoints(s),_=!0,l=!1,v=m.computeFrenetFrames(s,!1),y=new H,b=new H,x=new H),l||(p=0,u=0,d=0,f=0);let S=e.extractPoints(o),C=S.shape,w=S.holes;if(!tf.isClockWise(C)){C=C.reverse();for(let e=0,t=w.length;e<t;e++){let t=w[e];tf.isClockWise(t)&&(w[e]=t.reverse())}}let T=tf.triangulateShape(C,w),E=C;for(let e=0,t=w.length;e<t;e++){let t=w[e];C=C.concat(t)}function D(e,t,n){return t||console.error(`THREE.ExtrudeGeometry: vec does not exist`),e.clone().addScaledVector(t,n)}let O=C.length,k=T.length;function A(e,t,n){let r,i,a,o=e.x-t.x,s=e.y-t.y,c=n.x-e.x,l=n.y-e.y,u=o*o+s*s,d=o*l-s*c;if(Math.abs(d)>2**-52){let d=Math.sqrt(u),f=Math.sqrt(c*c+l*l),p=t.x-s/d,m=t.y+o/d,h=n.x-l/f,g=n.y+c/f,_=((h-p)*l-(g-m)*c)/(o*l-s*c);r=p+o*_-e.x,i=m+s*_-e.y;let v=r*r+i*i;if(v<=2)return new B(r,i);a=Math.sqrt(v/2)}else{let e=!1;o>2**-52?c>2**-52&&(e=!0):o<-(2**-52)?c<-(2**-52)&&(e=!0):Math.sign(s)===Math.sign(l)&&(e=!0),e?(r=-s,i=o,a=Math.sqrt(u)):(r=o,i=s,a=Math.sqrt(u/2))}return new B(r/a,i/a)}let j=[];for(let e=0,t=E.length,n=t-1,r=e+1;e<t;e++,n++,r++)n===t&&(n=0),r===t&&(r=0),j[e]=A(E[e],E[n],E[r]);let ee=[],te,ne=j.concat();for(let e=0,t=w.length;e<t;e++){let t=w[e];te=[];for(let e=0,n=t.length,r=n-1,i=e+1;e<n;e++,r++,i++)r===n&&(r=0),i===n&&(i=0),te[e]=A(t[e],t[r],t[i]);ee.push(te),ne=ne.concat(te)}for(let e=0;e<p;e++){let t=e/p,n=u*Math.cos(t*Math.PI/2),r=d*Math.sin(t*Math.PI/2)+f;for(let e=0,t=E.length;e<t;e++){let t=D(E[e],j[e],r);se(t.x,t.y,-n)}for(let e=0,t=w.length;e<t;e++){let t=w[e];te=ee[e];for(let e=0,i=t.length;e<i;e++){let i=D(t[e],te[e],r);se(i.x,i.y,-n)}}}let re=d+f;for(let e=0;e<O;e++){let t=l?D(C[e],ne[e],re):C[e];_?(b.copy(v.normals[0]).multiplyScalar(t.x),y.copy(v.binormals[0]).multiplyScalar(t.y),x.copy(g[0]).add(b).add(y),se(x.x,x.y,x.z)):se(t.x,t.y,0)}for(let e=1;e<=s;e++)for(let t=0;t<O;t++){let n=l?D(C[t],ne[t],re):C[t];_?(b.copy(v.normals[e]).multiplyScalar(n.x),y.copy(v.binormals[e]).multiplyScalar(n.y),x.copy(g[e]).add(b).add(y),se(x.x,x.y,x.z)):se(n.x,n.y,c/s*e)}for(let e=p-1;e>=0;e--){let t=e/p,n=u*Math.cos(t*Math.PI/2),r=d*Math.sin(t*Math.PI/2)+f;for(let e=0,t=E.length;e<t;e++){let t=D(E[e],j[e],r);se(t.x,t.y,c+n)}for(let e=0,t=w.length;e<t;e++){let t=w[e];te=ee[e];for(let e=0,i=t.length;e<i;e++){let i=D(t[e],te[e],r);_?se(i.x,i.y+g[s-1].y,g[s-1].x+n):se(i.x,i.y,c+n)}}}ie(),ae();function ie(){let e=r.length/3;if(l){let e=0,t=O*e;for(let e=0;e<k;e++){let n=T[e];ce(n[2]+t,n[1]+t,n[0]+t)}e=s+p*2,t=O*e;for(let e=0;e<k;e++){let n=T[e];ce(n[0]+t,n[1]+t,n[2]+t)}}else{for(let e=0;e<k;e++){let t=T[e];ce(t[2],t[1],t[0])}for(let e=0;e<k;e++){let t=T[e];ce(t[0]+O*s,t[1]+O*s,t[2]+O*s)}}n.addGroup(e,r.length/3-e,0)}function ae(){let e=r.length/3,t=0;oe(E,t),t+=E.length;for(let e=0,n=w.length;e<n;e++){let n=w[e];oe(n,t),t+=n.length}n.addGroup(e,r.length/3-e,1)}function oe(e,t){let n=e.length;for(;--n>=0;){let r=n,i=n-1;i<0&&(i=e.length-1);for(let e=0,n=s+p*2;e<n;e++){let n=O*e,a=O*(e+1);le(t+r+n,t+i+n,t+i+a,t+r+a)}}}function se(e,t,n){a.push(e),a.push(t),a.push(n)}function ce(e,t,i){M(e),M(t),M(i);let a=r.length/3,o=h.generateTopUV(n,r,a-3,a-2,a-1);N(o[0]),N(o[1]),N(o[2])}function le(e,t,i,a){M(e),M(t),M(a),M(t),M(i),M(a);let o=r.length/3,s=h.generateSideWallUV(n,r,o-6,o-3,o-2,o-1);N(s[0]),N(s[1]),N(s[3]),N(s[1]),N(s[2]),N(s[3])}function M(e){r.push(a[e*3+0]),r.push(a[e*3+1]),r.push(a[e*3+2])}function N(e){i.push(e.x),i.push(e.y)}}}copy(e){return super.copy(e),this.parameters=Object.assign({},e.parameters),this}toJSON(){let e=super.toJSON(),t=this.parameters.shapes,n=this.parameters.options;return hr(t,n,e)}static fromJSON(t,n){let r=[];for(let e=0,i=t.shapes.length;e<i;e++){let i=n[t.shapes[e]];r.push(i)}let i=t.options.extrudePath;return i!==void 0&&(t.options.extrudePath=new Rd[i.type]().fromJSON(i)),new e(r,t.options)}},rf={generateTopUV:function(e,t,n,r,i){let a=t[n*3],o=t[n*3+1],s=t[r*3],c=t[r*3+1],l=t[i*3],u=t[i*3+1];return[new B(a,o),new B(s,c),new B(l,u)]},generateSideWallUV:function(e,t,n,r,i,a){let o=t[n*3],s=t[n*3+1],c=t[n*3+2],l=t[r*3],u=t[r*3+1],d=t[r*3+2],f=t[i*3],p=t[i*3+1],m=t[i*3+2],h=t[a*3],g=t[a*3+1],_=t[a*3+2];return Math.abs(s-u)<Math.abs(o-l)?[new B(o,1-c),new B(l,1-d),new B(f,1-m),new B(h,1-_)]:[new B(s,1-c),new B(u,1-d),new B(p,1-m),new B(g,1-_)]}},af=class e extends Kd{constructor(e=1,t=0){let n=(1+Math.sqrt(5))/2,r=[-1,n,0,1,n,0,-1,-n,0,1,-n,0,0,-1,n,0,1,n,0,-1,-n,0,1,-n,n,0,-1,n,0,1,-n,0,-1,-n,0,1];super(r,[0,11,5,0,5,1,0,1,7,0,7,10,0,10,11,1,5,9,5,11,4,11,10,2,10,7,6,7,1,8,3,9,4,3,4,2,3,2,6,3,6,8,3,8,9,4,9,5,2,4,11,6,2,10,8,6,7,9,8,1],e,t),this.type=`IcosahedronGeometry`,this.parameters={radius:e,detail:t}}static fromJSON(t){return new e(t.radius,t.detail)}},of=class e extends Kd{constructor(e=1,t=0){super([1,0,0,-1,0,0,0,1,0,0,-1,0,0,0,1,0,0,-1],[0,2,4,0,4,3,0,3,5,0,5,2,1,2,5,1,5,3,1,3,4,1,4,2],e,t),this.type=`OctahedronGeometry`,this.parameters={radius:e,detail:t}}static fromJSON(t){return new e(t.radius,t.detail)}},sf=class e extends q{constructor(e=.5,t=1,n=32,r=1,i=0,a=Math.PI*2){super(),this.type=`RingGeometry`,this.parameters={innerRadius:e,outerRadius:t,thetaSegments:n,phiSegments:r,thetaStart:i,thetaLength:a},n=Math.max(3,n),r=Math.max(1,r);let o=[],s=[],c=[],l=[],u=e,d=(t-e)/r,f=new H,p=new B;for(let e=0;e<=r;e++){for(let e=0;e<=n;e++){let r=i+e/n*a;f.x=u*Math.cos(r),f.y=u*Math.sin(r),s.push(f.x,f.y,f.z),c.push(0,0,1),p.x=(f.x/t+1)/2,p.y=(f.y/t+1)/2,l.push(p.x,p.y)}u+=d}for(let e=0;e<r;e++){let t=e*(n+1);for(let e=0;e<n;e++){let r=e+t,i=r,a=r+n+1,s=r+n+2,c=r+1;o.push(i,a,c),o.push(a,s,c)}}this.setIndex(o),this.setAttribute(`position`,new K(s,3)),this.setAttribute(`normal`,new K(c,3)),this.setAttribute(`uv`,new K(l,2))}copy(e){return super.copy(e),this.parameters=Object.assign({},e.parameters),this}static fromJSON(t){return new e(t.innerRadius,t.outerRadius,t.thetaSegments,t.phiSegments,t.thetaStart,t.thetaLength)}},cf=class e extends q{constructor(e=new $d([new B(0,.5),new B(-.5,-.5),new B(.5,-.5)]),t=12){super(),this.type=`ShapeGeometry`,this.parameters={shapes:e,curveSegments:t};let n=[],r=[],i=[],a=[],o=0,s=0;if(Array.isArray(e)===!1)c(e);else for(let t=0;t<e.length;t++)c(e[t]),this.addGroup(o,s,t),o+=s,s=0;this.setIndex(n),this.setAttribute(`position`,new K(r,3)),this.setAttribute(`normal`,new K(i,3)),this.setAttribute(`uv`,new K(a,2));function c(e){let o=r.length/3,c=e.extractPoints(t),l=c.shape,u=c.holes;tf.isClockWise(l)===!1&&(l=l.reverse());for(let e=0,t=u.length;e<t;e++){let t=u[e];tf.isClockWise(t)===!0&&(u[e]=t.reverse())}let d=tf.triangulateShape(l,u);for(let e=0,t=u.length;e<t;e++){let t=u[e];l=l.concat(t)}for(let e=0,t=l.length;e<t;e++){let t=l[e];r.push(t.x,t.y,0),i.push(0,0,1),a.push(t.x,t.y)}for(let e=0,t=d.length;e<t;e++){let t=d[e],r=t[0]+o,i=t[1]+o,a=t[2]+o;n.push(r,i,a),s+=3}}}copy(e){return super.copy(e),this.parameters=Object.assign({},e.parameters),this}toJSON(){let e=super.toJSON(),t=this.parameters.shapes;return gr(t,e)}static fromJSON(t,n){let r=[];for(let e=0,i=t.shapes.length;e<i;e++){let i=n[t.shapes[e]];r.push(i)}return new e(r,t.curveSegments)}},lf=class e extends q{constructor(e=1,t=32,n=16,r=0,i=Math.PI*2,a=0,o=Math.PI){super(),this.type=`SphereGeometry`,this.parameters={radius:e,widthSegments:t,heightSegments:n,phiStart:r,phiLength:i,thetaStart:a,thetaLength:o},t=Math.max(3,Math.floor(t)),n=Math.max(2,Math.floor(n));let s=Math.min(a+o,Math.PI),c=0,l=[],u=new H,d=new H,f=[],p=[],m=[],h=[];for(let f=0;f<=n;f++){let g=[],_=f/n,v=0;f===0&&a===0?v=.5/t:f===n&&s===Math.PI&&(v=-.5/t);for(let n=0;n<=t;n++){let s=n/t;u.x=-e*Math.cos(r+s*i)*Math.sin(a+_*o),u.y=e*Math.cos(a+_*o),u.z=e*Math.sin(r+s*i)*Math.sin(a+_*o),p.push(u.x,u.y,u.z),d.copy(u).normalize(),m.push(d.x,d.y,d.z),h.push(s+v,1-_),g.push(c++)}l.push(g)}for(let e=0;e<n;e++)for(let r=0;r<t;r++){let t=l[e][r+1],i=l[e][r],o=l[e+1][r],c=l[e+1][r+1];(e!==0||a>0)&&f.push(t,i,c),(e!==n-1||s<Math.PI)&&f.push(i,o,c)}this.setIndex(f),this.setAttribute(`position`,new K(p,3)),this.setAttribute(`normal`,new K(m,3)),this.setAttribute(`uv`,new K(h,2))}copy(e){return super.copy(e),this.parameters=Object.assign({},e.parameters),this}static fromJSON(t){return new e(t.radius,t.widthSegments,t.heightSegments,t.phiStart,t.phiLength,t.thetaStart,t.thetaLength)}},uf=class e extends Kd{constructor(e=1,t=0){super([1,1,1,-1,-1,1,-1,1,-1,1,-1,-1],[2,1,0,0,3,2,1,3,0,2,3,1],e,t),this.type=`TetrahedronGeometry`,this.parameters={radius:e,detail:t}}static fromJSON(t){return new e(t.radius,t.detail)}},df=class e extends q{constructor(e=1,t=.4,n=12,r=48,i=Math.PI*2){super(),this.type=`TorusGeometry`,this.parameters={radius:e,tube:t,radialSegments:n,tubularSegments:r,arc:i},n=Math.floor(n),r=Math.floor(r);let a=[],o=[],s=[],c=[],l=new H,u=new H,d=new H;for(let a=0;a<=n;a++)for(let f=0;f<=r;f++){let p=f/r*i,m=a/n*Math.PI*2;u.x=(e+t*Math.cos(m))*Math.cos(p),u.y=(e+t*Math.cos(m))*Math.sin(p),u.z=t*Math.sin(m),o.push(u.x,u.y,u.z),l.x=e*Math.cos(p),l.y=e*Math.sin(p),d.subVectors(u,l).normalize(),s.push(d.x,d.y,d.z),c.push(f/r),c.push(a/n)}for(let e=1;e<=n;e++)for(let t=1;t<=r;t++){let n=(r+1)*e+t-1,i=(r+1)*(e-1)+t-1,o=(r+1)*(e-1)+t,s=(r+1)*e+t;a.push(n,i,s),a.push(i,o,s)}this.setIndex(a),this.setAttribute(`position`,new K(o,3)),this.setAttribute(`normal`,new K(s,3)),this.setAttribute(`uv`,new K(c,2))}copy(e){return super.copy(e),this.parameters=Object.assign({},e.parameters),this}static fromJSON(t){return new e(t.radius,t.tube,t.radialSegments,t.tubularSegments,t.arc)}},ff=class e extends q{constructor(e=1,t=.4,n=64,r=8,i=2,a=3){super(),this.type=`TorusKnotGeometry`,this.parameters={radius:e,tube:t,tubularSegments:n,radialSegments:r,p:i,q:a},n=Math.floor(n),r=Math.floor(r);let o=[],s=[],c=[],l=[],u=new H,d=new H,f=new H,p=new H,m=new H,h=new H,g=new H;for(let o=0;o<=n;++o){let v=o/n*i*Math.PI*2;_(v,i,a,e,f),_(v+.01,i,a,e,p),h.subVectors(p,f),g.addVectors(p,f),m.crossVectors(h,g),g.crossVectors(m,h),m.normalize(),g.normalize();for(let e=0;e<=r;++e){let i=e/r*Math.PI*2,a=-t*Math.cos(i),p=t*Math.sin(i);u.x=f.x+(a*g.x+p*m.x),u.y=f.y+(a*g.y+p*m.y),u.z=f.z+(a*g.z+p*m.z),s.push(u.x,u.y,u.z),d.subVectors(u,f).normalize(),c.push(d.x,d.y,d.z),l.push(o/n),l.push(e/r)}}for(let e=1;e<=n;e++)for(let t=1;t<=r;t++){let n=(r+1)*(e-1)+(t-1),i=(r+1)*e+(t-1),a=(r+1)*e+t,s=(r+1)*(e-1)+t;o.push(n,i,s),o.push(i,a,s)}this.setIndex(o),this.setAttribute(`position`,new K(s,3)),this.setAttribute(`normal`,new K(c,3)),this.setAttribute(`uv`,new K(l,2));function _(e,t,n,r,i){let a=Math.cos(e),o=Math.sin(e),s=n/t*e,c=Math.cos(s);i.x=r*(2+c)*.5*a,i.y=r*(2+c)*o*.5,i.z=r*Math.sin(s)*.5}}copy(e){return super.copy(e),this.parameters=Object.assign({},e.parameters),this}static fromJSON(t){return new e(t.radius,t.tube,t.tubularSegments,t.radialSegments,t.p,t.q)}},pf=class e extends q{constructor(e=new Id(new H(-1,-1,0),new H(-1,1,0),new H(1,1,0)),t=64,n=1,r=8,i=!1){super(),this.type=`TubeGeometry`,this.parameters={path:e,tubularSegments:t,radius:n,radialSegments:r,closed:i};let a=e.computeFrenetFrames(t,i);this.tangents=a.tangents,this.normals=a.normals,this.binormals=a.binormals;let o=new H,s=new H,c=new B,l=new H,u=[],d=[],f=[],p=[];m(),this.setIndex(p),this.setAttribute(`position`,new K(u,3)),this.setAttribute(`normal`,new K(d,3)),this.setAttribute(`uv`,new K(f,2));function m(){for(let e=0;e<t;e++)h(e);h(i===!1?t:0),_(),g()}function h(i){l=e.getPointAt(i/t,l);let c=a.normals[i],f=a.binormals[i];for(let e=0;e<=r;e++){let t=e/r*Math.PI*2,i=Math.sin(t),a=-Math.cos(t);s.x=a*c.x+i*f.x,s.y=a*c.y+i*f.y,s.z=a*c.z+i*f.z,s.normalize(),d.push(s.x,s.y,s.z),o.x=l.x+n*s.x,o.y=l.y+n*s.y,o.z=l.z+n*s.z,u.push(o.x,o.y,o.z)}}function g(){for(let e=1;e<=t;e++)for(let t=1;t<=r;t++){let n=(r+1)*(e-1)+(t-1),i=(r+1)*e+(t-1),a=(r+1)*e+t,o=(r+1)*(e-1)+t;p.push(n,i,o),p.push(i,a,o)}}function _(){for(let e=0;e<=t;e++)for(let n=0;n<=r;n++)c.x=e/t,c.y=n/r,f.push(c.x,c.y)}}copy(e){return super.copy(e),this.parameters=Object.assign({},e.parameters),this}toJSON(){let e=super.toJSON();return e.path=this.parameters.path.toJSON(),e}static fromJSON(t){return new e(new Rd[t.path.type]().fromJSON(t.path),t.tubularSegments,t.radius,t.radialSegments,t.closed)}},mf=class extends q{constructor(e=null){if(super(),this.type=`WireframeGeometry`,this.parameters={geometry:e},e!==null){let t=[],n=new Set,r=new H,i=new H;if(e.index!==null){let a=e.attributes.position,o=e.index,s=e.groups;s.length===0&&(s=[{start:0,count:o.count,materialIndex:0}]);for(let e=0,c=s.length;e<c;++e){let c=s[e],l=c.start,u=c.count;for(let e=l,s=l+u;e<s;e+=3)for(let s=0;s<3;s++){let c=o.getX(e+s),l=o.getX(e+(s+1)%3);r.fromBufferAttribute(a,c),i.fromBufferAttribute(a,l),_r(r,i,n)===!0&&(t.push(r.x,r.y,r.z),t.push(i.x,i.y,i.z))}}}else{let a=e.attributes.position;for(let e=0,o=a.count/3;e<o;e++)for(let o=0;o<3;o++){let s=3*e+o,c=3*e+(o+1)%3;r.fromBufferAttribute(a,s),i.fromBufferAttribute(a,c),_r(r,i,n)===!0&&(t.push(r.x,r.y,r.z),t.push(i.x,i.y,i.z))}}this.setAttribute(`position`,new K(t,3))}}copy(e){return super.copy(e),this.parameters=Object.assign({},e.parameters),this}},hf=Object.freeze({__proto__:null,BoxGeometry:fc,CapsuleGeometry:Hd,CircleGeometry:Ud,ConeGeometry:Gd,CylinderGeometry:Wd,DodecahedronGeometry:qd,EdgesGeometry:Qd,ExtrudeGeometry:nf,IcosahedronGeometry:af,LatheGeometry:Vd,OctahedronGeometry:of,PlaneGeometry:Pc,PolyhedronGeometry:Kd,RingGeometry:sf,ShapeGeometry:cf,SphereGeometry:lf,TetrahedronGeometry:uf,TorusGeometry:df,TorusKnotGeometry:ff,TubeGeometry:pf,WireframeGeometry:mf}),gf=class extends Ns{constructor(e){super(),this.isShadowMaterial=!0,this.type=`ShadowMaterial`,this.color=new W(0),this.transparent=!0,this.fog=!0,this.setValues(e)}copy(e){return super.copy(e),this.color.copy(e.color),this.fog=e.fog,this}},_f=class extends gc{constructor(e){super(e),this.isRawShaderMaterial=!0,this.type=`RawShaderMaterial`}},vf=class extends Ns{constructor(e){super(),this.isMeshStandardMaterial=!0,this.defines={STANDARD:``},this.type=`MeshStandardMaterial`,this.color=new W(16777215),this.roughness=1,this.metalness=0,this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new W(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=0,this.normalScale=new B(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.roughnessMap=null,this.metalnessMap=null,this.alphaMap=null,this.envMap=null,this.envMapRotation=new Xo,this.envMapIntensity=1,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap=`round`,this.wireframeLinejoin=`round`,this.flatShading=!1,this.fog=!0,this.setValues(e)}copy(e){return super.copy(e),this.defines={STANDARD:``},this.color.copy(e.color),this.roughness=e.roughness,this.metalness=e.metalness,this.map=e.map,this.lightMap=e.lightMap,this.lightMapIntensity=e.lightMapIntensity,this.aoMap=e.aoMap,this.aoMapIntensity=e.aoMapIntensity,this.emissive.copy(e.emissive),this.emissiveMap=e.emissiveMap,this.emissiveIntensity=e.emissiveIntensity,this.bumpMap=e.bumpMap,this.bumpScale=e.bumpScale,this.normalMap=e.normalMap,this.normalMapType=e.normalMapType,this.normalScale.copy(e.normalScale),this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.roughnessMap=e.roughnessMap,this.metalnessMap=e.metalnessMap,this.alphaMap=e.alphaMap,this.envMap=e.envMap,this.envMapRotation.copy(e.envMapRotation),this.envMapIntensity=e.envMapIntensity,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.wireframeLinecap=e.wireframeLinecap,this.wireframeLinejoin=e.wireframeLinejoin,this.flatShading=e.flatShading,this.fog=e.fog,this}},yf=class extends vf{constructor(e){super(),this.isMeshPhysicalMaterial=!0,this.defines={STANDARD:``,PHYSICAL:``},this.type=`MeshPhysicalMaterial`,this.anisotropyRotation=0,this.anisotropyMap=null,this.clearcoatMap=null,this.clearcoatRoughness=0,this.clearcoatRoughnessMap=null,this.clearcoatNormalScale=new B(1,1),this.clearcoatNormalMap=null,this.ior=1.5,Object.defineProperty(this,"reflectivity",{get:function(){return s(2.5*(this.ior-1)/(this.ior+1),0,1)},set:function(e){this.ior=(1+.4*e)/(1-.4*e)}}),this.iridescenceMap=null,this.iridescenceIOR=1.3,this.iridescenceThicknessRange=[100,400],this.iridescenceThicknessMap=null,this.sheenColor=new W(0),this.sheenColorMap=null,this.sheenRoughness=1,this.sheenRoughnessMap=null,this.transmissionMap=null,this.thickness=0,this.thicknessMap=null,this.attenuationDistance=1/0,this.attenuationColor=new W(1,1,1),this.specularIntensity=1,this.specularIntensityMap=null,this.specularColor=new W(1,1,1),this.specularColorMap=null,this._anisotropy=0,this._clearcoat=0,this._dispersion=0,this._iridescence=0,this._sheen=0,this._transmission=0,this.setValues(e)}get anisotropy(){return this._anisotropy}set anisotropy(e){this._anisotropy>0!=e>0&&this.version++,this._anisotropy=e}get clearcoat(){return this._clearcoat}set clearcoat(e){this._clearcoat>0!=e>0&&this.version++,this._clearcoat=e}get iridescence(){return this._iridescence}set iridescence(e){this._iridescence>0!=e>0&&this.version++,this._iridescence=e}get dispersion(){return this._dispersion}set dispersion(e){this._dispersion>0!=e>0&&this.version++,this._dispersion=e}get sheen(){return this._sheen}set sheen(e){this._sheen>0!=e>0&&this.version++,this._sheen=e}get transmission(){return this._transmission}set transmission(e){this._transmission>0!=e>0&&this.version++,this._transmission=e}copy(e){return super.copy(e),this.defines={STANDARD:``,PHYSICAL:``},this.anisotropy=e.anisotropy,this.anisotropyRotation=e.anisotropyRotation,this.anisotropyMap=e.anisotropyMap,this.clearcoat=e.clearcoat,this.clearcoatMap=e.clearcoatMap,this.clearcoatRoughness=e.clearcoatRoughness,this.clearcoatRoughnessMap=e.clearcoatRoughnessMap,this.clearcoatNormalMap=e.clearcoatNormalMap,this.clearcoatNormalScale.copy(e.clearcoatNormalScale),this.dispersion=e.dispersion,this.ior=e.ior,this.iridescence=e.iridescence,this.iridescenceMap=e.iridescenceMap,this.iridescenceIOR=e.iridescenceIOR,this.iridescenceThicknessRange=[...e.iridescenceThicknessRange],this.iridescenceThicknessMap=e.iridescenceThicknessMap,this.sheen=e.sheen,this.sheenColor.copy(e.sheenColor),this.sheenColorMap=e.sheenColorMap,this.sheenRoughness=e.sheenRoughness,this.sheenRoughnessMap=e.sheenRoughnessMap,this.transmission=e.transmission,this.transmissionMap=e.transmissionMap,this.thickness=e.thickness,this.thicknessMap=e.thicknessMap,this.attenuationDistance=e.attenuationDistance,this.attenuationColor.copy(e.attenuationColor),this.specularIntensity=e.specularIntensity,this.specularIntensityMap=e.specularIntensityMap,this.specularColor.copy(e.specularColor),this.specularColorMap=e.specularColorMap,this}},bf=class extends Ns{constructor(e){super(),this.isMeshPhongMaterial=!0,this.type=`MeshPhongMaterial`,this.color=new W(16777215),this.specular=new W(1118481),this.shininess=30,this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new W(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=0,this.normalScale=new B(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.envMapRotation=new Xo,this.combine=0,this.reflectivity=1,this.refractionRatio=.98,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap=`round`,this.wireframeLinejoin=`round`,this.flatShading=!1,this.fog=!0,this.setValues(e)}copy(e){return super.copy(e),this.color.copy(e.color),this.specular.copy(e.specular),this.shininess=e.shininess,this.map=e.map,this.lightMap=e.lightMap,this.lightMapIntensity=e.lightMapIntensity,this.aoMap=e.aoMap,this.aoMapIntensity=e.aoMapIntensity,this.emissive.copy(e.emissive),this.emissiveMap=e.emissiveMap,this.emissiveIntensity=e.emissiveIntensity,this.bumpMap=e.bumpMap,this.bumpScale=e.bumpScale,this.normalMap=e.normalMap,this.normalMapType=e.normalMapType,this.normalScale.copy(e.normalScale),this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.specularMap=e.specularMap,this.alphaMap=e.alphaMap,this.envMap=e.envMap,this.envMapRotation.copy(e.envMapRotation),this.combine=e.combine,this.reflectivity=e.reflectivity,this.refractionRatio=e.refractionRatio,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.wireframeLinecap=e.wireframeLinecap,this.wireframeLinejoin=e.wireframeLinejoin,this.flatShading=e.flatShading,this.fog=e.fog,this}},xf=class extends Ns{constructor(e){super(),this.isMeshToonMaterial=!0,this.defines={TOON:``},this.type=`MeshToonMaterial`,this.color=new W(16777215),this.map=null,this.gradientMap=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new W(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=0,this.normalScale=new B(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.alphaMap=null,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap=`round`,this.wireframeLinejoin=`round`,this.fog=!0,this.setValues(e)}copy(e){return super.copy(e),this.color.copy(e.color),this.map=e.map,this.gradientMap=e.gradientMap,this.lightMap=e.lightMap,this.lightMapIntensity=e.lightMapIntensity,this.aoMap=e.aoMap,this.aoMapIntensity=e.aoMapIntensity,this.emissive.copy(e.emissive),this.emissiveMap=e.emissiveMap,this.emissiveIntensity=e.emissiveIntensity,this.bumpMap=e.bumpMap,this.bumpScale=e.bumpScale,this.normalMap=e.normalMap,this.normalMapType=e.normalMapType,this.normalScale.copy(e.normalScale),this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.alphaMap=e.alphaMap,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.wireframeLinecap=e.wireframeLinecap,this.wireframeLinejoin=e.wireframeLinejoin,this.fog=e.fog,this}},Sf=class extends Ns{constructor(e){super(),this.isMeshNormalMaterial=!0,this.type=`MeshNormalMaterial`,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=0,this.normalScale=new B(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.wireframe=!1,this.wireframeLinewidth=1,this.flatShading=!1,this.setValues(e)}copy(e){return super.copy(e),this.bumpMap=e.bumpMap,this.bumpScale=e.bumpScale,this.normalMap=e.normalMap,this.normalMapType=e.normalMapType,this.normalScale.copy(e.normalScale),this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.flatShading=e.flatShading,this}},Cf=class extends Ns{constructor(e){super(),this.isMeshLambertMaterial=!0,this.type=`MeshLambertMaterial`,this.color=new W(16777215),this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new W(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=0,this.normalScale=new B(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.envMapRotation=new Xo,this.combine=0,this.reflectivity=1,this.refractionRatio=.98,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap=`round`,this.wireframeLinejoin=`round`,this.flatShading=!1,this.fog=!0,this.setValues(e)}copy(e){return super.copy(e),this.color.copy(e.color),this.map=e.map,this.lightMap=e.lightMap,this.lightMapIntensity=e.lightMapIntensity,this.aoMap=e.aoMap,this.aoMapIntensity=e.aoMapIntensity,this.emissive.copy(e.emissive),this.emissiveMap=e.emissiveMap,this.emissiveIntensity=e.emissiveIntensity,this.bumpMap=e.bumpMap,this.bumpScale=e.bumpScale,this.normalMap=e.normalMap,this.normalMapType=e.normalMapType,this.normalScale.copy(e.normalScale),this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.specularMap=e.specularMap,this.alphaMap=e.alphaMap,this.envMap=e.envMap,this.envMapRotation.copy(e.envMapRotation),this.combine=e.combine,this.reflectivity=e.reflectivity,this.refractionRatio=e.refractionRatio,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.wireframeLinecap=e.wireframeLinecap,this.wireframeLinejoin=e.wireframeLinejoin,this.flatShading=e.flatShading,this.fog=e.fog,this}},wf=class extends Ns{constructor(e){super(),this.isMeshMatcapMaterial=!0,this.defines={MATCAP:``},this.type=`MeshMatcapMaterial`,this.color=new W(16777215),this.matcap=null,this.map=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=0,this.normalScale=new B(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.alphaMap=null,this.flatShading=!1,this.fog=!0,this.setValues(e)}copy(e){return super.copy(e),this.defines={MATCAP:``},this.color.copy(e.color),this.matcap=e.matcap,this.map=e.map,this.bumpMap=e.bumpMap,this.bumpScale=e.bumpScale,this.normalMap=e.normalMap,this.normalMapType=e.normalMapType,this.normalScale.copy(e.normalScale),this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.alphaMap=e.alphaMap,this.flatShading=e.flatShading,this.fog=e.fog,this}},Tf=class extends Qu{constructor(e){super(),this.isLineDashedMaterial=!0,this.type=`LineDashedMaterial`,this.scale=1,this.dashSize=3,this.gapSize=1,this.setValues(e)}copy(e){return super.copy(e),this.scale=e.scale,this.dashSize=e.dashSize,this.gapSize=e.gapSize,this}},Ef={convertArray:vr,isTypedArray:yr,getKeyframeOrder:br,sortedArray:xr,flattenJSON:Sr,subclip:Cr,makeClipAdditive:wr},Df=class{constructor(e,t,n,r){this.parameterPositions=e,this._cachedIndex=0,this.resultBuffer=r===void 0?new t.constructor(n):r,this.sampleValues=t,this.valueSize=n,this.settings=null,this.DefaultSettings_={}}evaluate(e){let t=this.parameterPositions,n=this._cachedIndex,r=t[n],i=t[n-1];validate_interval:{seek:{let a;linear_scan:{forward_scan:if(!(e<r)){for(let a=n+2;;){if(r===void 0){if(e<i)break forward_scan;return n=t.length,this._cachedIndex=n,this.copySampleValue_(n-1)}if(n===a)break;if(i=r,r=t[++n],e<r)break seek}a=t.length;break linear_scan}if(!(e>=i)){let o=t[1];e<o&&(n=2,i=o);for(let a=n-2;;){if(i===void 0)return this._cachedIndex=0,this.copySampleValue_(0);if(n===a)break;if(r=i,i=t[--n-1],e>=i)break seek}a=n,n=0;break linear_scan}break validate_interval}for(;n<a;){let r=n+a>>>1;e<t[r]?a=r:n=r+1}if(r=t[n],i=t[n-1],i===void 0)return this._cachedIndex=0,this.copySampleValue_(0);if(r===void 0)return n=t.length,this._cachedIndex=n,this.copySampleValue_(n-1)}this._cachedIndex=n,this.intervalChanged_(n,i,r)}return this.interpolate_(n,i,e,r)}getSettings_(){return this.settings||this.DefaultSettings_}copySampleValue_(e){let t=this.resultBuffer,n=this.sampleValues,r=this.valueSize,i=e*r;for(let e=0;e!==r;++e)t[e]=n[i+e];return t}interpolate_(){throw Error(`call to abstract method`)}intervalChanged_(){}},Of=class extends Df{constructor(e,t,n,r){super(e,t,n,r),this._weightPrev=-0,this._offsetPrev=-0,this._weightNext=-0,this._offsetNext=-0,this.DefaultSettings_={endingStart:ra,endingEnd:ra}}intervalChanged_(e,t,n){let r=this.parameterPositions,i=e-2,a=e+1,o=r[i],s=r[a];if(o===void 0)switch(this.getSettings_().endingStart){case ia:i=e,o=2*t-n;break;case aa:i=r.length-2,o=t+r[i]-r[i+1];break;default:i=e,o=n}if(s===void 0)switch(this.getSettings_().endingEnd){case ia:a=e,s=2*n-t;break;case aa:a=1,s=n+r[1]-r[0];break;default:a=e-1,s=t}let c=(n-t)*.5,l=this.valueSize;this._weightPrev=c/(t-o),this._weightNext=c/(s-n),this._offsetPrev=i*l,this._offsetNext=a*l}interpolate_(e,t,n,r){let i=this.resultBuffer,a=this.sampleValues,o=this.valueSize,s=e*o,c=s-o,l=this._offsetPrev,u=this._offsetNext,d=this._weightPrev,f=this._weightNext,p=(n-t)/(r-t),m=p*p,h=m*p,g=-d*h+2*d*m-d*p,_=(1+d)*h+(-1.5-2*d)*m+(-.5+d)*p+1,v=(-1-f)*h+(1.5+f)*m+.5*p,y=f*h-f*m;for(let e=0;e!==o;++e)i[e]=g*a[l+e]+_*a[c+e]+v*a[s+e]+y*a[u+e];return i}},kf=class extends Df{constructor(e,t,n,r){super(e,t,n,r)}interpolate_(e,t,n,r){let i=this.resultBuffer,a=this.sampleValues,o=this.valueSize,s=e*o,c=s-o,l=(n-t)/(r-t),u=1-l;for(let e=0;e!==o;++e)i[e]=a[c+e]*u+a[s+e]*l;return i}},Af=class extends Df{constructor(e,t,n,r){super(e,t,n,r)}interpolate_(e){return this.copySampleValue_(e-1)}},jf=class{constructor(e,t,n,r){if(e===void 0)throw Error(`THREE.KeyframeTrack: track name is undefined`);if(t===void 0||t.length===0)throw Error(`THREE.KeyframeTrack: no keyframes in track named `+e);this.name=e,this.times=vr(t,this.TimeBufferType),this.values=vr(n,this.ValueBufferType),this.setInterpolation(r||this.DefaultInterpolation)}static toJSON(e){let t=e.constructor,n;if(t.toJSON!==this.toJSON)n=t.toJSON(e);else{n={name:e.name,times:vr(e.times,Array),values:vr(e.values,Array)};let t=e.getInterpolation();t!==e.DefaultInterpolation&&(n.interpolation=t)}return n.type=e.ValueTypeName,n}InterpolantFactoryMethodDiscrete(e){return new Af(this.times,this.values,this.getValueSize(),e)}InterpolantFactoryMethodLinear(e){return new kf(this.times,this.values,this.getValueSize(),e)}InterpolantFactoryMethodSmooth(e){return new Of(this.times,this.values,this.getValueSize(),e)}setInterpolation(e){let t;switch(e){case ea:t=this.InterpolantFactoryMethodDiscrete;break;case ta:t=this.InterpolantFactoryMethodLinear;break;case na:t=this.InterpolantFactoryMethodSmooth}if(t===void 0){let t=`unsupported interpolation for `+this.ValueTypeName+` keyframe track named `+this.name;if(this.createInterpolant===void 0){if(e!==this.DefaultInterpolation)this.setInterpolation(this.DefaultInterpolation);else throw Error(t)}return console.warn(`THREE.KeyframeTrack:`,t),this}return this.createInterpolant=t,this}getInterpolation(){switch(this.createInterpolant){case this.InterpolantFactoryMethodDiscrete:return ea;case this.InterpolantFactoryMethodLinear:return ta;case this.InterpolantFactoryMethodSmooth:return na}}getValueSize(){return this.values.length/this.times.length}shift(e){if(e!==0){let t=this.times;for(let n=0,r=t.length;n!==r;++n)t[n]+=e}return this}scale(e){if(e!==1){let t=this.times;for(let n=0,r=t.length;n!==r;++n)t[n]*=e}return this}trim(e,t){let n=this.times,r=n.length,i=0,a=r-1;for(;i!==r&&n[i]<e;)++i;for(;a!==-1&&n[a]>t;)--a;if(++a,i!==0||a!==r){i>=a&&(a=Math.max(a,1),i=a-1);let e=this.getValueSize();this.times=n.slice(i,a),this.values=this.values.slice(i*e,a*e)}return this}validate(){let e=!0,t=this.getValueSize();t-Math.floor(t)!==0&&(console.error(`THREE.KeyframeTrack: Invalid value size in track.`,this),e=!1);let n=this.times,r=this.values,i=n.length;i===0&&(console.error(`THREE.KeyframeTrack: Track is empty.`,this),e=!1);let a=null;for(let t=0;t!==i;t++){let r=n[t];if(typeof r==`number`&&isNaN(r)){console.error(`THREE.KeyframeTrack: Time is not a valid number.`,this,t,r),e=!1;break}if(a!==null&&a>r){console.error(`THREE.KeyframeTrack: Out of order keys.`,this,t,r,a),e=!1;break}a=r}if(r!==void 0&&yr(r))for(let t=0,n=r.length;t!==n;++t){let n=r[t];if(isNaN(n)){console.error(`THREE.KeyframeTrack: Value is not a valid number.`,this,t,n),e=!1;break}}return e}optimize(){let e=this.times.slice(),t=this.values.slice(),n=this.getValueSize(),r=this.getInterpolation()===na,i=e.length-1,a=1;for(let o=1;o<i;++o){let i=!1,s=e[o];if(s!==e[o+1]&&(o!==1||s!==e[0])){if(r)i=!0;else{let e=o*n,r=e-n,a=e+n;for(let o=0;o!==n;++o){let n=t[e+o];if(n!==t[r+o]||n!==t[a+o]){i=!0;break}}}}if(i){if(o!==a){e[a]=e[o];let r=o*n,i=a*n;for(let e=0;e!==n;++e)t[i+e]=t[r+e]}++a}}if(i>0){e[a]=e[i];for(let e=i*n,r=a*n,o=0;o!==n;++o)t[r+o]=t[e+o];++a}return a===e.length?(this.times=e,this.values=t):(this.times=e.slice(0,a),this.values=t.slice(0,a*n)),this}clone(){let e=this.times.slice(),t=this.values.slice(),n=this.constructor,r=new n(this.name,e,t);return r.createInterpolant=this.createInterpolant,r}},jf.prototype.TimeBufferType=Float32Array,jf.prototype.ValueBufferType=Float32Array,jf.prototype.DefaultInterpolation=ta,Mf=class extends jf{constructor(e,t,n){super(e,t,n)}},Mf.prototype.ValueTypeName=`bool`,Mf.prototype.ValueBufferType=Array,Mf.prototype.DefaultInterpolation=ea,Mf.prototype.InterpolantFactoryMethodLinear=void 0,Mf.prototype.InterpolantFactoryMethodSmooth=void 0,Nf=class extends jf{},Nf.prototype.ValueTypeName=`color`,Pf=class extends jf{},Pf.prototype.ValueTypeName=`number`,Ff=class extends Df{constructor(e,t,n,r){super(e,t,n,r)}interpolate_(e,t,n,r){let i=this.resultBuffer,a=this.sampleValues,o=this.valueSize,s=(n-t)/(r-t),c=e*o;for(let e=c+o;c!==e;c+=4)fo.slerpFlat(i,0,a,c-o,a,c,s);return i}},If=class extends jf{InterpolantFactoryMethodLinear(e){return new Ff(this.times,this.values,this.getValueSize(),e)}},If.prototype.ValueTypeName=`quaternion`,If.prototype.InterpolantFactoryMethodSmooth=void 0,Lf=class extends jf{constructor(e,t,n){super(e,t,n)}},Lf.prototype.ValueTypeName=`string`,Lf.prototype.ValueBufferType=Array,Lf.prototype.DefaultInterpolation=ea,Lf.prototype.InterpolantFactoryMethodLinear=void 0,Lf.prototype.InterpolantFactoryMethodSmooth=void 0,Rf=class extends jf{},Rf.prototype.ValueTypeName=`vector`,zf=class{constructor(e=``,t=-1,n=[],r=oa){this.name=e,this.tracks=n,this.duration=t,this.blendMode=r,this.uuid=o(),this.duration<0&&this.resetDuration()}static parse(e){let t=[],n=e.tracks,r=1/(e.fps||1);for(let e=0,i=n.length;e!==i;++e)t.push(Er(n[e]).scale(r));let i=new this(e.name,e.duration,t,e.blendMode);return i.uuid=e.uuid,i}static toJSON(e){let t=[],n=e.tracks,r={name:e.name,duration:e.duration,tracks:t,uuid:e.uuid,blendMode:e.blendMode};for(let e=0,r=n.length;e!==r;++e)t.push(jf.toJSON(n[e]));return r}static CreateFromMorphTargetSequence(e,t,n,r){let i=t.length,a=[];for(let e=0;e<i;e++){let o=[],s=[];o.push((e+i-1)%i,e,(e+1)%i),s.push(0,1,0);let c=br(o);o=xr(o,1,c),s=xr(s,1,c),!r&&o[0]===0&&(o.push(i),s.push(s[0])),a.push(new Pf(`.morphTargetInfluences[`+t[e].name+`]`,o,s).scale(1/n))}return new this(e,-1,a)}static findByName(e,t){let n=e;if(!Array.isArray(e)){let t=e;n=t.geometry&&t.geometry.animations||t.animations}for(let e=0;e<n.length;e++)if(n[e].name===t)return n[e];return null}static CreateClipsFromMorphTargetSequences(e,t,n){let r={},i=/^([\w-]*?)([\d]+)$/;for(let t=0,n=e.length;t<n;t++){let n=e[t],a=n.name.match(i);if(a&&a.length>1){let e=a[1],t=r[e];t||(r[e]=t=[]),t.push(n)}}let a=[];for(let e in r)a.push(this.CreateFromMorphTargetSequence(e,r[e],t,n));return a}static parseAnimation(e,t){if(!e)return console.error(`THREE.AnimationClip: No animation in JSONLoader data.`),null;let n=function(e,t,n,r,i){if(n.length!==0){let a=[],o=[];Sr(n,a,o,r),a.length!==0&&i.push(new e(t,a,o))}},r=[],i=e.name||`default`,a=e.fps||30,o=e.blendMode,s=e.length||-1,c=e.hierarchy||[];for(let e=0;e<c.length;e++){let i=c[e].keys;if(i&&i.length!==0){if(i[0].morphTargets){let e={},t=0;for(;t<i.length;t++)if(i[t].morphTargets)for(let n=0;n<i[t].morphTargets.length;n++)e[i[t].morphTargets[n]]=-1;for(let n in e){let e=[],a=[];for(let r=0;r!==i[t].morphTargets.length;++r){let r=i[t];e.push(r.time),a.push(+(r.morphTarget===n))}r.push(new Pf(`.morphTargetInfluence[`+n+`]`,e,a))}s=e.length*a}else{let a=`.bones[`+t[e].name+`]`;n(Rf,a+`.position`,i,`pos`,r),n(If,a+`.quaternion`,i,`rot`,r),n(Rf,a+`.scale`,i,`scl`,r)}}}return r.length===0?null:new this(i,s,r,o)}resetDuration(){let e=this.tracks,t=0;for(let n=0,r=e.length;n!==r;++n){let e=this.tracks[n];t=Math.max(t,e.times[e.times.length-1])}return this.duration=t,this}trim(){for(let e=0;e<this.tracks.length;e++)this.tracks[e].trim(0,this.duration);return this}validate(){let e=!0;for(let t=0;t<this.tracks.length;t++)e=e&&this.tracks[t].validate();return e}optimize(){for(let e=0;e<this.tracks.length;e++)this.tracks[e].optimize();return this}clone(){let e=[];for(let t=0;t<this.tracks.length;t++)e.push(this.tracks[t].clone());return new this.constructor(this.name,this.duration,e,this.blendMode)}toJSON(){return this.constructor.toJSON(this)}},Bf={enabled:!1,files:{},add:function(e,t){this.enabled!==!1&&(this.files[e]=t)},get:function(e){if(this.enabled!==!1)return this.files[e]},remove:function(e){delete this.files[e]},clear:function(){this.files={}}},Vf=class{constructor(e,t,n){let r=this,i=!1,a=0,o=0,s,c=[];this.onStart=void 0,this.onLoad=e,this.onProgress=t,this.onError=n,this.itemStart=function(e){o++,i===!1&&r.onStart!==void 0&&r.onStart(e,a,o),i=!0},this.itemEnd=function(e){a++,r.onProgress!==void 0&&r.onProgress(e,a,o),a===o&&(i=!1,r.onLoad!==void 0&&r.onLoad())},this.itemError=function(e){r.onError!==void 0&&r.onError(e)},this.resolveURL=function(e){return s?s(e):e},this.setURLModifier=function(e){return s=e,this},this.addHandler=function(e,t){return c.push(e,t),this},this.removeHandler=function(e){let t=c.indexOf(e);return t!==-1&&c.splice(t,2),this},this.getHandler=function(e){for(let t=0,n=c.length;t<n;t+=2){let n=c[t],r=c[t+1];if(n.global&&(n.lastIndex=0),n.test(e))return r}return null}}},Hf=new Vf,Uf=class{constructor(e){this.manager=e===void 0?Hf:e,this.crossOrigin=`anonymous`,this.withCredentials=!1,this.path=``,this.resourcePath=``,this.requestHeader={}}load(){}loadAsync(e,t){let n=this;return new Promise(function(r,i){n.load(e,r,t,i)})}parse(){}setCrossOrigin(e){return this.crossOrigin=e,this}setWithCredentials(e){return this.withCredentials=e,this}setPath(e){return this.path=e,this}setResourcePath(e){return this.resourcePath=e,this}setRequestHeader(e){return this.requestHeader=e,this}},Uf.DEFAULT_MATERIAL_NAME=`__DEFAULT`,Wf={},Gf=class extends Error{constructor(e,t){super(e),this.response=t}},Kf=class extends Uf{constructor(e){super(e)}load(e,t,n,r){e===void 0&&(e=``),this.path!==void 0&&(e=this.path+e),e=this.manager.resolveURL(e);let i=Bf.get(e);if(i!==void 0)return this.manager.itemStart(e),setTimeout(()=>{t&&t(i),this.manager.itemEnd(e)},0),i;if(Wf[e]!==void 0){Wf[e].push({onLoad:t,onProgress:n,onError:r});return}Wf[e]=[],Wf[e].push({onLoad:t,onProgress:n,onError:r});let a=new Request(e,{headers:new Headers(this.requestHeader),credentials:this.withCredentials?`include`:`same-origin`}),o=this.mimeType,s=this.responseType;fetch(a).then(t=>{if(t.status===200||t.status===0){if(t.status===0&&console.warn(`THREE.FileLoader: HTTP Status 0 received.`),typeof ReadableStream>`u`||t.body===void 0||t.body.getReader===void 0)return t;let n=Wf[e],r=t.body.getReader(),i=t.headers.get(`X-File-Size`)||t.headers.get(`Content-Length`),a=i?parseInt(i):0,o=a!==0,s=0,c=new ReadableStream({start(e){t();function t(){r.read().then(({done:r,value:i})=>{if(r)e.close();else{s+=i.byteLength;let r=new ProgressEvent(`progress`,{lengthComputable:o,loaded:s,total:a});for(let e=0,t=n.length;e<t;e++){let t=n[e];t.onProgress&&t.onProgress(r)}e.enqueue(i),t()}},t=>{e.error(t)})}}});return new Response(c)}throw new Gf(`fetch for "${t.url}" responded with ${t.status}: ${t.statusText}`,t)}).then(e=>{switch(s){case`arraybuffer`:return e.arrayBuffer();case`blob`:return e.blob();case`document`:return e.text().then(e=>new DOMParser().parseFromString(e,o));case`json`:return e.json();default:if(o===void 0)return e.text();{let t=/charset="?([^;"\s]*)"?/i.exec(o),n=t&&t[1]?t[1].toLowerCase():void 0,r=new TextDecoder(n);return e.arrayBuffer().then(e=>r.decode(e))}}}).then(t=>{Bf.add(e,t);let n=Wf[e];delete Wf[e];for(let e=0,r=n.length;e<r;e++){let r=n[e];r.onLoad&&r.onLoad(t)}}).catch(t=>{let n=Wf[e];if(n===void 0)throw this.manager.itemError(e),t;delete Wf[e];for(let e=0,r=n.length;e<r;e++){let r=n[e];r.onError&&r.onError(t)}this.manager.itemError(e)}).finally(()=>{this.manager.itemEnd(e)}),this.manager.itemStart(e)}setResponseType(e){return this.responseType=e,this}setMimeType(e){return this.mimeType=e,this}},qf=class extends Uf{constructor(e){super(e)}load(e,t,n,r){let i=this,a=new Kf(this.manager);a.setPath(this.path),a.setRequestHeader(this.requestHeader),a.setWithCredentials(this.withCredentials),a.load(e,function(n){try{t(i.parse(JSON.parse(n)))}catch(t){r?r(t):console.error(t),i.manager.itemError(e)}},n,r)}parse(e){let t=[];for(let n=0;n<e.length;n++){let r=zf.parse(e[n]);t.push(r)}return t}},Jf=class extends Uf{constructor(e){super(e)}load(e,t,n,r){let i=this,a=[],o=new yd,s=new Kf(this.manager);s.setPath(this.path),s.setResponseType(`arraybuffer`),s.setRequestHeader(this.requestHeader),s.setWithCredentials(i.withCredentials);let c=0;function l(l){s.load(e[l],function(e){let n=i.parse(e,!0);a[l]={width:n.width,height:n.height,format:n.format,mipmaps:n.mipmaps},c+=1,c===6&&(n.mipmapCount===1&&(o.minFilter=Ur),o.image=a,o.format=n.format,o.needsUpdate=!0,t&&t(o))},n,r)}if(Array.isArray(e))for(let t=0,n=e.length;t<n;++t)l(t);else s.load(e,function(e){let n=i.parse(e,!0);if(n.isCubemap){let e=n.mipmaps.length/n.mipmapCount;for(let t=0;t<e;t++){a[t]={mipmaps:[]};for(let e=0;e<n.mipmapCount;e++)a[t].mipmaps.push(n.mipmaps[t*n.mipmapCount+e]),a[t].format=n.format,a[t].width=n.width,a[t].height=n.height}o.image=a}else o.image.width=n.width,o.image.height=n.height,o.mipmaps=n.mipmaps;n.mipmapCount===1&&(o.minFilter=Ur),o.format=n.format,o.needsUpdate=!0,t&&t(o)},n,r);return o}},Yf=class extends Uf{constructor(e){super(e)}load(e,t,n,r){this.path!==void 0&&(e=this.path+e),e=this.manager.resolveURL(e);let i=this,a=Bf.get(e);if(a!==void 0)return i.manager.itemStart(e),setTimeout(function(){t&&t(a),i.manager.itemEnd(e)},0),a;let o=A(`img`);function s(){l(),Bf.add(e,this),t&&t(this),i.manager.itemEnd(e)}function c(t){l(),r&&r(t),i.manager.itemError(e),i.manager.itemEnd(e)}function l(){o.removeEventListener(`load`,s,!1),o.removeEventListener(`error`,c,!1)}return o.addEventListener(`load`,s,!1),o.addEventListener(`error`,c,!1),e.slice(0,5)!==`data:`&&this.crossOrigin!==void 0&&(o.crossOrigin=this.crossOrigin),i.manager.itemStart(e),o.src=e,o}},Xf=class extends Uf{constructor(e){super(e)}load(e,t,n,r){let i=new Tc;i.colorSpace=fa;let a=new Yf(this.manager);a.setCrossOrigin(this.crossOrigin),a.setPath(this.path);let o=0;function s(n){a.load(e[n],function(e){i.images[n]=e,o++,o===6&&(i.needsUpdate=!0,t&&t(i))},void 0,r)}for(let t=0;t<e.length;++t)s(t);return i}},Zf=class extends Uf{constructor(e){super(e)}load(e,t,n,r){let i=this,a=new Cu,o=new Kf(this.manager);return o.setResponseType(`arraybuffer`),o.setRequestHeader(this.requestHeader),o.setPath(this.path),o.setWithCredentials(i.withCredentials),o.load(e,function(e){let n;try{n=i.parse(e)}catch(e){if(r!==void 0)r(e);else{console.error(e);return}}n.image===void 0?n.data!==void 0&&(a.image.width=n.width,a.image.height=n.height,a.image.data=n.data):a.image=n.image,a.wrapS=n.wrapS===void 0?z:n.wrapS,a.wrapT=n.wrapT===void 0?z:n.wrapT,a.magFilter=n.magFilter===void 0?Ur:n.magFilter,a.minFilter=n.minFilter===void 0?Ur:n.minFilter,a.anisotropy=n.anisotropy===void 0?1:n.anisotropy,n.colorSpace!==void 0&&(a.colorSpace=n.colorSpace),n.flipY!==void 0&&(a.flipY=n.flipY),n.format!==void 0&&(a.format=n.format),n.type!==void 0&&(a.type=n.type),n.mipmaps!==void 0&&(a.mipmaps=n.mipmaps,a.minFilter=Kr),n.mipmapCount===1&&(a.minFilter=Ur),n.generateMipmaps!==void 0&&(a.generateMipmaps=n.generateMipmaps),a.needsUpdate=!0,t&&t(a,n)},n,r),a}},Qf=class extends Uf{constructor(e){super(e)}load(e,t,n,r){let i=new ro,a=new Yf(this.manager);return a.setCrossOrigin(this.crossOrigin),a.setPath(this.path),a.load(e,function(e){i.image=e,i.needsUpdate=!0,t!==void 0&&t(i)},n,r),i}},$f=class extends ps{constructor(e,t=1){super(),this.isLight=!0,this.type=`Light`,this.color=new W(e),this.intensity=t}dispose(){}copy(e,t){return super.copy(e,t),this.color.copy(e.color),this.intensity=e.intensity,this}toJSON(e){let t=super.toJSON(e);return t.object.color=this.color.getHex(),t.object.intensity=this.intensity,this.groundColor!==void 0&&(t.object.groundColor=this.groundColor.getHex()),this.distance!==void 0&&(t.object.distance=this.distance),this.angle!==void 0&&(t.object.angle=this.angle),this.decay!==void 0&&(t.object.decay=this.decay),this.penumbra!==void 0&&(t.object.penumbra=this.penumbra),this.shadow!==void 0&&(t.object.shadow=this.shadow.toJSON()),this.target!==void 0&&(t.object.target=this.target.uuid),t}},ep=class extends $f{constructor(e,t,n){super(e,n),this.isHemisphereLight=!0,this.type=`HemisphereLight`,this.position.copy(ps.DEFAULT_UP),this.updateMatrix(),this.groundColor=new W(t)}copy(e,t){return super.copy(e,t),this.groundColor.copy(e.groundColor),this}},tp=new U,np=new H,rp=new H,ip=class{constructor(e){this.camera=e,this.intensity=1,this.bias=0,this.normalBias=0,this.radius=1,this.blurSamples=8,this.mapSize=new B(512,512),this.map=null,this.mapPass=null,this.matrix=new U,this.autoUpdate=!0,this.needsUpdate=!1,this._frustum=new Nc,this._frameExtents=new B(1,1),this._viewportCount=1,this._viewports=[new io(0,0,1,1)]}getViewportCount(){return this._viewportCount}getFrustum(){return this._frustum}updateMatrices(e){let t=this.camera,n=this.matrix;np.setFromMatrixPosition(e.matrixWorld),t.position.copy(np),rp.setFromMatrixPosition(e.target.matrixWorld),t.lookAt(rp),t.updateMatrixWorld(),tp.multiplyMatrices(t.projectionMatrix,t.matrixWorldInverse),this._frustum.setFromProjectionMatrix(tp),n.set(.5,0,0,.5,0,.5,0,.5,0,0,.5,.5,0,0,0,1),n.multiply(tp)}getViewport(e){return this._viewports[e]}getFrameExtents(){return this._frameExtents}dispose(){this.map&&this.map.dispose(),this.mapPass&&this.mapPass.dispose()}copy(e){return this.camera=e.camera.clone(),this.intensity=e.intensity,this.bias=e.bias,this.radius=e.radius,this.mapSize.copy(e.mapSize),this}clone(){return new this.constructor().copy(this)}toJSON(){let e={};return this.intensity!==1&&(e.intensity=this.intensity),this.bias!==0&&(e.bias=this.bias),this.normalBias!==0&&(e.normalBias=this.normalBias),this.radius!==1&&(e.radius=this.radius),(this.mapSize.x!==512||this.mapSize.y!==512)&&(e.mapSize=this.mapSize.toArray()),e.camera=this.camera.toJSON(!1).object,delete e.camera.matrix,e}},ap=class extends ip{constructor(){super(new xc(50,1,.5,500)),this.isSpotLightShadow=!0,this.focus=1}updateMatrices(e){let t=this.camera,n=Ha*2*e.angle*this.focus,r=this.mapSize.width/this.mapSize.height,i=e.distance||t.far;(n!==t.fov||r!==t.aspect||i!==t.far)&&(t.fov=n,t.aspect=r,t.far=i,t.updateProjectionMatrix()),super.updateMatrices(e)}copy(e){return super.copy(e),this.focus=e.focus,this}},op=class extends $f{constructor(e,t,n=0,r=Math.PI/3,i=0,a=2){super(e,t),this.isSpotLight=!0,this.type=`SpotLight`,this.position.copy(ps.DEFAULT_UP),this.updateMatrix(),this.target=new ps,this.distance=n,this.angle=r,this.penumbra=i,this.decay=a,this.map=null,this.shadow=new ap}get power(){return this.intensity*Math.PI}set power(e){this.intensity=e/Math.PI}dispose(){this.shadow.dispose()}copy(e,t){return super.copy(e,t),this.distance=e.distance,this.angle=e.angle,this.penumbra=e.penumbra,this.decay=e.decay,this.target=e.target.clone(),this.shadow=e.shadow.clone(),this}},sp=new U,cp=new H,lp=new H,up=class extends ip{constructor(){super(new xc(90,1,.5,500)),this.isPointLightShadow=!0,this._frameExtents=new B(4,2),this._viewportCount=6,this._viewports=[new io(2,1,1,1),new io(0,1,1,1),new io(3,1,1,1),new io(1,1,1,1),new io(3,0,1,1),new io(1,0,1,1)],this._cubeDirections=[new H(1,0,0),new H(-1,0,0),new H(0,0,1),new H(0,0,-1),new H(0,1,0),new H(0,-1,0)],this._cubeUps=[new H(0,1,0),new H(0,1,0),new H(0,1,0),new H(0,1,0),new H(0,0,1),new H(0,0,-1)]}updateMatrices(e,t=0){let n=this.camera,r=this.matrix,i=e.distance||n.far;i!==n.far&&(n.far=i,n.updateProjectionMatrix()),cp.setFromMatrixPosition(e.matrixWorld),n.position.copy(cp),lp.copy(n.position),lp.add(this._cubeDirections[t]),n.up.copy(this._cubeUps[t]),n.lookAt(lp),n.updateMatrixWorld(),r.makeTranslation(-cp.x,-cp.y,-cp.z),sp.multiplyMatrices(n.projectionMatrix,n.matrixWorldInverse),this._frustum.setFromProjectionMatrix(sp)}},dp=class extends $f{constructor(e,t,n=0,r=2){super(e,t),this.isPointLight=!0,this.type=`PointLight`,this.distance=n,this.decay=r,this.shadow=new up}get power(){return this.intensity*4*Math.PI}set power(e){this.intensity=e/(4*Math.PI)}dispose(){this.shadow.dispose()}copy(e,t){return super.copy(e,t),this.distance=e.distance,this.decay=e.decay,this.shadow=e.shadow.clone(),this}},fp=class extends ip{constructor(){super(new zc(-5,5,5,-5,.5,500)),this.isDirectionalLightShadow=!0}},pp=class extends $f{constructor(e,t){super(e,t),this.isDirectionalLight=!0,this.type=`DirectionalLight`,this.position.copy(ps.DEFAULT_UP),this.updateMatrix(),this.target=new ps,this.shadow=new fp}dispose(){this.shadow.dispose()}copy(e){return super.copy(e),this.target=e.target.clone(),this.shadow=e.shadow.clone(),this}},mp=class extends $f{constructor(e,t){super(e,t),this.isAmbientLight=!0,this.type=`AmbientLight`}},hp=class extends $f{constructor(e,t,n=10,r=10){super(e,t),this.isRectAreaLight=!0,this.type=`RectAreaLight`,this.width=n,this.height=r}get power(){return this.intensity*this.width*this.height*Math.PI}set power(e){this.intensity=e/(this.width*this.height*Math.PI)}copy(e){return super.copy(e),this.width=e.width,this.height=e.height,this}toJSON(e){let t=super.toJSON(e);return t.object.width=this.width,t.object.height=this.height,t}},gp=class{constructor(){this.isSphericalHarmonics3=!0,this.coefficients=[];for(let e=0;e<9;e++)this.coefficients.push(new H)}set(e){for(let t=0;t<9;t++)this.coefficients[t].copy(e[t]);return this}zero(){for(let e=0;e<9;e++)this.coefficients[e].set(0,0,0);return this}getAt(e,t){let n=e.x,r=e.y,i=e.z,a=this.coefficients;return t.copy(a[0]).multiplyScalar(.282095),t.addScaledVector(a[1],.488603*r),t.addScaledVector(a[2],.488603*i),t.addScaledVector(a[3],.488603*n),t.addScaledVector(a[4],n*r*1.092548),t.addScaledVector(a[5],r*i*1.092548),t.addScaledVector(a[6],.315392*(3*i*i-1)),t.addScaledVector(a[7],n*i*1.092548),t.addScaledVector(a[8],.546274*(n*n-r*r)),t}getIrradianceAt(e,t){let n=e.x,r=e.y,i=e.z,a=this.coefficients;return t.copy(a[0]).multiplyScalar(.886227),t.addScaledVector(a[1],1.023328*r),t.addScaledVector(a[2],1.023328*i),t.addScaledVector(a[3],1.023328*n),t.addScaledVector(a[4],.858086*n*r),t.addScaledVector(a[5],.858086*r*i),t.addScaledVector(a[6],.743125*i*i-.247708),t.addScaledVector(a[7],.858086*n*i),t.addScaledVector(a[8],.429043*(n*n-r*r)),t}add(e){for(let t=0;t<9;t++)this.coefficients[t].add(e.coefficients[t]);return this}addScaledSH(e,t){for(let n=0;n<9;n++)this.coefficients[n].addScaledVector(e.coefficients[n],t);return this}scale(e){for(let t=0;t<9;t++)this.coefficients[t].multiplyScalar(e);return this}lerp(e,t){for(let n=0;n<9;n++)this.coefficients[n].lerp(e.coefficients[n],t);return this}equals(e){for(let t=0;t<9;t++)if(!this.coefficients[t].equals(e.coefficients[t]))return!1;return!0}copy(e){return this.set(e.coefficients)}clone(){return new this.constructor().copy(this)}fromArray(e,t=0){let n=this.coefficients;for(let r=0;r<9;r++)n[r].fromArray(e,t+r*3);return this}toArray(e=[],t=0){let n=this.coefficients;for(let r=0;r<9;r++)n[r].toArray(e,t+r*3);return e}static getBasisAt(e,t){let n=e.x,r=e.y,i=e.z;t[0]=.282095,t[1]=.488603*r,t[2]=.488603*i,t[3]=.488603*n,t[4]=1.092548*n*r,t[5]=1.092548*r*i,t[6]=.315392*(3*i*i-1),t[7]=1.092548*n*i,t[8]=.546274*(n*n-r*r)}},_p=class extends $f{constructor(e=new gp,t=1){super(void 0,t),this.isLightProbe=!0,this.sh=e}copy(e){return super.copy(e),this.sh.copy(e.sh),this}fromJSON(e){return this.intensity=e.intensity,this.sh.fromArray(e.sh),this}toJSON(e){let t=super.toJSON(e);return t.object.sh=this.sh.toArray(),t}},vp=class e extends Uf{constructor(e){super(e),this.textures={}}load(e,t,n,r){let i=this,a=new Kf(i.manager);a.setPath(i.path),a.setRequestHeader(i.requestHeader),a.setWithCredentials(i.withCredentials),a.load(e,function(n){try{t(i.parse(JSON.parse(n)))}catch(t){r?r(t):console.error(t),i.manager.itemError(e)}},n,r)}parse(e){let t=this.textures;function n(e){return t[e]===void 0&&console.warn(`THREE.MaterialLoader: Undefined texture`,e),t[e]}let r=this.createMaterialFromType(e.type);if(e.uuid!==void 0&&(r.uuid=e.uuid),e.name!==void 0&&(r.name=e.name),e.color!==void 0&&r.color!==void 0&&r.color.setHex(e.color),e.roughness!==void 0&&(r.roughness=e.roughness),e.metalness!==void 0&&(r.metalness=e.metalness),e.sheen!==void 0&&(r.sheen=e.sheen),e.sheenColor!==void 0&&(r.sheenColor=new W().setHex(e.sheenColor)),e.sheenRoughness!==void 0&&(r.sheenRoughness=e.sheenRoughness),e.emissive!==void 0&&r.emissive!==void 0&&r.emissive.setHex(e.emissive),e.specular!==void 0&&r.specular!==void 0&&r.specular.setHex(e.specular),e.specularIntensity!==void 0&&(r.specularIntensity=e.specularIntensity),e.specularColor!==void 0&&r.specularColor!==void 0&&r.specularColor.setHex(e.specularColor),e.shininess!==void 0&&(r.shininess=e.shininess),e.clearcoat!==void 0&&(r.clearcoat=e.clearcoat),e.clearcoatRoughness!==void 0&&(r.clearcoatRoughness=e.clearcoatRoughness),e.dispersion!==void 0&&(r.dispersion=e.dispersion),e.iridescence!==void 0&&(r.iridescence=e.iridescence),e.iridescenceIOR!==void 0&&(r.iridescenceIOR=e.iridescenceIOR),e.iridescenceThicknessRange!==void 0&&(r.iridescenceThicknessRange=e.iridescenceThicknessRange),e.transmission!==void 0&&(r.transmission=e.transmission),e.thickness!==void 0&&(r.thickness=e.thickness),e.attenuationDistance!==void 0&&(r.attenuationDistance=e.attenuationDistance),e.attenuationColor!==void 0&&r.attenuationColor!==void 0&&r.attenuationColor.setHex(e.attenuationColor),e.anisotropy!==void 0&&(r.anisotropy=e.anisotropy),e.anisotropyRotation!==void 0&&(r.anisotropyRotation=e.anisotropyRotation),e.fog!==void 0&&(r.fog=e.fog),e.flatShading!==void 0&&(r.flatShading=e.flatShading),e.blending!==void 0&&(r.blending=e.blending),e.combine!==void 0&&(r.combine=e.combine),e.side!==void 0&&(r.side=e.side),e.shadowSide!==void 0&&(r.shadowSide=e.shadowSide),e.opacity!==void 0&&(r.opacity=e.opacity),e.transparent!==void 0&&(r.transparent=e.transparent),e.alphaTest!==void 0&&(r.alphaTest=e.alphaTest),e.alphaHash!==void 0&&(r.alphaHash=e.alphaHash),e.depthFunc!==void 0&&(r.depthFunc=e.depthFunc),e.depthTest!==void 0&&(r.depthTest=e.depthTest),e.depthWrite!==void 0&&(r.depthWrite=e.depthWrite),e.colorWrite!==void 0&&(r.colorWrite=e.colorWrite),e.blendSrc!==void 0&&(r.blendSrc=e.blendSrc),e.blendDst!==void 0&&(r.blendDst=e.blendDst),e.blendEquation!==void 0&&(r.blendEquation=e.blendEquation),e.blendSrcAlpha!==void 0&&(r.blendSrcAlpha=e.blendSrcAlpha),e.blendDstAlpha!==void 0&&(r.blendDstAlpha=e.blendDstAlpha),e.blendEquationAlpha!==void 0&&(r.blendEquationAlpha=e.blendEquationAlpha),e.blendColor!==void 0&&r.blendColor!==void 0&&r.blendColor.setHex(e.blendColor),e.blendAlpha!==void 0&&(r.blendAlpha=e.blendAlpha),e.stencilWriteMask!==void 0&&(r.stencilWriteMask=e.stencilWriteMask),e.stencilFunc!==void 0&&(r.stencilFunc=e.stencilFunc),e.stencilRef!==void 0&&(r.stencilRef=e.stencilRef),e.stencilFuncMask!==void 0&&(r.stencilFuncMask=e.stencilFuncMask),e.stencilFail!==void 0&&(r.stencilFail=e.stencilFail),e.stencilZFail!==void 0&&(r.stencilZFail=e.stencilZFail),e.stencilZPass!==void 0&&(r.stencilZPass=e.stencilZPass),e.stencilWrite!==void 0&&(r.stencilWrite=e.stencilWrite),e.wireframe!==void 0&&(r.wireframe=e.wireframe),e.wireframeLinewidth!==void 0&&(r.wireframeLinewidth=e.wireframeLinewidth),e.wireframeLinecap!==void 0&&(r.wireframeLinecap=e.wireframeLinecap),e.wireframeLinejoin!==void 0&&(r.wireframeLinejoin=e.wireframeLinejoin),e.rotation!==void 0&&(r.rotation=e.rotation),e.linewidth!==void 0&&(r.linewidth=e.linewidth),e.dashSize!==void 0&&(r.dashSize=e.dashSize),e.gapSize!==void 0&&(r.gapSize=e.gapSize),e.scale!==void 0&&(r.scale=e.scale),e.polygonOffset!==void 0&&(r.polygonOffset=e.polygonOffset),e.polygonOffsetFactor!==void 0&&(r.polygonOffsetFactor=e.polygonOffsetFactor),e.polygonOffsetUnits!==void 0&&(r.polygonOffsetUnits=e.polygonOffsetUnits),e.dithering!==void 0&&(r.dithering=e.dithering),e.alphaToCoverage!==void 0&&(r.alphaToCoverage=e.alphaToCoverage),e.premultipliedAlpha!==void 0&&(r.premultipliedAlpha=e.premultipliedAlpha),e.forceSinglePass!==void 0&&(r.forceSinglePass=e.forceSinglePass),e.visible!==void 0&&(r.visible=e.visible),e.toneMapped!==void 0&&(r.toneMapped=e.toneMapped),e.userData!==void 0&&(r.userData=e.userData),e.vertexColors!==void 0&&(r.vertexColors=typeof e.vertexColors==`number`?e.vertexColors>0:e.vertexColors),e.uniforms!==void 0)for(let t in e.uniforms){let i=e.uniforms[t];switch(r.uniforms[t]={},i.type){case`t`:r.uniforms[t].value=n(i.value);break;case`c`:r.uniforms[t].value=new W().setHex(i.value);break;case`v2`:r.uniforms[t].value=new B().fromArray(i.value);break;case`v3`:r.uniforms[t].value=new H().fromArray(i.value);break;case`v4`:r.uniforms[t].value=new io().fromArray(i.value);break;case`m3`:r.uniforms[t].value=new V().fromArray(i.value);break;case`m4`:r.uniforms[t].value=new U().fromArray(i.value);break;default:r.uniforms[t].value=i.value}}if(e.defines!==void 0&&(r.defines=e.defines),e.vertexShader!==void 0&&(r.vertexShader=e.vertexShader),e.fragmentShader!==void 0&&(r.fragmentShader=e.fragmentShader),e.glslVersion!==void 0&&(r.glslVersion=e.glslVersion),e.extensions!==void 0)for(let t in e.extensions)r.extensions[t]=e.extensions[t];if(e.lights!==void 0&&(r.lights=e.lights),e.clipping!==void 0&&(r.clipping=e.clipping),e.size!==void 0&&(r.size=e.size),e.sizeAttenuation!==void 0&&(r.sizeAttenuation=e.sizeAttenuation),e.map!==void 0&&(r.map=n(e.map)),e.matcap!==void 0&&(r.matcap=n(e.matcap)),e.alphaMap!==void 0&&(r.alphaMap=n(e.alphaMap)),e.bumpMap!==void 0&&(r.bumpMap=n(e.bumpMap)),e.bumpScale!==void 0&&(r.bumpScale=e.bumpScale),e.normalMap!==void 0&&(r.normalMap=n(e.normalMap)),e.normalMapType!==void 0&&(r.normalMapType=e.normalMapType),e.normalScale!==void 0){let t=e.normalScale;Array.isArray(t)===!1&&(t=[t,t]),r.normalScale=new B().fromArray(t)}return e.displacementMap!==void 0&&(r.displacementMap=n(e.displacementMap)),e.displacementScale!==void 0&&(r.displacementScale=e.displacementScale),e.displacementBias!==void 0&&(r.displacementBias=e.displacementBias),e.roughnessMap!==void 0&&(r.roughnessMap=n(e.roughnessMap)),e.metalnessMap!==void 0&&(r.metalnessMap=n(e.metalnessMap)),e.emissiveMap!==void 0&&(r.emissiveMap=n(e.emissiveMap)),e.emissiveIntensity!==void 0&&(r.emissiveIntensity=e.emissiveIntensity),e.specularMap!==void 0&&(r.specularMap=n(e.specularMap)),e.specularIntensityMap!==void 0&&(r.specularIntensityMap=n(e.specularIntensityMap)),e.specularColorMap!==void 0&&(r.specularColorMap=n(e.specularColorMap)),e.envMap!==void 0&&(r.envMap=n(e.envMap)),e.envMapRotation!==void 0&&r.envMapRotation.fromArray(e.envMapRotation),e.envMapIntensity!==void 0&&(r.envMapIntensity=e.envMapIntensity),e.reflectivity!==void 0&&(r.reflectivity=e.reflectivity),e.refractionRatio!==void 0&&(r.refractionRatio=e.refractionRatio),e.lightMap!==void 0&&(r.lightMap=n(e.lightMap)),e.lightMapIntensity!==void 0&&(r.lightMapIntensity=e.lightMapIntensity),e.aoMap!==void 0&&(r.aoMap=n(e.aoMap)),e.aoMapIntensity!==void 0&&(r.aoMapIntensity=e.aoMapIntensity),e.gradientMap!==void 0&&(r.gradientMap=n(e.gradientMap)),e.clearcoatMap!==void 0&&(r.clearcoatMap=n(e.clearcoatMap)),e.clearcoatRoughnessMap!==void 0&&(r.clearcoatRoughnessMap=n(e.clearcoatRoughnessMap)),e.clearcoatNormalMap!==void 0&&(r.clearcoatNormalMap=n(e.clearcoatNormalMap)),e.clearcoatNormalScale!==void 0&&(r.clearcoatNormalScale=new B().fromArray(e.clearcoatNormalScale)),e.iridescenceMap!==void 0&&(r.iridescenceMap=n(e.iridescenceMap)),e.iridescenceThicknessMap!==void 0&&(r.iridescenceThicknessMap=n(e.iridescenceThicknessMap)),e.transmissionMap!==void 0&&(r.transmissionMap=n(e.transmissionMap)),e.thicknessMap!==void 0&&(r.thicknessMap=n(e.thicknessMap)),e.anisotropyMap!==void 0&&(r.anisotropyMap=n(e.anisotropyMap)),e.sheenColorMap!==void 0&&(r.sheenColorMap=n(e.sheenColorMap)),e.sheenRoughnessMap!==void 0&&(r.sheenRoughnessMap=n(e.sheenRoughnessMap)),r}setTextures(e){return this.textures=e,this}createMaterialFromType(t){return e.createMaterialFromType(t)}static createMaterialFromType(e){return new{ShadowMaterial:gf,SpriteMaterial:Jl,RawShaderMaterial:_f,ShaderMaterial:gc,PointsMaterial:dd,MeshPhysicalMaterial:yf,MeshStandardMaterial:vf,MeshPhongMaterial:bf,MeshToonMaterial:xf,MeshNormalMaterial:Sf,MeshLambertMaterial:Cf,MeshDepthMaterial:Tl,MeshDistanceMaterial:El,MeshBasicMaterial:Ps,MeshMatcapMaterial:wf,LineDashedMaterial:Tf,LineBasicMaterial:Qu,Material:Ns}[e]}},yp=class{static decodeText(e){if(console.warn(`THREE.LoaderUtils: decodeText() has been deprecated with r165 and will be removed with r175. Use TextDecoder instead.`),typeof TextDecoder<`u`)return new TextDecoder().decode(e);let t=``;for(let n=0,r=e.length;n<r;n++)t+=String.fromCharCode(e[n]);try{return decodeURIComponent(escape(t))}catch{return t}}static extractUrlBase(e){let t=e.lastIndexOf(`/`);return t===-1?`./`:e.slice(0,t+1)}static resolveURL(e,t){return typeof e!=`string`||e===``?``:(/^https?:\/\//i.test(t)&&/^\//.test(e)&&(t=t.replace(/(^https?:\/\/[^\/]+).*/i,`$1`)),/^(https?:)?\/\//i.test(e)||/^data:.*,.*$/i.test(e)||/^blob:.*$/i.test(e)?e:t+e)}},bp=class extends q{constructor(){super(),this.isInstancedBufferGeometry=!0,this.type=`InstancedBufferGeometry`,this.instanceCount=1/0}copy(e){return super.copy(e),this.instanceCount=e.instanceCount,this}toJSON(){let e=super.toJSON();return e.instanceCount=this.instanceCount,e.isInstancedBufferGeometry=!0,e}},xp=class extends Uf{constructor(e){super(e)}load(e,t,n,r){let i=this,a=new Kf(i.manager);a.setPath(i.path),a.setRequestHeader(i.requestHeader),a.setWithCredentials(i.withCredentials),a.load(e,function(n){try{t(i.parse(JSON.parse(n)))}catch(t){r?r(t):console.error(t),i.manager.itemError(e)}},n,r)}parse(e){let t={},n={};function r(e,n){if(t[n]!==void 0)return t[n];let r=e.interleavedBuffers[n],a=i(e,r.buffer),o=k(r.type,a),s=new Gl(o,r.stride);return s.uuid=r.uuid,t[n]=s,s}function i(e,t){if(n[t]!==void 0)return n[t];let r=e.arrayBuffers[t],i=new Uint32Array(r).buffer;return n[t]=i,i}let a=e.isInstancedBufferGeometry?new bp:new q,o=e.data.index;if(o!==void 0){let e=k(o.type,o.array);a.setIndex(new G(e,1))}let s=e.data.attributes;for(let t in s){let n=s[t],i;if(n.isInterleavedBufferAttribute){let t=r(e.data,n.data);i=new ql(t,n.itemSize,n.offset,n.normalized)}else{let e=k(n.type,n.array);i=new(n.isInstancedBufferAttribute?Du:G)(e,n.itemSize,n.normalized)}n.name!==void 0&&(i.name=n.name),n.usage!==void 0&&i.setUsage(n.usage),a.setAttribute(t,i)}let c=e.data.morphAttributes;if(c)for(let t in c){let n=c[t],i=[];for(let t=0,a=n.length;t<a;t++){let a=n[t],o;if(a.isInterleavedBufferAttribute){let t=r(e.data,a.data);o=new ql(t,a.itemSize,a.offset,a.normalized)}else{let e=k(a.type,a.array);o=new G(e,a.itemSize,a.normalized)}a.name!==void 0&&(o.name=a.name),i.push(o)}a.morphAttributes[t]=i}e.data.morphTargetsRelative&&(a.morphTargetsRelative=!0);let l=e.data.groups||e.data.drawcalls||e.data.offsets;if(l!==void 0)for(let e=0,t=l.length;e!==t;++e){let t=l[e];a.addGroup(t.start,t.count,t.materialIndex)}let u=e.data.boundingSphere;if(u!==void 0){let e=new H;u.center!==void 0&&e.fromArray(u.center),a.boundingSphere=new Mo(e,u.radius)}return e.name&&(a.name=e.name),e.userData&&(a.userData=e.userData),a}},Sp=class extends Uf{constructor(e){super(e)}load(e,t,n,r){let i=this,a=this.path===``?yp.extractUrlBase(e):this.path;this.resourcePath=this.resourcePath||a;let o=new Kf(this.manager);o.setPath(this.path),o.setRequestHeader(this.requestHeader),o.setWithCredentials(this.withCredentials),o.load(e,function(n){let a=null;try{a=JSON.parse(n)}catch(t){r!==void 0&&r(t),console.error(`THREE:ObjectLoader: Can't parse `+e+`.`,t.message);return}let o=a.metadata;o===void 0||o.type===void 0||o.type.toLowerCase()===`geometry`?(r!==void 0&&r(Error(`THREE.ObjectLoader: Can't load `+e)),console.error(`THREE.ObjectLoader: Can't load `+e)):i.parse(a,t)},n,r)}async loadAsync(e,t){let n=this,r=this.path===``?yp.extractUrlBase(e):this.path;this.resourcePath=this.resourcePath||r;let i=new Kf(this.manager);i.setPath(this.path),i.setRequestHeader(this.requestHeader),i.setWithCredentials(this.withCredentials);let a=await i.loadAsync(e,t),o=JSON.parse(a),s=o.metadata;if(s===void 0||s.type===void 0||s.type.toLowerCase()===`geometry`)throw Error(`THREE.ObjectLoader: Can't load `+e);return await n.parseAsync(o)}parse(e,t){let n=this.parseAnimations(e.animations),r=this.parseShapes(e.shapes),i=this.parseGeometries(e.geometries,r),a=this.parseImages(e.images,function(){t!==void 0&&t(c)}),o=this.parseTextures(e.textures,a),s=this.parseMaterials(e.materials,o),c=this.parseObject(e.object,i,s,o,n),l=this.parseSkeletons(e.skeletons,c);if(this.bindSkeletons(c,l),this.bindLightTargets(c),t!==void 0){let e=!1;for(let t in a)if(a[t].data instanceof HTMLImageElement){e=!0;break}e===!1&&t(c)}return c}async parseAsync(e){let t=this.parseAnimations(e.animations),n=this.parseShapes(e.shapes),r=this.parseGeometries(e.geometries,n),i=await this.parseImagesAsync(e.images),a=this.parseTextures(e.textures,i),o=this.parseMaterials(e.materials,a),s=this.parseObject(e.object,r,o,a,t),c=this.parseSkeletons(e.skeletons,s);return this.bindSkeletons(s,c),this.bindLightTargets(s),s}parseShapes(e){let t={};if(e!==void 0)for(let n=0,r=e.length;n<r;n++){let r=new $d().fromJSON(e[n]);t[r.uuid]=r}return t}parseSkeletons(e,t){let n={},r={};if(t.traverse(function(e){e.isBone&&(r[e.uuid]=e)}),e!==void 0)for(let t=0,i=e.length;t<i;t++){let i=new Eu().fromJSON(e[t],r);n[i.uuid]=i}return n}parseGeometries(e,t){let n={};if(e!==void 0){let r=new xp;for(let i=0,a=e.length;i<a;i++){let a,o=e[i];switch(o.type){case`BufferGeometry`:case`InstancedBufferGeometry`:a=r.parse(o);break;default:o.type in hf?a=hf[o.type].fromJSON(o,t):console.warn(`THREE.ObjectLoader: Unsupported geometry type "${o.type}"`)}a.uuid=o.uuid,o.name!==void 0&&(a.name=o.name),o.userData!==void 0&&(a.userData=o.userData),n[o.uuid]=a}}return n}parseMaterials(e,t){let n={},r={};if(e!==void 0){let i=new vp;i.setTextures(t);for(let t=0,a=e.length;t<a;t++){let a=e[t];n[a.uuid]===void 0&&(n[a.uuid]=i.parse(a)),r[a.uuid]=n[a.uuid]}}return r}parseAnimations(e){let t={};if(e!==void 0)for(let n=0;n<e.length;n++){let r=e[n],i=zf.parse(r);t[i.uuid]=i}return t}parseImages(e,t){let n=this,r={},i;function a(e){return n.manager.itemStart(e),i.load(e,function(){n.manager.itemEnd(e)},void 0,function(){n.manager.itemError(e),n.manager.itemEnd(e)})}function o(e){if(typeof e==`string`){let t=e;return a(/^(\/\/)|([a-z]+:(\/\/)?)/i.test(t)?t:n.resourcePath+t)}return e.data?{data:k(e.type,e.data),width:e.width,height:e.height}:null}if(e!==void 0&&e.length>0){let n=new Vf(t);i=new Yf(n),i.setCrossOrigin(this.crossOrigin);for(let t=0,n=e.length;t<n;t++){let n=e[t],i=n.url;if(Array.isArray(i)){let e=[];for(let t=0,n=i.length;t<n;t++){let n=i[t],r=o(n);r!==null&&(r instanceof HTMLImageElement?e.push(r):e.push(new Cu(r.data,r.width,r.height)))}r[n.uuid]=new to(e)}else{let e=o(n.url);r[n.uuid]=new to(e)}}}return r}async parseImagesAsync(e){let t=this,n={},r;async function i(e){if(typeof e==`string`){let n=e,i=/^(\/\/)|([a-z]+:(\/\/)?)/i.test(n)?n:t.resourcePath+n;return await r.loadAsync(i)}return e.data?{data:k(e.type,e.data),width:e.width,height:e.height}:null}if(e!==void 0&&e.length>0){r=new Yf(this.manager),r.setCrossOrigin(this.crossOrigin);for(let t=0,r=e.length;t<r;t++){let r=e[t],a=r.url;if(Array.isArray(a)){let e=[];for(let t=0,n=a.length;t<n;t++){let n=a[t],r=await i(n);r!==null&&(r instanceof HTMLImageElement?e.push(r):e.push(new Cu(r.data,r.width,r.height)))}n[r.uuid]=new to(e)}else{let e=await i(r.url);n[r.uuid]=new to(e)}}}return n}parseTextures(e,t){function n(e,t){return typeof e==`number`?e:(console.warn(`THREE.ObjectLoader.parseTexture: Constant should be in numeric form.`,e),t[e])}let r={};if(e!==void 0)for(let i=0,a=e.length;i<a;i++){let a=e[i];a.image===void 0&&console.warn(`THREE.ObjectLoader: No "image" specified for`,a.uuid),t[a.image]===void 0&&console.warn(`THREE.ObjectLoader: Undefined image`,a.image);let o=t[a.image],s=o.data,c;Array.isArray(s)?(c=new Tc,s.length===6&&(c.needsUpdate=!0)):(c=s&&s.data?new Cu:new ro,s&&(c.needsUpdate=!0)),c.source=o,c.uuid=a.uuid,a.name!==void 0&&(c.name=a.name),a.mapping!==void 0&&(c.mapping=n(a.mapping,Cp)),a.channel!==void 0&&(c.channel=a.channel),a.offset!==void 0&&c.offset.fromArray(a.offset),a.repeat!==void 0&&c.repeat.fromArray(a.repeat),a.center!==void 0&&c.center.fromArray(a.center),a.rotation!==void 0&&(c.rotation=a.rotation),a.wrap!==void 0&&(c.wrapS=n(a.wrap[0],wp),c.wrapT=n(a.wrap[1],wp)),a.format!==void 0&&(c.format=a.format),a.internalFormat!==void 0&&(c.internalFormat=a.internalFormat),a.type!==void 0&&(c.type=a.type),a.colorSpace!==void 0&&(c.colorSpace=a.colorSpace),a.minFilter!==void 0&&(c.minFilter=n(a.minFilter,Tp)),a.magFilter!==void 0&&(c.magFilter=n(a.magFilter,Tp)),a.anisotropy!==void 0&&(c.anisotropy=a.anisotropy),a.flipY!==void 0&&(c.flipY=a.flipY),a.generateMipmaps!==void 0&&(c.generateMipmaps=a.generateMipmaps),a.premultiplyAlpha!==void 0&&(c.premultiplyAlpha=a.premultiplyAlpha),a.unpackAlignment!==void 0&&(c.unpackAlignment=a.unpackAlignment),a.compareFunction!==void 0&&(c.compareFunction=a.compareFunction),a.userData!==void 0&&(c.userData=a.userData),r[a.uuid]=c}return r}parseObject(e,t,n,r,i){let a;function o(e){return t[e]===void 0&&console.warn(`THREE.ObjectLoader: Undefined geometry`,e),t[e]}function s(e){if(e!==void 0){if(Array.isArray(e)){let t=[];for(let r=0,i=e.length;r<i;r++){let i=e[r];n[i]===void 0&&console.warn(`THREE.ObjectLoader: Undefined material`,i),t.push(n[i])}return t}return n[e]===void 0&&console.warn(`THREE.ObjectLoader: Undefined material`,e),n[e]}}function c(e){return r[e]===void 0&&console.warn(`THREE.ObjectLoader: Undefined texture`,e),r[e]}let l,u;switch(e.type){case`Scene`:a=new Wl,e.background!==void 0&&(Number.isInteger(e.background)?a.background=new W(e.background):a.background=c(e.background)),e.environment!==void 0&&(a.environment=c(e.environment)),e.fog!==void 0&&(e.fog.type===`Fog`?a.fog=new Ul(e.fog.color,e.fog.near,e.fog.far):e.fog.type===`FogExp2`&&(a.fog=new Hl(e.fog.color,e.fog.density)),e.fog.name!==``&&(a.fog.name=e.fog.name)),e.backgroundBlurriness!==void 0&&(a.backgroundBlurriness=e.backgroundBlurriness),e.backgroundIntensity!==void 0&&(a.backgroundIntensity=e.backgroundIntensity),e.backgroundRotation!==void 0&&a.backgroundRotation.fromArray(e.backgroundRotation),e.environmentIntensity!==void 0&&(a.environmentIntensity=e.environmentIntensity),e.environmentRotation!==void 0&&a.environmentRotation.fromArray(e.environmentRotation);break;case`PerspectiveCamera`:a=new xc(e.fov,e.aspect,e.near,e.far),e.focus!==void 0&&(a.focus=e.focus),e.zoom!==void 0&&(a.zoom=e.zoom),e.filmGauge!==void 0&&(a.filmGauge=e.filmGauge),e.filmOffset!==void 0&&(a.filmOffset=e.filmOffset),e.view!==void 0&&(a.view=Object.assign({},e.view));break;case`OrthographicCamera`:a=new zc(e.left,e.right,e.top,e.bottom,e.near,e.far),e.zoom!==void 0&&(a.zoom=e.zoom),e.view!==void 0&&(a.view=Object.assign({},e.view));break;case`AmbientLight`:a=new mp(e.color,e.intensity);break;case`DirectionalLight`:a=new pp(e.color,e.intensity),a.target=e.target||``;break;case`PointLight`:a=new dp(e.color,e.intensity,e.distance,e.decay);break;case`RectAreaLight`:a=new hp(e.color,e.intensity,e.width,e.height);break;case`SpotLight`:a=new op(e.color,e.intensity,e.distance,e.angle,e.penumbra,e.decay),a.target=e.target||``;break;case`HemisphereLight`:a=new ep(e.color,e.groundColor,e.intensity);break;case`LightProbe`:a=new _p().fromJSON(e);break;case`SkinnedMesh`:l=o(e.geometry),u=s(e.material),a=new xu(l,u),e.bindMode!==void 0&&(a.bindMode=e.bindMode),e.bindMatrix!==void 0&&a.bindMatrix.fromArray(e.bindMatrix),e.skeleton!==void 0&&(a.skeleton=e.skeleton);break;case`Mesh`:l=o(e.geometry),u=s(e.material),a=new dc(l,u);break;case`InstancedMesh`:l=o(e.geometry),u=s(e.material);let t=e.count,n=e.instanceMatrix,r=e.instanceColor;a=new Fu(l,u,t),a.instanceMatrix=new Du(new Float32Array(n.array),16),r!==void 0&&(a.instanceColor=new Du(new Float32Array(r.array),r.itemSize));break;case`BatchedMesh`:l=o(e.geometry),u=s(e.material),a=new Zu(e.maxInstanceCount,e.maxVertexCount,e.maxIndexCount,u),a.geometry=l,a.perObjectFrustumCulled=e.perObjectFrustumCulled,a.sortObjects=e.sortObjects,a._drawRanges=e.drawRanges,a._reservedRanges=e.reservedRanges,a._visibility=e.visibility,a._active=e.active,a._bounds=e.bounds.map(e=>{let t=new ho;t.min.fromArray(e.boxMin),t.max.fromArray(e.boxMax);let n=new Mo;return n.radius=e.sphereRadius,n.center.fromArray(e.sphereCenter),{boxInitialized:e.boxInitialized,box:t,sphereInitialized:e.sphereInitialized,sphere:n}}),a._maxInstanceCount=e.maxInstanceCount,a._maxVertexCount=e.maxVertexCount,a._maxIndexCount=e.maxIndexCount,a._geometryInitialized=e.geometryInitialized,a._geometryCount=e.geometryCount,a._matricesTexture=c(e.matricesTexture.uuid),e.colorsTexture!==void 0&&(a._colorsTexture=c(e.colorsTexture.uuid));break;case`LOD`:a=new du;break;case`Line`:a=new od(o(e.geometry),s(e.material));break;case`LineLoop`:a=new ud(o(e.geometry),s(e.material));break;case`LineSegments`:a=new ld(o(e.geometry),s(e.material));break;case`PointCloud`:case`Points`:a=new gd(o(e.geometry),s(e.material));break;case`Sprite`:a=new cu(s(e.material));break;case`Group`:a=new Ml;break;case`Bone`:a=new Su;break;default:a=new ps}if(a.uuid=e.uuid,e.name!==void 0&&(a.name=e.name),e.matrix===void 0?(e.position!==void 0&&a.position.fromArray(e.position),e.rotation!==void 0&&a.rotation.fromArray(e.rotation),e.quaternion!==void 0&&a.quaternion.fromArray(e.quaternion),e.scale!==void 0&&a.scale.fromArray(e.scale)):(a.matrix.fromArray(e.matrix),e.matrixAutoUpdate!==void 0&&(a.matrixAutoUpdate=e.matrixAutoUpdate),a.matrixAutoUpdate&&a.matrix.decompose(a.position,a.quaternion,a.scale)),e.up!==void 0&&a.up.fromArray(e.up),e.castShadow!==void 0&&(a.castShadow=e.castShadow),e.receiveShadow!==void 0&&(a.receiveShadow=e.receiveShadow),e.shadow&&(e.shadow.intensity!==void 0&&(a.shadow.intensity=e.shadow.intensity),e.shadow.bias!==void 0&&(a.shadow.bias=e.shadow.bias),e.shadow.normalBias!==void 0&&(a.shadow.normalBias=e.shadow.normalBias),e.shadow.radius!==void 0&&(a.shadow.radius=e.shadow.radius),e.shadow.mapSize!==void 0&&a.shadow.mapSize.fromArray(e.shadow.mapSize),e.shadow.camera!==void 0&&(a.shadow.camera=this.parseObject(e.shadow.camera))),e.visible!==void 0&&(a.visible=e.visible),e.frustumCulled!==void 0&&(a.frustumCulled=e.frustumCulled),e.renderOrder!==void 0&&(a.renderOrder=e.renderOrder),e.userData!==void 0&&(a.userData=e.userData),e.layers!==void 0&&(a.layers.mask=e.layers),e.children!==void 0){let o=e.children;for(let e=0;e<o.length;e++)a.add(this.parseObject(o[e],t,n,r,i))}if(e.animations!==void 0){let t=e.animations;for(let e=0;e<t.length;e++){let n=t[e];a.animations.push(i[n])}}if(e.type===`LOD`){e.autoUpdate!==void 0&&(a.autoUpdate=e.autoUpdate);let t=e.levels;for(let e=0;e<t.length;e++){let n=t[e],r=a.getObjectByProperty(`uuid`,n.object);r!==void 0&&a.addLevel(r,n.distance,n.hysteresis)}}return a}bindSkeletons(e,t){Object.keys(t).length!==0&&e.traverse(function(e){if(e.isSkinnedMesh===!0&&e.skeleton!==void 0){let n=t[e.skeleton];n===void 0?console.warn(`THREE.ObjectLoader: No skeleton found with UUID:`,e.skeleton):e.bind(n,e.bindMatrix)}})}bindLightTargets(e){e.traverse(function(t){if(t.isDirectionalLight||t.isSpotLight){let n=t.target,r=e.getObjectByProperty(`uuid`,n);t.target=r===void 0?new ps:r}})}},Cp={UVMapping:300,CubeReflectionMapping:301,CubeRefractionMapping:302,EquirectangularReflectionMapping:303,EquirectangularRefractionMapping:304,CubeUVReflectionMapping:306},wp={RepeatWrapping:Ir,ClampToEdgeWrapping:z,MirroredRepeatWrapping:Lr},Tp={NearestFilter:Rr,NearestMipmapNearestFilter:zr,NearestMipmapLinearFilter:Vr,LinearFilter:Ur,LinearMipmapNearestFilter:Wr,LinearMipmapLinearFilter:Kr},Ep=class extends Uf{constructor(e){super(e),this.isImageBitmapLoader=!0,typeof createImageBitmap>`u`&&console.warn(`THREE.ImageBitmapLoader: createImageBitmap() not supported.`),typeof fetch>`u`&&console.warn(`THREE.ImageBitmapLoader: fetch() not supported.`),this.options={premultiplyAlpha:`none`}}setOptions(e){return this.options=e,this}load(e,t,n,r){e===void 0&&(e=``),this.path!==void 0&&(e=this.path+e),e=this.manager.resolveURL(e);let i=this,a=Bf.get(e);if(a!==void 0){if(i.manager.itemStart(e),a.then){a.then(n=>{t&&t(n),i.manager.itemEnd(e)}).catch(e=>{r&&r(e)});return}return setTimeout(function(){t&&t(a),i.manager.itemEnd(e)},0),a}let o={};o.credentials=this.crossOrigin===`anonymous`?`same-origin`:`include`,o.headers=this.requestHeader;let s=fetch(e,o).then(function(e){return e.blob()}).then(function(e){return createImageBitmap(e,Object.assign(i.options,{colorSpaceConversion:`none`}))}).then(function(n){return Bf.add(e,n),t&&t(n),i.manager.itemEnd(e),n}).catch(function(t){r&&r(t),Bf.remove(e),i.manager.itemError(e),i.manager.itemEnd(e)});Bf.add(e,s),i.manager.itemStart(e)}},Op=class{static getContext(){return Dp===void 0&&(Dp=new(window.AudioContext||window.webkitAudioContext)),Dp}static setContext(e){Dp=e}},kp=class extends Uf{constructor(e){super(e)}load(e,t,n,r){let i=this,a=new Kf(this.manager);a.setResponseType(`arraybuffer`),a.setPath(this.path),a.setRequestHeader(this.requestHeader),a.setWithCredentials(this.withCredentials),a.load(e,function(e){try{let n=e.slice(0);Op.getContext().decodeAudioData(n,function(e){t(e)}).catch(o)}catch(e){o(e)}},n,r);function o(t){r?r(t):console.error(t),i.manager.itemError(e)}}},Ap=new U,jp=new U,Mp=new U,Np=class{constructor(){this.type=`StereoCamera`,this.aspect=1,this.eyeSep=.064,this.cameraL=new xc,this.cameraL.layers.enable(1),this.cameraL.matrixAutoUpdate=!1,this.cameraR=new xc,this.cameraR.layers.enable(2),this.cameraR.matrixAutoUpdate=!1,this._cache={focus:null,fov:null,aspect:null,near:null,far:null,zoom:null,eyeSep:null}}update(e){let t=this._cache;if(t.focus!==e.focus||t.fov!==e.fov||t.aspect!==e.aspect*this.aspect||t.near!==e.near||t.far!==e.far||t.zoom!==e.zoom||t.eyeSep!==this.eyeSep){t.focus=e.focus,t.fov=e.fov,t.aspect=e.aspect*this.aspect,t.near=e.near,t.far=e.far,t.zoom=e.zoom,t.eyeSep=this.eyeSep,Mp.copy(e.projectionMatrix);let n=t.eyeSep/2,r=n*t.near/t.focus,i=t.near*Math.tan(Va*t.fov*.5)/t.zoom,a,o;jp.elements[12]=-n,Ap.elements[12]=n,a=-i*t.aspect+r,o=i*t.aspect+r,Mp.elements[0]=2*t.near/(o-a),Mp.elements[8]=(o+a)/(o-a),this.cameraL.projectionMatrix.copy(Mp),a=-i*t.aspect-r,o=i*t.aspect-r,Mp.elements[0]=2*t.near/(o-a),Mp.elements[8]=(o+a)/(o-a),this.cameraR.projectionMatrix.copy(Mp)}this.cameraL.matrixWorld.copy(e.matrixWorld).multiply(jp),this.cameraR.matrixWorld.copy(e.matrixWorld).multiply(Ap)}},Pp=class{constructor(e=!0){this.autoStart=e,this.startTime=0,this.oldTime=0,this.elapsedTime=0,this.running=!1}start(){this.startTime=Dr(),this.oldTime=this.startTime,this.elapsedTime=0,this.running=!0}stop(){this.getElapsedTime(),this.running=!1,this.autoStart=!1}getElapsedTime(){return this.getDelta(),this.elapsedTime}getDelta(){let e=0;if(this.autoStart&&!this.running)return this.start(),0;if(this.running){let t=Dr();e=(t-this.oldTime)/1e3,this.oldTime=t,this.elapsedTime+=e}return e}},Fp=new H,Ip=new fo,Lp=new H,Rp=new H,zp=class extends ps{constructor(){super(),this.type=`AudioListener`,this.context=Op.getContext(),this.gain=this.context.createGain(),this.gain.connect(this.context.destination),this.filter=null,this.timeDelta=0,this._clock=new Pp}getInput(){return this.gain}removeFilter(){return this.filter!==null&&(this.gain.disconnect(this.filter),this.filter.disconnect(this.context.destination),this.gain.connect(this.context.destination),this.filter=null),this}getFilter(){return this.filter}setFilter(e){return this.filter===null?this.gain.disconnect(this.context.destination):(this.gain.disconnect(this.filter),this.filter.disconnect(this.context.destination)),this.filter=e,this.gain.connect(this.filter),this.filter.connect(this.context.destination),this}getMasterVolume(){return this.gain.gain.value}setMasterVolume(e){return this.gain.gain.setTargetAtTime(e,this.context.currentTime,.01),this}updateMatrixWorld(e){super.updateMatrixWorld(e);let t=this.context.listener,n=this.up;if(this.timeDelta=this._clock.getDelta(),this.matrixWorld.decompose(Fp,Ip,Lp),Rp.set(0,0,-1).applyQuaternion(Ip),t.positionX){let e=this.context.currentTime+this.timeDelta;t.positionX.linearRampToValueAtTime(Fp.x,e),t.positionY.linearRampToValueAtTime(Fp.y,e),t.positionZ.linearRampToValueAtTime(Fp.z,e),t.forwardX.linearRampToValueAtTime(Rp.x,e),t.forwardY.linearRampToValueAtTime(Rp.y,e),t.forwardZ.linearRampToValueAtTime(Rp.z,e),t.upX.linearRampToValueAtTime(n.x,e),t.upY.linearRampToValueAtTime(n.y,e),t.upZ.linearRampToValueAtTime(n.z,e)}else t.setPosition(Fp.x,Fp.y,Fp.z),t.setOrientation(Rp.x,Rp.y,Rp.z,n.x,n.y,n.z)}},Bp=class extends ps{constructor(e){super(),this.type=`Audio`,this.listener=e,this.context=e.context,this.gain=this.context.createGain(),this.gain.connect(e.getInput()),this.autoplay=!1,this.buffer=null,this.detune=0,this.loop=!1,this.loopStart=0,this.loopEnd=0,this.offset=0,this.duration=void 0,this.playbackRate=1,this.isPlaying=!1,this.hasPlaybackControl=!0,this.source=null,this.sourceType=`empty`,this._startedAt=0,this._progress=0,this._connected=!1,this.filters=[]}getOutput(){return this.gain}setNodeSource(e){return this.hasPlaybackControl=!1,this.sourceType=`audioNode`,this.source=e,this.connect(),this}setMediaElementSource(e){return this.hasPlaybackControl=!1,this.sourceType=`mediaNode`,this.source=this.context.createMediaElementSource(e),this.connect(),this}setMediaStreamSource(e){return this.hasPlaybackControl=!1,this.sourceType=`mediaStreamNode`,this.source=this.context.createMediaStreamSource(e),this.connect(),this}setBuffer(e){return this.buffer=e,this.sourceType=`buffer`,this.autoplay&&this.play(),this}play(e=0){if(this.isPlaying===!0){console.warn(`THREE.Audio: Audio is already playing.`);return}if(this.hasPlaybackControl===!1){console.warn(`THREE.Audio: this Audio has no playback control.`);return}this._startedAt=this.context.currentTime+e;let t=this.context.createBufferSource();return t.buffer=this.buffer,t.loop=this.loop,t.loopStart=this.loopStart,t.loopEnd=this.loopEnd,t.onended=this.onEnded.bind(this),t.start(this._startedAt,this._progress+this.offset,this.duration),this.isPlaying=!0,this.source=t,this.setDetune(this.detune),this.setPlaybackRate(this.playbackRate),this.connect()}pause(){if(this.hasPlaybackControl===!1)console.warn(`THREE.Audio: this Audio has no playback control.`);else return this.isPlaying===!0&&(this._progress+=Math.max(this.context.currentTime-this._startedAt,0)*this.playbackRate,this.loop===!0&&(this._progress%=this.duration||this.buffer.duration),this.source.stop(),this.source.onended=null,this.isPlaying=!1),this}stop(e=0){if(this.hasPlaybackControl===!1)console.warn(`THREE.Audio: this Audio has no playback control.`);else return this._progress=0,this.source!==null&&(this.source.stop(this.context.currentTime+e),this.source.onended=null),this.isPlaying=!1,this}connect(){if(this.filters.length>0){this.source.connect(this.filters[0]);for(let e=1,t=this.filters.length;e<t;e++)this.filters[e-1].connect(this.filters[e]);this.filters[this.filters.length-1].connect(this.getOutput())}else this.source.connect(this.getOutput());return this._connected=!0,this}disconnect(){if(this._connected!==!1){if(this.filters.length>0){this.source.disconnect(this.filters[0]);for(let e=1,t=this.filters.length;e<t;e++)this.filters[e-1].disconnect(this.filters[e]);this.filters[this.filters.length-1].disconnect(this.getOutput())}else this.source.disconnect(this.getOutput());return this._connected=!1,this}}getFilters(){return this.filters}setFilters(e){return e||(e=[]),this._connected===!0?(this.disconnect(),this.filters=e.slice(),this.connect()):this.filters=e.slice(),this}setDetune(e){return this.detune=e,this.isPlaying===!0&&this.source.detune!==void 0&&this.source.detune.setTargetAtTime(this.detune,this.context.currentTime,.01),this}getDetune(){return this.detune}getFilter(){return this.getFilters()[0]}setFilter(e){return this.setFilters(e?[e]:[])}setPlaybackRate(e){if(this.hasPlaybackControl===!1)console.warn(`THREE.Audio: this Audio has no playback control.`);else return this.playbackRate=e,this.isPlaying===!0&&this.source.playbackRate.setTargetAtTime(this.playbackRate,this.context.currentTime,.01),this}getPlaybackRate(){return this.playbackRate}onEnded(){this.isPlaying=!1}getLoop(){return this.hasPlaybackControl===!1?(console.warn(`THREE.Audio: this Audio has no playback control.`),!1):this.loop}setLoop(e){if(this.hasPlaybackControl===!1)console.warn(`THREE.Audio: this Audio has no playback control.`);else return this.loop=e,this.isPlaying===!0&&(this.source.loop=this.loop),this}setLoopStart(e){return this.loopStart=e,this}setLoopEnd(e){return this.loopEnd=e,this}getVolume(){return this.gain.gain.value}setVolume(e){return this.gain.gain.setTargetAtTime(e,this.context.currentTime,.01),this}},Vp=new H,Hp=new fo,Up=new H,Wp=new H,Gp=class extends Bp{constructor(e){super(e),this.panner=this.context.createPanner(),this.panner.panningModel=`HRTF`,this.panner.connect(this.gain)}connect(){super.connect(),this.panner.connect(this.gain)}disconnect(){super.disconnect(),this.panner.disconnect(this.gain)}getOutput(){return this.panner}getRefDistance(){return this.panner.refDistance}setRefDistance(e){return this.panner.refDistance=e,this}getRolloffFactor(){return this.panner.rolloffFactor}setRolloffFactor(e){return this.panner.rolloffFactor=e,this}getDistanceModel(){return this.panner.distanceModel}setDistanceModel(e){return this.panner.distanceModel=e,this}getMaxDistance(){return this.panner.maxDistance}setMaxDistance(e){return this.panner.maxDistance=e,this}setDirectionalCone(e,t,n){return this.panner.coneInnerAngle=e,this.panner.coneOuterAngle=t,this.panner.coneOuterGain=n,this}updateMatrixWorld(e){if(super.updateMatrixWorld(e),this.hasPlaybackControl===!0&&this.isPlaying===!1)return;this.matrixWorld.decompose(Vp,Hp,Up),Wp.set(0,0,1).applyQuaternion(Hp);let t=this.panner;if(t.positionX){let e=this.context.currentTime+this.listener.timeDelta;t.positionX.linearRampToValueAtTime(Vp.x,e),t.positionY.linearRampToValueAtTime(Vp.y,e),t.positionZ.linearRampToValueAtTime(Vp.z,e),t.orientationX.linearRampToValueAtTime(Wp.x,e),t.orientationY.linearRampToValueAtTime(Wp.y,e),t.orientationZ.linearRampToValueAtTime(Wp.z,e)}else t.setPosition(Vp.x,Vp.y,Vp.z),t.setOrientation(Wp.x,Wp.y,Wp.z)}},Kp=class{constructor(e,t=2048){this.analyser=e.context.createAnalyser(),this.analyser.fftSize=t,this.data=new Uint8Array(this.analyser.frequencyBinCount),e.getOutput().connect(this.analyser)}getFrequencyData(){return this.analyser.getByteFrequencyData(this.data),this.data}getAverageFrequency(){let e=0,t=this.getFrequencyData();for(let n=0;n<t.length;n++)e+=t[n];return e/t.length}},qp=class{constructor(e,t,n){this.binding=e,this.valueSize=n;let r,i,a;switch(t){case`quaternion`:r=this._slerp,i=this._slerpAdditive,a=this._setAdditiveIdentityQuaternion,this.buffer=new Float64Array(n*6),this._workIndex=5;break;case`string`:case`bool`:r=this._select,i=this._select,a=this._setAdditiveIdentityOther,this.buffer=Array(n*5);break;default:r=this._lerp,i=this._lerpAdditive,a=this._setAdditiveIdentityNumeric,this.buffer=new Float64Array(n*5)}this._mixBufferRegion=r,this._mixBufferRegionAdditive=i,this._setIdentity=a,this._origIndex=3,this._addIndex=4,this.cumulativeWeight=0,this.cumulativeWeightAdditive=0,this.useCount=0,this.referenceCount=0}accumulate(e,t){let n=this.buffer,r=this.valueSize,i=e*r+r,a=this.cumulativeWeight;if(a===0){for(let e=0;e!==r;++e)n[i+e]=n[e];a=t}else{a+=t;let e=t/a;this._mixBufferRegion(n,i,0,e,r)}this.cumulativeWeight=a}accumulateAdditive(e){let t=this.buffer,n=this.valueSize,r=n*this._addIndex;this.cumulativeWeightAdditive===0&&this._setIdentity(),this._mixBufferRegionAdditive(t,r,0,e,n),this.cumulativeWeightAdditive+=e}apply(e){let t=this.valueSize,n=this.buffer,r=e*t+t,i=this.cumulativeWeight,a=this.cumulativeWeightAdditive,o=this.binding;if(this.cumulativeWeight=0,this.cumulativeWeightAdditive=0,i<1){let e=t*this._origIndex;this._mixBufferRegion(n,r,e,1-i,t)}a>0&&this._mixBufferRegionAdditive(n,r,this._addIndex*t,1,t);for(let e=t,i=t+t;e!==i;++e)if(n[e]!==n[e+t]){o.setValue(n,r);break}}saveOriginalState(){let e=this.binding,t=this.buffer,n=this.valueSize,r=n*this._origIndex;e.getValue(t,r);for(let e=n,i=r;e!==i;++e)t[e]=t[r+e%n];this._setIdentity(),this.cumulativeWeight=0,this.cumulativeWeightAdditive=0}restoreOriginalState(){let e=this.valueSize*3;this.binding.setValue(this.buffer,e)}_setAdditiveIdentityNumeric(){let e=this._addIndex*this.valueSize,t=e+this.valueSize;for(let n=e;n<t;n++)this.buffer[n]=0}_setAdditiveIdentityQuaternion(){this._setAdditiveIdentityNumeric(),this.buffer[this._addIndex*this.valueSize+3]=1}_setAdditiveIdentityOther(){let e=this._origIndex*this.valueSize,t=this._addIndex*this.valueSize;for(let n=0;n<this.valueSize;n++)this.buffer[t+n]=this.buffer[e+n]}_select(e,t,n,r,i){if(r>=.5)for(let r=0;r!==i;++r)e[t+r]=e[n+r]}_slerp(e,t,n,r){fo.slerpFlat(e,t,e,t,e,n,r)}_slerpAdditive(e,t,n,r,i){let a=this._workIndex*i;fo.multiplyQuaternionsFlat(e,a,e,t,e,n),fo.slerpFlat(e,t,e,t,e,a,r)}_lerp(e,t,n,r,i){let a=1-r;for(let o=0;o!==i;++o){let i=t+o;e[i]=e[i]*a+e[n+o]*r}}_lerpAdditive(e,t,n,r,i){for(let a=0;a!==i;++a){let i=t+a;e[i]=e[i]+e[n+a]*r}}},Jp=`\\[\\]\\.:\\/`,Yp=RegExp(`[\\[\\]\\.:\\/]`,`g`),Xp=`[^\\[\\]\\.:\\/]`,Zp=`[^`+Jp.replace(`\\.`,``)+`]`,Qp=`((?:WC+[\\/:])*)`.replace(`WC`,Xp),$p=`(WCOD+)?`.replace(`WCOD`,Zp),em=`(?:\\.(WC+)(?:\\[(.+)\\])?)?`.replace(`WC`,Xp),tm=`\\.(WC+)(?:\\[(.+)\\])?`.replace(`WC`,Xp),nm=RegExp(`^`+Qp+$p+em+tm+`$`),rm=[`material`,`materials`,`bones`,`map`],im=class{constructor(e,t,n){let r=n||am.parseTrackName(t);this._targetGroup=e,this._bindings=e.subscribe_(t,r)}getValue(e,t){this.bind();let n=this._targetGroup.nCachedObjects_,r=this._bindings[n];r!==void 0&&r.getValue(e,t)}setValue(e,t){let n=this._bindings;for(let r=this._targetGroup.nCachedObjects_,i=n.length;r!==i;++r)n[r].setValue(e,t)}bind(){let e=this._bindings;for(let t=this._targetGroup.nCachedObjects_,n=e.length;t!==n;++t)e[t].bind()}unbind(){let e=this._bindings;for(let t=this._targetGroup.nCachedObjects_,n=e.length;t!==n;++t)e[t].unbind()}},am=class e{constructor(t,n,r){this.path=n,this.parsedPath=r||e.parseTrackName(n),this.node=e.findNode(t,this.parsedPath.nodeName),this.rootNode=t,this.getValue=this._getValue_unbound,this.setValue=this._setValue_unbound}static create(t,n,r){return t&&t.isAnimationObjectGroup?new e.Composite(t,n,r):new e(t,n,r)}static sanitizeNodeName(e){return e.replace(/\s/g,`_`).replace(Yp,``)}static parseTrackName(e){let t=nm.exec(e);if(t===null)throw Error(`PropertyBinding: Cannot parse trackName: `+e);let n={nodeName:t[2],objectName:t[3],objectIndex:t[4],propertyName:t[5],propertyIndex:t[6]},r=n.nodeName&&n.nodeName.lastIndexOf(`.`);if(r!==void 0&&r!==-1){let e=n.nodeName.substring(r+1);rm.indexOf(e)!==-1&&(n.nodeName=n.nodeName.substring(0,r),n.objectName=e)}if(n.propertyName===null||n.propertyName.length===0)throw Error(`PropertyBinding: can not parse propertyName from trackName: `+e);return n}static findNode(e,t){if(t===void 0||t===``||t===`.`||t===-1||t===e.name||t===e.uuid)return e;if(e.skeleton){let n=e.skeleton.getBoneByName(t);if(n!==void 0)return n}if(e.children){let n=function(e){for(let r=0;r<e.length;r++){let i=e[r];if(i.name===t||i.uuid===t)return i;let a=n(i.children);if(a)return a}return null},r=n(e.children);if(r)return r}return null}_getValue_unavailable(){}_setValue_unavailable(){}_getValue_direct(e,t){e[t]=this.targetObject[this.propertyName]}_getValue_array(e,t){let n=this.resolvedProperty;for(let r=0,i=n.length;r!==i;++r)e[t++]=n[r]}_getValue_arrayElement(e,t){e[t]=this.resolvedProperty[this.propertyIndex]}_getValue_toArray(e,t){this.resolvedProperty.toArray(e,t)}_setValue_direct(e,t){this.targetObject[this.propertyName]=e[t]}_setValue_direct_setNeedsUpdate(e,t){this.targetObject[this.propertyName]=e[t],this.targetObject.needsUpdate=!0}_setValue_direct_setMatrixWorldNeedsUpdate(e,t){this.targetObject[this.propertyName]=e[t],this.targetObject.matrixWorldNeedsUpdate=!0}_setValue_array(e,t){let n=this.resolvedProperty;for(let r=0,i=n.length;r!==i;++r)n[r]=e[t++]}_setValue_array_setNeedsUpdate(e,t){let n=this.resolvedProperty;for(let r=0,i=n.length;r!==i;++r)n[r]=e[t++];this.targetObject.needsUpdate=!0}_setValue_array_setMatrixWorldNeedsUpdate(e,t){let n=this.resolvedProperty;for(let r=0,i=n.length;r!==i;++r)n[r]=e[t++];this.targetObject.matrixWorldNeedsUpdate=!0}_setValue_arrayElement(e,t){this.resolvedProperty[this.propertyIndex]=e[t]}_setValue_arrayElement_setNeedsUpdate(e,t){this.resolvedProperty[this.propertyIndex]=e[t],this.targetObject.needsUpdate=!0}_setValue_arrayElement_setMatrixWorldNeedsUpdate(e,t){this.resolvedProperty[this.propertyIndex]=e[t],this.targetObject.matrixWorldNeedsUpdate=!0}_setValue_fromArray(e,t){this.resolvedProperty.fromArray(e,t)}_setValue_fromArray_setNeedsUpdate(e,t){this.resolvedProperty.fromArray(e,t),this.targetObject.needsUpdate=!0}_setValue_fromArray_setMatrixWorldNeedsUpdate(e,t){this.resolvedProperty.fromArray(e,t),this.targetObject.matrixWorldNeedsUpdate=!0}_getValue_unbound(e,t){this.bind(),this.getValue(e,t)}_setValue_unbound(e,t){this.bind(),this.setValue(e,t)}bind(){let t=this.node,n=this.parsedPath,r=n.objectName,i=n.propertyName,a=n.propertyIndex;if(t||(t=e.findNode(this.rootNode,n.nodeName),this.node=t),this.getValue=this._getValue_unavailable,this.setValue=this._setValue_unavailable,!t){console.warn(`THREE.PropertyBinding: No target node found for track: `+this.path+`.`);return}if(r){let e=n.objectIndex;switch(r){case`materials`:if(!t.material){console.error(`THREE.PropertyBinding: Can not bind to material as node does not have a material.`,this);return}if(!t.material.materials){console.error(`THREE.PropertyBinding: Can not bind to material.materials as node.material does not have a materials array.`,this);return}t=t.material.materials;break;case`bones`:if(!t.skeleton){console.error(`THREE.PropertyBinding: Can not bind to bones as node does not have a skeleton.`,this);return}t=t.skeleton.bones;for(let n=0;n<t.length;n++)if(t[n].name===e){e=n;break}break;case`map`:if(`map`in t){t=t.map;break}if(!t.material){console.error(`THREE.PropertyBinding: Can not bind to material as node does not have a material.`,this);return}if(!t.material.map){console.error(`THREE.PropertyBinding: Can not bind to material.map as node.material does not have a map.`,this);return}t=t.material.map;break;default:if(t[r]===void 0){console.error(`THREE.PropertyBinding: Can not bind to objectName of node undefined.`,this);return}t=t[r]}if(e!==void 0){if(t[e]===void 0){console.error(`THREE.PropertyBinding: Trying to bind to objectIndex of objectName, but is undefined.`,this,t);return}t=t[e]}}let o=t[i];if(o===void 0){let e=n.nodeName;console.error(`THREE.PropertyBinding: Trying to update property for track: `+e+`.`+i+` but it wasn't found.`,t);return}let s=this.Versioning.None;this.targetObject=t,t.needsUpdate===void 0?t.matrixWorldNeedsUpdate!==void 0&&(s=this.Versioning.MatrixWorldNeedsUpdate):s=this.Versioning.NeedsUpdate;let c=this.BindingType.Direct;if(a!==void 0){if(i===`morphTargetInfluences`){if(!t.geometry){console.error(`THREE.PropertyBinding: Can not bind to morphTargetInfluences because node does not have a geometry.`,this);return}if(!t.geometry.morphAttributes){console.error(`THREE.PropertyBinding: Can not bind to morphTargetInfluences because node does not have a geometry.morphAttributes.`,this);return}t.morphTargetDictionary[a]!==void 0&&(a=t.morphTargetDictionary[a])}c=this.BindingType.ArrayElement,this.resolvedProperty=o,this.propertyIndex=a}else o.fromArray!==void 0&&o.toArray!==void 0?(c=this.BindingType.HasFromToArray,this.resolvedProperty=o):Array.isArray(o)?(c=this.BindingType.EntireArray,this.resolvedProperty=o):this.propertyName=i;this.getValue=this.GetterByBindingType[c],this.setValue=this.SetterByBindingTypeAndVersioning[c][s]}unbind(){this.node=null,this.getValue=this._getValue_unbound,this.setValue=this._setValue_unbound}},am.Composite=im,am.prototype.BindingType={Direct:0,EntireArray:1,ArrayElement:2,HasFromToArray:3},am.prototype.Versioning={None:0,NeedsUpdate:1,MatrixWorldNeedsUpdate:2},am.prototype.GetterByBindingType=[am.prototype._getValue_direct,am.prototype._getValue_array,am.prototype._getValue_arrayElement,am.prototype._getValue_toArray],am.prototype.SetterByBindingTypeAndVersioning=[[am.prototype._setValue_direct,am.prototype._setValue_direct_setNeedsUpdate,am.prototype._setValue_direct_setMatrixWorldNeedsUpdate],[am.prototype._setValue_array,am.prototype._setValue_array_setNeedsUpdate,am.prototype._setValue_array_setMatrixWorldNeedsUpdate],[am.prototype._setValue_arrayElement,am.prototype._setValue_arrayElement_setNeedsUpdate,am.prototype._setValue_arrayElement_setMatrixWorldNeedsUpdate],[am.prototype._setValue_fromArray,am.prototype._setValue_fromArray_setNeedsUpdate,am.prototype._setValue_fromArray_setMatrixWorldNeedsUpdate]],om=class{constructor(){this.isAnimationObjectGroup=!0,this.uuid=o(),this._objects=Array.prototype.slice.call(arguments),this.nCachedObjects_=0;let e={};this._indicesByUUID=e;for(let t=0,n=arguments.length;t!==n;++t)e[arguments[t].uuid]=t;this._paths=[],this._parsedPaths=[],this._bindings=[],this._bindingsIndicesByPath={};let t=this;this.stats={objects:{get total(){return t._objects.length},get inUse(){return this.total-t.nCachedObjects_}},get bindingsPerObject(){return t._bindings.length}}}add(){let e=this._objects,t=this._indicesByUUID,n=this._paths,r=this._parsedPaths,i=this._bindings,a=i.length,o,s=e.length,c=this.nCachedObjects_;for(let l=0,u=arguments.length;l!==u;++l){let u=arguments[l],d=u.uuid,f=t[d];if(f===void 0){f=s++,t[d]=f,e.push(u);for(let e=0,t=a;e!==t;++e)i[e].push(new am(u,n[e],r[e]))}else if(f<c){o=e[f];let s=--c,l=e[s];t[l.uuid]=f,e[f]=l,t[d]=s,e[s]=u;for(let e=0,t=a;e!==t;++e){let t=i[e],a=t[s],o=t[f];t[f]=a,o===void 0&&(o=new am(u,n[e],r[e])),t[s]=o}}else e[f]!==o&&console.error(`THREE.AnimationObjectGroup: Different objects with the same UUID detected. Clean the caches or recreate your infrastructure when reloading scenes.`)}this.nCachedObjects_=c}remove(){let e=this._objects,t=this._indicesByUUID,n=this._bindings,r=n.length,i=this.nCachedObjects_;for(let a=0,o=arguments.length;a!==o;++a){let o=arguments[a],s=o.uuid,c=t[s];if(c!==void 0&&c>=i){let a=i++,l=e[a];t[l.uuid]=c,e[c]=l,t[s]=a,e[a]=o;for(let e=0,t=r;e!==t;++e){let t=n[e],r=t[a],i=t[c];t[c]=r,t[a]=i}}}this.nCachedObjects_=i}uncache(){let e=this._objects,t=this._indicesByUUID,n=this._bindings,r=n.length,i=this.nCachedObjects_,a=e.length;for(let o=0,s=arguments.length;o!==s;++o){let s=arguments[o].uuid,c=t[s];if(c!==void 0){if(delete t[s],c<i){let o=--i,s=e[o],l=--a,u=e[l];t[s.uuid]=c,e[c]=s,t[u.uuid]=o,e[o]=u,e.pop();for(let e=0,t=r;e!==t;++e){let t=n[e],r=t[o],i=t[l];t[c]=r,t[o]=i,t.pop()}}else{let i=--a,o=e[i];i>0&&(t[o.uuid]=c),e[c]=o,e.pop();for(let e=0,t=r;e!==t;++e){let t=n[e];t[c]=t[i],t.pop()}}}}this.nCachedObjects_=i}subscribe_(e,t){let n=this._bindingsIndicesByPath,r=n[e],i=this._bindings;if(r!==void 0)return i[r];let a=this._paths,o=this._parsedPaths,s=this._objects,c=s.length,l=this.nCachedObjects_,u=Array(c);r=i.length,n[e]=r,a.push(e),o.push(t),i.push(u);for(let n=l,r=s.length;n!==r;++n){let r=s[n];u[n]=new am(r,e,t)}return u}unsubscribe_(e){let t=this._bindingsIndicesByPath,n=t[e];if(n!==void 0){let r=this._paths,i=this._parsedPaths,a=this._bindings,o=a.length-1,s=a[o],c=e[o];t[c]=n,a[n]=s,a.pop(),i[n]=i[o],i.pop(),r[n]=r[o],r.pop()}}},sm=class{constructor(e,t,n=null,r=t.blendMode){this._mixer=e,this._clip=t,this._localRoot=n,this.blendMode=r;let i=t.tracks,a=i.length,o=Array(a),s={endingStart:ra,endingEnd:ra};for(let e=0;e!==a;++e){let t=i[e].createInterpolant(null);o[e]=t,t.settings=s}this._interpolantSettings=s,this._interpolants=o,this._propertyBindings=Array(a),this._cacheIndex=null,this._byClipCacheIndex=null,this._timeScaleInterpolant=null,this._weightInterpolant=null,this.loop=Qi,this._loopCount=-1,this._startTime=null,this.time=0,this.timeScale=1,this._effectiveTimeScale=1,this.weight=1,this._effectiveWeight=1,this.repetitions=1/0,this.paused=!1,this.enabled=!0,this.clampWhenFinished=!1,this.zeroSlopeAtStart=!0,this.zeroSlopeAtEnd=!0}play(){return this._mixer._activateAction(this),this}stop(){return this._mixer._deactivateAction(this),this.reset()}reset(){return this.paused=!1,this.enabled=!0,this.time=0,this._loopCount=-1,this._startTime=null,this.stopFading().stopWarping()}isRunning(){return this.enabled&&!this.paused&&this.timeScale!==0&&this._startTime===null&&this._mixer._isActiveAction(this)}isScheduled(){return this._mixer._isActiveAction(this)}startAt(e){return this._startTime=e,this}setLoop(e,t){return this.loop=e,this.repetitions=t,this}setEffectiveWeight(e){return this.weight=e,this._effectiveWeight=this.enabled?e:0,this.stopFading()}getEffectiveWeight(){return this._effectiveWeight}fadeIn(e){return this._scheduleFading(e,0,1)}fadeOut(e){return this._scheduleFading(e,1,0)}crossFadeFrom(e,t,n){if(e.fadeOut(t),this.fadeIn(t),n){let n=this._clip.duration,r=e._clip.duration,i=r/n,a=n/r;e.warp(1,i,t),this.warp(a,1,t)}return this}crossFadeTo(e,t,n){return e.crossFadeFrom(this,t,n)}stopFading(){let e=this._weightInterpolant;return e!==null&&(this._weightInterpolant=null,this._mixer._takeBackControlInterpolant(e)),this}setEffectiveTimeScale(e){return this.timeScale=e,this._effectiveTimeScale=this.paused?0:e,this.stopWarping()}getEffectiveTimeScale(){return this._effectiveTimeScale}setDuration(e){return this.timeScale=this._clip.duration/e,this.stopWarping()}syncWith(e){return this.time=e.time,this.timeScale=e.timeScale,this.stopWarping()}halt(e){return this.warp(this._effectiveTimeScale,0,e)}warp(e,t,n){let r=this._mixer,i=r.time,a=this.timeScale,o=this._timeScaleInterpolant;o===null&&(o=r._lendControlInterpolant(),this._timeScaleInterpolant=o);let s=o.parameterPositions,c=o.sampleValues;return s[0]=i,s[1]=i+n,c[0]=e/a,c[1]=t/a,this}stopWarping(){let e=this._timeScaleInterpolant;return e!==null&&(this._timeScaleInterpolant=null,this._mixer._takeBackControlInterpolant(e)),this}getMixer(){return this._mixer}getClip(){return this._clip}getRoot(){return this._localRoot||this._mixer._root}_update(e,t,n,r){if(!this.enabled){this._updateWeight(e);return}let i=this._startTime;if(i!==null){let r=(e-i)*n;r<0||n===0?t=0:(this._startTime=null,t=n*r)}t*=this._updateTimeScale(e);let a=this._updateTime(t),o=this._updateWeight(e);if(o>0){let e=this._interpolants,t=this._propertyBindings;switch(this.blendMode){case sa:for(let n=0,r=e.length;n!==r;++n)e[n].evaluate(a),t[n].accumulateAdditive(o);break;case oa:default:for(let n=0,i=e.length;n!==i;++n)e[n].evaluate(a),t[n].accumulate(r,o)}}}_updateWeight(e){let t=0;if(this.enabled){t=this.weight;let n=this._weightInterpolant;if(n!==null){let r=n.evaluate(e)[0];t*=r,e>n.parameterPositions[1]&&(this.stopFading(),r===0&&(this.enabled=!1))}}return this._effectiveWeight=t,t}_updateTimeScale(e){let t=0;if(!this.paused){t=this.timeScale;let n=this._timeScaleInterpolant;if(n!==null){let r=n.evaluate(e)[0];t*=r,e>n.parameterPositions[1]&&(this.stopWarping(),t===0?this.paused=!0:this.timeScale=t)}}return this._effectiveTimeScale=t,t}_updateTime(e){let t=this._clip.duration,n=this.loop,r=this.time+e,i=this._loopCount,a=n===$i;if(e===0)return i===-1?r:a&&(i&1)==1?t-r:r;if(n===2200){i===-1&&(this._loopCount=0,this._setEndings(!0,!0,!1));handle_stop:{if(r>=t)r=t;else if(r<0)r=0;else{this.time=r;break handle_stop}this.clampWhenFinished?this.paused=!0:this.enabled=!1,this.time=r,this._mixer.dispatchEvent({type:`finished`,action:this,direction:e<0?-1:1})}}else{if(i===-1&&(e>=0?(i=0,this._setEndings(!0,this.repetitions===0,a)):this._setEndings(this.repetitions===0,!0,a)),r>=t||r<0){let n=Math.floor(r/t);r-=t*n,i+=Math.abs(n);let o=this.repetitions-i;if(o<=0)this.clampWhenFinished?this.paused=!0:this.enabled=!1,r=e>0?t:0,this.time=r,this._mixer.dispatchEvent({type:`finished`,action:this,direction:e>0?1:-1});else{if(o===1){let t=e<0;this._setEndings(t,!t,a)}else this._setEndings(!1,!1,a);this._loopCount=i,this.time=r,this._mixer.dispatchEvent({type:`loop`,action:this,loopDelta:n})}}else this.time=r;if(a&&(i&1)==1)return t-r}return r}_setEndings(e,t,n){let r=this._interpolantSettings;n?(r.endingStart=ia,r.endingEnd=ia):(r.endingStart=e?this.zeroSlopeAtStart?ia:ra:aa,r.endingEnd=t?this.zeroSlopeAtEnd?ia:ra:aa)}_scheduleFading(e,t,n){let r=this._mixer,i=r.time,a=this._weightInterpolant;a===null&&(a=r._lendControlInterpolant(),this._weightInterpolant=a);let o=a.parameterPositions,s=a.sampleValues;return o[0]=i,s[0]=t,o[1]=i+e,s[1]=n,this}},cm=new Float32Array(1),lm=class extends Ra{constructor(e){super(),this._root=e,this._initMemoryManager(),this._accuIndex=0,this.time=0,this.timeScale=1}_bindAction(e,t){let n=e._localRoot||this._root,r=e._clip.tracks,i=r.length,a=e._propertyBindings,o=e._interpolants,s=n.uuid,c=this._bindingsByRootAndName,l=c[s];l===void 0&&(l={},c[s]=l);for(let e=0;e!==i;++e){let i=r[e],c=i.name,u=l[c];if(u!==void 0)++u.referenceCount,a[e]=u;else{if(u=a[e],u!==void 0){u._cacheIndex===null&&(++u.referenceCount,this._addInactiveBinding(u,s,c));continue}let r=t&&t._propertyBindings[e].binding.parsedPath;u=new qp(am.create(n,c,r),i.ValueTypeName,i.getValueSize()),++u.referenceCount,this._addInactiveBinding(u,s,c),a[e]=u}o[e].resultBuffer=u.buffer}}_activateAction(e){if(!this._isActiveAction(e)){if(e._cacheIndex===null){let t=(e._localRoot||this._root).uuid,n=e._clip.uuid,r=this._actionsByClip[n];this._bindAction(e,r&&r.knownActions[0]),this._addInactiveAction(e,n,t)}let t=e._propertyBindings;for(let e=0,n=t.length;e!==n;++e){let n=t[e];n.useCount++===0&&(this._lendBinding(n),n.saveOriginalState())}this._lendAction(e)}}_deactivateAction(e){if(this._isActiveAction(e)){let t=e._propertyBindings;for(let e=0,n=t.length;e!==n;++e){let n=t[e];--n.useCount===0&&(n.restoreOriginalState(),this._takeBackBinding(n))}this._takeBackAction(e)}}_initMemoryManager(){this._actions=[],this._nActiveActions=0,this._actionsByClip={},this._bindings=[],this._nActiveBindings=0,this._bindingsByRootAndName={},this._controlInterpolants=[],this._nActiveControlInterpolants=0;let e=this;this.stats={actions:{get total(){return e._actions.length},get inUse(){return e._nActiveActions}},bindings:{get total(){return e._bindings.length},get inUse(){return e._nActiveBindings}},controlInterpolants:{get total(){return e._controlInterpolants.length},get inUse(){return e._nActiveControlInterpolants}}}}_isActiveAction(e){let t=e._cacheIndex;return t!==null&&t<this._nActiveActions}_addInactiveAction(e,t,n){let r=this._actions,i=this._actionsByClip,a=i[t];if(a===void 0)a={knownActions:[e],actionByRoot:{}},e._byClipCacheIndex=0,i[t]=a;else{let t=a.knownActions;e._byClipCacheIndex=t.length,t.push(e)}e._cacheIndex=r.length,r.push(e),a.actionByRoot[n]=e}_removeInactiveAction(e){let t=this._actions,n=t[t.length-1],r=e._cacheIndex;n._cacheIndex=r,t[r]=n,t.pop(),e._cacheIndex=null;let i=e._clip.uuid,a=this._actionsByClip,o=a[i],s=o.knownActions,c=s[s.length-1],l=e._byClipCacheIndex;c._byClipCacheIndex=l,s[l]=c,s.pop(),e._byClipCacheIndex=null;let u=o.actionByRoot,d=(e._localRoot||this._root).uuid;delete u[d],s.length===0&&delete a[i],this._removeInactiveBindingsForAction(e)}_removeInactiveBindingsForAction(e){let t=e._propertyBindings;for(let e=0,n=t.length;e!==n;++e){let n=t[e];--n.referenceCount===0&&this._removeInactiveBinding(n)}}_lendAction(e){let t=this._actions,n=e._cacheIndex,r=this._nActiveActions++,i=t[r];e._cacheIndex=r,t[r]=e,i._cacheIndex=n,t[n]=i}_takeBackAction(e){let t=this._actions,n=e._cacheIndex,r=--this._nActiveActions,i=t[r];e._cacheIndex=r,t[r]=e,i._cacheIndex=n,t[n]=i}_addInactiveBinding(e,t,n){let r=this._bindingsByRootAndName,i=this._bindings,a=r[t];a===void 0&&(a={},r[t]=a),a[n]=e,e._cacheIndex=i.length,i.push(e)}_removeInactiveBinding(e){let t=this._bindings,n=e.binding,r=n.rootNode.uuid,i=n.path,a=this._bindingsByRootAndName,o=a[r],s=t[t.length-1],c=e._cacheIndex;s._cacheIndex=c,t[c]=s,t.pop(),delete o[i],Object.keys(o).length===0&&delete a[r]}_lendBinding(e){let t=this._bindings,n=e._cacheIndex,r=this._nActiveBindings++,i=t[r];e._cacheIndex=r,t[r]=e,i._cacheIndex=n,t[n]=i}_takeBackBinding(e){let t=this._bindings,n=e._cacheIndex,r=--this._nActiveBindings,i=t[r];e._cacheIndex=r,t[r]=e,i._cacheIndex=n,t[n]=i}_lendControlInterpolant(){let e=this._controlInterpolants,t=this._nActiveControlInterpolants++,n=e[t];return n===void 0&&(n=new kf(new Float32Array(2),new Float32Array(2),1,cm),n.__cacheIndex=t,e[t]=n),n}_takeBackControlInterpolant(e){let t=this._controlInterpolants,n=e.__cacheIndex,r=--this._nActiveControlInterpolants,i=t[r];e.__cacheIndex=r,t[r]=e,i.__cacheIndex=n,t[n]=i}clipAction(e,t,n){let r=t||this._root,i=r.uuid,a=typeof e==`string`?zf.findByName(r,e):e,o=a===null?e:a.uuid,s=this._actionsByClip[o],c=null;if(n===void 0&&(n=a===null?oa:a.blendMode),s!==void 0){let e=s.actionByRoot[i];if(e!==void 0&&e.blendMode===n)return e;c=s.knownActions[0],a===null&&(a=c._clip)}if(a===null)return null;let l=new sm(this,a,t,n);return this._bindAction(l,c),this._addInactiveAction(l,o,i),l}existingAction(e,t){let n=t||this._root,r=n.uuid,i=typeof e==`string`?zf.findByName(n,e):e,a=i?i.uuid:e,o=this._actionsByClip[a];return o===void 0?null:o.actionByRoot[r]||null}stopAllAction(){let e=this._actions,t=this._nActiveActions;for(let n=t-1;n>=0;--n)e[n].stop();return this}update(e){e*=this.timeScale;let t=this._actions,n=this._nActiveActions,r=this.time+=e,i=Math.sign(e),a=this._accuIndex^=1;for(let o=0;o!==n;++o)t[o]._update(r,e,i,a);let o=this._bindings,s=this._nActiveBindings;for(let e=0;e!==s;++e)o[e].apply(a);return this}setTime(e){this.time=0;for(let e=0;e<this._actions.length;e++)this._actions[e].time=0;return this.update(e)}getRoot(){return this._root}uncacheClip(e){let t=this._actions,n=e.uuid,r=this._actionsByClip,i=r[n];if(i!==void 0){let e=i.knownActions;for(let n=0,r=e.length;n!==r;++n){let r=e[n];this._deactivateAction(r);let i=r._cacheIndex,a=t[t.length-1];r._cacheIndex=null,r._byClipCacheIndex=null,a._cacheIndex=i,t[i]=a,t.pop(),this._removeInactiveBindingsForAction(r)}delete r[n]}}uncacheRoot(e){let t=e.uuid,n=this._actionsByClip;for(let e in n){let r=n[e].actionByRoot[t];r!==void 0&&(this._deactivateAction(r),this._removeInactiveAction(r))}let r=this._bindingsByRootAndName[t];if(r!==void 0)for(let e in r){let t=r[e];t.restoreOriginalState(),this._removeInactiveBinding(t)}}uncacheAction(e,t){let n=this.existingAction(e,t);n!==null&&(this._deactivateAction(n),this._removeInactiveAction(n))}},um=class e{constructor(e){this.value=e}clone(){return new e(this.value.clone===void 0?this.value:this.value.clone())}},dm=0,fm=class extends Ra{constructor(){super(),this.isUniformsGroup=!0,Object.defineProperty(this,"id",{value:dm++}),this.name=``,this.usage=Ea,this.uniforms=[]}add(e){return this.uniforms.push(e),this}remove(e){let t=this.uniforms.indexOf(e);return t!==-1&&this.uniforms.splice(t,1),this}setName(e){return this.name=e,this}setUsage(e){return this.usage=e,this}dispose(){return this.dispatchEvent({type:`dispose`}),this}copy(e){this.name=e.name,this.usage=e.usage;let t=e.uniforms;this.uniforms.length=0;for(let e=0,n=t.length;e<n;e++){let n=Array.isArray(t[e])?t[e]:[t[e]];for(let e=0;e<n.length;e++)this.uniforms.push(n[e].clone())}return this}clone(){return new this.constructor().copy(this)}},pm=class extends Gl{constructor(e,t,n=1){super(e,t),this.isInstancedInterleavedBuffer=!0,this.meshPerAttribute=n}copy(e){return super.copy(e),this.meshPerAttribute=e.meshPerAttribute,this}clone(e){let t=super.clone(e);return t.meshPerAttribute=this.meshPerAttribute,t}toJSON(e){let t=super.toJSON(e);return t.isInstancedInterleavedBuffer=!0,t.meshPerAttribute=this.meshPerAttribute,t}},mm=class{constructor(e,t,n,r,i){this.isGLBufferAttribute=!0,this.name=``,this.buffer=e,this.type=t,this.itemSize=n,this.elementSize=r,this.count=i,this.version=0}set needsUpdate(e){e===!0&&this.version++}setBuffer(e){return this.buffer=e,this}setType(e,t){return this.type=e,this.elementSize=t,this}setItemSize(e){return this.itemSize=e,this}setCount(e){return this.count=e,this}},hm=new U,gm=class{constructor(e,t,n=0,r=1/0){this.ray=new Bo(e,t),this.near=n,this.far=r,this.camera=null,this.layers=new Zo,this.params={Mesh:{},Line:{threshold:1},LOD:{},Points:{threshold:1},Sprite:{}}}set(e,t){this.ray.set(e,t)}setFromCamera(e,t){t.isPerspectiveCamera?(this.ray.origin.setFromMatrixPosition(t.matrixWorld),this.ray.direction.set(e.x,e.y,.5).unproject(t).sub(this.ray.origin).normalize(),this.camera=t):t.isOrthographicCamera?(this.ray.origin.set(e.x,e.y,(t.near+t.far)/(t.near-t.far)).unproject(t),this.ray.direction.set(0,0,-1).transformDirection(t.matrixWorld),this.camera=t):console.error(`THREE.Raycaster: Unsupported camera type: `+t.type)}setFromXRController(e){return hm.identity().extractRotation(e.matrixWorld),this.ray.origin.setFromMatrixPosition(e.matrixWorld),this.ray.direction.set(0,0,-1).applyMatrix4(hm),this}intersectObject(e,t=!0,n=[]){return kr(e,this,n,t),n.sort(Or),n}intersectObjects(e,t=!0,n=[]){for(let r=0,i=e.length;r<i;r++)kr(e[r],this,n,t);return n.sort(Or),n}},_m=class{constructor(e=1,t=0,n=0){return this.radius=e,this.phi=t,this.theta=n,this}set(e,t,n){return this.radius=e,this.phi=t,this.theta=n,this}copy(e){return this.radius=e.radius,this.phi=e.phi,this.theta=e.theta,this}makeSafe(){let e=1e-6;return this.phi=Math.max(e,Math.min(Math.PI-e,this.phi)),this}setFromVector3(e){return this.setFromCartesianCoords(e.x,e.y,e.z)}setFromCartesianCoords(e,t,n){return this.radius=Math.sqrt(e*e+t*t+n*n),this.radius===0?(this.theta=0,this.phi=0):(this.theta=Math.atan2(e,n),this.phi=Math.acos(s(t/this.radius,-1,1))),this}clone(){return new this.constructor().copy(this)}},vm=class{constructor(e=1,t=0,n=0){return this.radius=e,this.theta=t,this.y=n,this}set(e,t,n){return this.radius=e,this.theta=t,this.y=n,this}copy(e){return this.radius=e.radius,this.theta=e.theta,this.y=e.y,this}setFromVector3(e){return this.setFromCartesianCoords(e.x,e.y,e.z)}setFromCartesianCoords(e,t,n){return this.radius=Math.sqrt(e*e+n*n),this.theta=Math.atan2(e,n),this.y=t,this}clone(){return new this.constructor().copy(this)}},ym=class e{constructor(t,n,r,i){e.prototype.isMatrix2=!0,this.elements=[1,0,0,1],t!==void 0&&this.set(t,n,r,i)}identity(){return this.set(1,0,0,1),this}fromArray(e,t=0){for(let n=0;n<4;n++)this.elements[n]=e[n+t];return this}set(e,t,n,r){let i=this.elements;return i[0]=e,i[2]=t,i[1]=n,i[3]=r,this}},bm=new B,xm=class{constructor(e=new B(1/0,1/0),t=new B(-1/0,-1/0)){this.isBox2=!0,this.min=e,this.max=t}set(e,t){return this.min.copy(e),this.max.copy(t),this}setFromPoints(e){this.makeEmpty();for(let t=0,n=e.length;t<n;t++)this.expandByPoint(e[t]);return this}setFromCenterAndSize(e,t){let n=bm.copy(t).multiplyScalar(.5);return this.min.copy(e).sub(n),this.max.copy(e).add(n),this}clone(){return new this.constructor().copy(this)}copy(e){return this.min.copy(e.min),this.max.copy(e.max),this}makeEmpty(){return this.min.x=this.min.y=1/0,this.max.x=this.max.y=-1/0,this}isEmpty(){return this.max.x<this.min.x||this.max.y<this.min.y}getCenter(e){return this.isEmpty()?e.set(0,0):e.addVectors(this.min,this.max).multiplyScalar(.5)}getSize(e){return this.isEmpty()?e.set(0,0):e.subVectors(this.max,this.min)}expandByPoint(e){return this.min.min(e),this.max.max(e),this}expandByVector(e){return this.min.sub(e),this.max.add(e),this}expandByScalar(e){return this.min.addScalar(-e),this.max.addScalar(e),this}containsPoint(e){return e.x>=this.min.x&&e.x<=this.max.x&&e.y>=this.min.y&&e.y<=this.max.y}containsBox(e){return this.min.x<=e.min.x&&e.max.x<=this.max.x&&this.min.y<=e.min.y&&e.max.y<=this.max.y}getParameter(e,t){return t.set((e.x-this.min.x)/(this.max.x-this.min.x),(e.y-this.min.y)/(this.max.y-this.min.y))}intersectsBox(e){return e.max.x>=this.min.x&&e.min.x<=this.max.x&&e.max.y>=this.min.y&&e.min.y<=this.max.y}clampPoint(e,t){return t.copy(e).clamp(this.min,this.max)}distanceToPoint(e){return this.clampPoint(e,bm).distanceTo(e)}intersect(e){return this.min.max(e.min),this.max.min(e.max),this.isEmpty()&&this.makeEmpty(),this}union(e){return this.min.min(e.min),this.max.max(e.max),this}translate(e){return this.min.add(e),this.max.add(e),this}equals(e){return e.min.equals(this.min)&&e.max.equals(this.max)}},Sm=new H,Cm=new H,wm=class{constructor(e=new H,t=new H){this.start=e,this.end=t}set(e,t){return this.start.copy(e),this.end.copy(t),this}copy(e){return this.start.copy(e.start),this.end.copy(e.end),this}getCenter(e){return e.addVectors(this.start,this.end).multiplyScalar(.5)}delta(e){return e.subVectors(this.end,this.start)}distanceSq(){return this.start.distanceToSquared(this.end)}distance(){return this.start.distanceTo(this.end)}at(e,t){return this.delta(t).multiplyScalar(e).add(this.start)}closestPointToPointParameter(e,t){Sm.subVectors(e,this.start),Cm.subVectors(this.end,this.start);let n=Cm.dot(Cm),r=Cm.dot(Sm)/n;return t&&(r=s(r,0,1)),r}closestPointToPoint(e,t,n){let r=this.closestPointToPointParameter(e,t);return this.delta(n).multiplyScalar(r).add(this.start)}applyMatrix4(e){return this.start.applyMatrix4(e),this.end.applyMatrix4(e),this}equals(e){return e.start.equals(this.start)&&e.end.equals(this.end)}clone(){return new this.constructor().copy(this)}},Tm=new H,Em=class extends ps{constructor(e,t){super(),this.light=e,this.matrixAutoUpdate=!1,this.color=t,this.type=`SpotLightHelper`;let n=new q,r=[0,0,0,0,0,1,0,0,0,1,0,1,0,0,0,-1,0,1,0,0,0,0,1,1,0,0,0,0,-1,1];for(let e=0,t=1;e<32;e++,t++){let n=e/32*Math.PI*2,i=t/32*Math.PI*2;r.push(Math.cos(n),Math.sin(n),1,Math.cos(i),Math.sin(i),1)}n.setAttribute(`position`,new K(r,3));let i=new Qu({fog:!1,toneMapped:!1});this.cone=new ld(n,i),this.add(this.cone),this.update()}dispose(){this.cone.geometry.dispose(),this.cone.material.dispose()}update(){this.light.updateWorldMatrix(!0,!1),this.light.target.updateWorldMatrix(!0,!1),this.parent?(this.parent.updateWorldMatrix(!0),this.matrix.copy(this.parent.matrixWorld).invert().multiply(this.light.matrixWorld)):this.matrix.copy(this.light.matrixWorld),this.matrixWorld.copy(this.light.matrixWorld);let e=this.light.distance?this.light.distance:1e3,t=e*Math.tan(this.light.angle);this.cone.scale.set(t,t,e),Tm.setFromMatrixPosition(this.light.target.matrixWorld),this.cone.lookAt(Tm),this.color===void 0?this.cone.material.color.copy(this.light.color):this.cone.material.color.set(this.color)}},Dm=new H,Om=new U,km=new U,Am=class extends ld{constructor(e){let t=Ar(e),n=new q,r=[],i=[],a=new W(0,0,1),o=new W(0,1,0);for(let e=0;e<t.length;e++){let n=t[e];n.parent&&n.parent.isBone&&(r.push(0,0,0),r.push(0,0,0),i.push(a.r,a.g,a.b),i.push(o.r,o.g,o.b))}n.setAttribute(`position`,new K(r,3)),n.setAttribute(`color`,new K(i,3));let s=new Qu({vertexColors:!0,depthTest:!1,depthWrite:!1,toneMapped:!1,transparent:!0});super(n,s),this.isSkeletonHelper=!0,this.type=`SkeletonHelper`,this.root=e,this.bones=t,this.matrix=e.matrixWorld,this.matrixAutoUpdate=!1}updateMatrixWorld(e){let t=this.bones,n=this.geometry,r=n.getAttribute(`position`);km.copy(this.root.matrixWorld).invert();for(let e=0,n=0;e<t.length;e++){let i=t[e];i.parent&&i.parent.isBone&&(Om.multiplyMatrices(km,i.matrixWorld),Dm.setFromMatrixPosition(Om),r.setXYZ(n,Dm.x,Dm.y,Dm.z),Om.multiplyMatrices(km,i.parent.matrixWorld),Dm.setFromMatrixPosition(Om),r.setXYZ(n+1,Dm.x,Dm.y,Dm.z),n+=2)}n.getAttribute(`position`).needsUpdate=!0,super.updateMatrixWorld(e)}dispose(){this.geometry.dispose(),this.material.dispose()}},jm=class extends dc{constructor(e,t,n){let r=new lf(t,4,2),i=new Ps({wireframe:!0,fog:!1,toneMapped:!1});super(r,i),this.light=e,this.color=n,this.type=`PointLightHelper`,this.matrix=this.light.matrixWorld,this.matrixAutoUpdate=!1,this.update()}dispose(){this.geometry.dispose(),this.material.dispose()}update(){this.light.updateWorldMatrix(!0,!1),this.color===void 0?this.material.color.copy(this.light.color):this.material.color.set(this.color)}},Mm=new H,Nm=new W,Pm=new W,Fm=class extends ps{constructor(e,t,n){super(),this.light=e,this.matrix=e.matrixWorld,this.matrixAutoUpdate=!1,this.color=n,this.type=`HemisphereLightHelper`;let r=new of(t);r.rotateY(Math.PI*.5),this.material=new Ps({wireframe:!0,fog:!1,toneMapped:!1}),this.color===void 0&&(this.material.vertexColors=!0);let i=r.getAttribute(`position`),a=new Float32Array(i.count*3);r.setAttribute(`color`,new G(a,3)),this.add(new dc(r,this.material)),this.update()}dispose(){this.children[0].geometry.dispose(),this.children[0].material.dispose()}update(){let e=this.children[0];if(this.color!==void 0)this.material.color.set(this.color);else{let t=e.geometry.getAttribute(`color`);Nm.copy(this.light.color),Pm.copy(this.light.groundColor);for(let e=0,n=t.count;e<n;e++){let r=e<n/2?Nm:Pm;t.setXYZ(e,r.r,r.g,r.b)}t.needsUpdate=!0}this.light.updateWorldMatrix(!0,!1),e.lookAt(Mm.setFromMatrixPosition(this.light.matrixWorld).negate())}},Im=class extends ld{constructor(e=10,t=10,n=4473924,r=8947848){n=new W(n),r=new W(r);let i=t/2,a=e/t,o=e/2,s=[],c=[];for(let e=0,l=0,u=-o;e<=t;e++,u+=a){s.push(-o,0,u,o,0,u),s.push(u,0,-o,u,0,o);let t=e===i?n:r;t.toArray(c,l),l+=3,t.toArray(c,l),l+=3,t.toArray(c,l),l+=3,t.toArray(c,l),l+=3}let l=new q;l.setAttribute(`position`,new K(s,3)),l.setAttribute(`color`,new K(c,3));let u=new Qu({vertexColors:!0,toneMapped:!1});super(l,u),this.type=`GridHelper`}dispose(){this.geometry.dispose(),this.material.dispose()}},Lm=class extends ld{constructor(e=10,t=16,n=8,r=64,i=4473924,a=8947848){i=new W(i),a=new W(a);let o=[],s=[];if(t>1)for(let n=0;n<t;n++){let r=n/t*(Math.PI*2),c=Math.sin(r)*e,l=Math.cos(r)*e;o.push(0,0,0),o.push(c,0,l);let u=n&1?i:a;s.push(u.r,u.g,u.b),s.push(u.r,u.g,u.b)}for(let t=0;t<n;t++){let c=t&1?i:a,l=e-e/n*t;for(let e=0;e<r;e++){let t=e/r*(Math.PI*2),n=Math.sin(t)*l,i=Math.cos(t)*l;o.push(n,0,i),s.push(c.r,c.g,c.b),t=(e+1)/r*(Math.PI*2),n=Math.sin(t)*l,i=Math.cos(t)*l,o.push(n,0,i),s.push(c.r,c.g,c.b)}}let c=new q;c.setAttribute(`position`,new K(o,3)),c.setAttribute(`color`,new K(s,3));let l=new Qu({vertexColors:!0,toneMapped:!1});super(c,l),this.type=`PolarGridHelper`}dispose(){this.geometry.dispose(),this.material.dispose()}},Rm=new H,zm=new H,Bm=new H,Vm=class extends ps{constructor(e,t,n){super(),this.light=e,this.matrix=e.matrixWorld,this.matrixAutoUpdate=!1,this.color=n,this.type=`DirectionalLightHelper`,t===void 0&&(t=1);let r=new q;r.setAttribute(`position`,new K([-t,t,0,t,t,0,t,-t,0,-t,-t,0,-t,t,0],3));let i=new Qu({fog:!1,toneMapped:!1});this.lightPlane=new od(r,i),this.add(this.lightPlane),r=new q,r.setAttribute(`position`,new K([0,0,0,0,0,1],3)),this.targetLine=new od(r,i),this.add(this.targetLine),this.update()}dispose(){this.lightPlane.geometry.dispose(),this.lightPlane.material.dispose(),this.targetLine.geometry.dispose(),this.targetLine.material.dispose()}update(){this.light.updateWorldMatrix(!0,!1),this.light.target.updateWorldMatrix(!0,!1),Rm.setFromMatrixPosition(this.light.matrixWorld),zm.setFromMatrixPosition(this.light.target.matrixWorld),Bm.subVectors(zm,Rm),this.lightPlane.lookAt(zm),this.color===void 0?(this.lightPlane.material.color.copy(this.light.color),this.targetLine.material.color.copy(this.light.color)):(this.lightPlane.material.color.set(this.color),this.targetLine.material.color.set(this.color)),this.targetLine.lookAt(zm),this.targetLine.scale.z=Bm.length()}},Hm=new H,Um=new _c,Wm=class extends ld{constructor(e){let t=new q,n=new Qu({color:16777215,vertexColors:!0,toneMapped:!1}),r=[],i=[],a={};o(`n1`,`n2`),o(`n2`,`n4`),o(`n4`,`n3`),o(`n3`,`n1`),o(`f1`,`f2`),o(`f2`,`f4`),o(`f4`,`f3`),o(`f3`,`f1`),o(`n1`,`f1`),o(`n2`,`f2`),o(`n3`,`f3`),o(`n4`,`f4`),o(`p`,`n1`),o(`p`,`n2`),o(`p`,`n3`),o(`p`,`n4`),o(`u1`,`u2`),o(`u2`,`u3`),o(`u3`,`u1`),o(`c`,`t`),o(`p`,`c`),o(`cn1`,`cn2`),o(`cn3`,`cn4`),o(`cf1`,`cf2`),o(`cf3`,`cf4`);function o(e,t){s(e),s(t)}function s(e){r.push(0,0,0),i.push(0,0,0),a[e]===void 0&&(a[e]=[]),a[e].push(r.length/3-1)}t.setAttribute(`position`,new K(r,3)),t.setAttribute(`color`,new K(i,3)),super(t,n),this.type=`CameraHelper`,this.camera=e,this.camera.updateProjectionMatrix&&this.camera.updateProjectionMatrix(),this.matrix=e.matrixWorld,this.matrixAutoUpdate=!1,this.pointMap=a,this.update();let c=new W(16755200),l=new W(16711680),u=new W(43775),d=new W(16777215),f=new W(3355443);this.setColors(c,l,u,d,f)}setColors(e,t,n,r,i){let a=this.geometry.getAttribute(`color`);a.setXYZ(0,e.r,e.g,e.b),a.setXYZ(1,e.r,e.g,e.b),a.setXYZ(2,e.r,e.g,e.b),a.setXYZ(3,e.r,e.g,e.b),a.setXYZ(4,e.r,e.g,e.b),a.setXYZ(5,e.r,e.g,e.b),a.setXYZ(6,e.r,e.g,e.b),a.setXYZ(7,e.r,e.g,e.b),a.setXYZ(8,e.r,e.g,e.b),a.setXYZ(9,e.r,e.g,e.b),a.setXYZ(10,e.r,e.g,e.b),a.setXYZ(11,e.r,e.g,e.b),a.setXYZ(12,e.r,e.g,e.b),a.setXYZ(13,e.r,e.g,e.b),a.setXYZ(14,e.r,e.g,e.b),a.setXYZ(15,e.r,e.g,e.b),a.setXYZ(16,e.r,e.g,e.b),a.setXYZ(17,e.r,e.g,e.b),a.setXYZ(18,e.r,e.g,e.b),a.setXYZ(19,e.r,e.g,e.b),a.setXYZ(20,e.r,e.g,e.b),a.setXYZ(21,e.r,e.g,e.b),a.setXYZ(22,e.r,e.g,e.b),a.setXYZ(23,e.r,e.g,e.b),a.setXYZ(24,t.r,t.g,t.b),a.setXYZ(25,t.r,t.g,t.b),a.setXYZ(26,t.r,t.g,t.b),a.setXYZ(27,t.r,t.g,t.b),a.setXYZ(28,t.r,t.g,t.b),a.setXYZ(29,t.r,t.g,t.b),a.setXYZ(30,t.r,t.g,t.b),a.setXYZ(31,t.r,t.g,t.b),a.setXYZ(32,n.r,n.g,n.b),a.setXYZ(33,n.r,n.g,n.b),a.setXYZ(34,n.r,n.g,n.b),a.setXYZ(35,n.r,n.g,n.b),a.setXYZ(36,n.r,n.g,n.b),a.setXYZ(37,n.r,n.g,n.b),a.setXYZ(38,r.r,r.g,r.b),a.setXYZ(39,r.r,r.g,r.b),a.setXYZ(40,i.r,i.g,i.b),a.setXYZ(41,i.r,i.g,i.b),a.setXYZ(42,i.r,i.g,i.b),a.setXYZ(43,i.r,i.g,i.b),a.setXYZ(44,i.r,i.g,i.b),a.setXYZ(45,i.r,i.g,i.b),a.setXYZ(46,i.r,i.g,i.b),a.setXYZ(47,i.r,i.g,i.b),a.setXYZ(48,i.r,i.g,i.b),a.setXYZ(49,i.r,i.g,i.b),a.needsUpdate=!0}update(){let e=this.geometry,t=this.pointMap;Um.projectionMatrixInverse.copy(this.camera.projectionMatrixInverse),jr(`c`,t,e,Um,0,0,-1),jr(`t`,t,e,Um,0,0,1),jr(`n1`,t,e,Um,-1,-1,-1),jr(`n2`,t,e,Um,1,-1,-1),jr(`n3`,t,e,Um,-1,1,-1),jr(`n4`,t,e,Um,1,1,-1),jr(`f1`,t,e,Um,-1,-1,1),jr(`f2`,t,e,Um,1,-1,1),jr(`f3`,t,e,Um,-1,1,1),jr(`f4`,t,e,Um,1,1,1),jr(`u1`,t,e,Um,.7,1.1,-1),jr(`u2`,t,e,Um,-.7,1.1,-1),jr(`u3`,t,e,Um,0,2,-1),jr(`cf1`,t,e,Um,-1,0,1),jr(`cf2`,t,e,Um,1,0,1),jr(`cf3`,t,e,Um,0,-1,1),jr(`cf4`,t,e,Um,0,1,1),jr(`cn1`,t,e,Um,-1,0,-1),jr(`cn2`,t,e,Um,1,0,-1),jr(`cn3`,t,e,Um,0,-1,-1),jr(`cn4`,t,e,Um,0,1,-1),e.getAttribute(`position`).needsUpdate=!0}dispose(){this.geometry.dispose(),this.material.dispose()}},Gm=new ho,Km=class extends ld{constructor(e,t=16776960){let n=new Uint16Array([0,1,1,2,2,3,3,0,4,5,5,6,6,7,7,4,0,4,1,5,2,6,3,7]),r=new Float32Array(24),i=new q;i.setIndex(new G(n,1)),i.setAttribute(`position`,new G(r,3)),super(i,new Qu({color:t,toneMapped:!1})),this.object=e,this.type=`BoxHelper`,this.matrixAutoUpdate=!1,this.update()}update(e){if(e!==void 0&&console.warn(`THREE.BoxHelper: .update() has no longer arguments.`),this.object!==void 0&&Gm.setFromObject(this.object),Gm.isEmpty())return;let t=Gm.min,n=Gm.max,r=this.geometry.attributes.position,i=r.array;i[0]=n.x,i[1]=n.y,i[2]=n.z,i[3]=t.x,i[4]=n.y,i[5]=n.z,i[6]=t.x,i[7]=t.y,i[8]=n.z,i[9]=n.x,i[10]=t.y,i[11]=n.z,i[12]=n.x,i[13]=n.y,i[14]=t.z,i[15]=t.x,i[16]=n.y,i[17]=t.z,i[18]=t.x,i[19]=t.y,i[20]=t.z,i[21]=n.x,i[22]=t.y,i[23]=t.z,r.needsUpdate=!0,this.geometry.computeBoundingSphere()}setFromObject(e){return this.object=e,this.update(),this}copy(e,t){return super.copy(e,t),this.object=e.object,this}dispose(){this.geometry.dispose(),this.material.dispose()}},qm=class extends ld{constructor(e,t=16776960){let n=new Uint16Array([0,1,1,2,2,3,3,0,4,5,5,6,6,7,7,4,0,4,1,5,2,6,3,7]),r=[1,1,1,-1,1,1,-1,-1,1,1,-1,1,1,1,-1,-1,1,-1,-1,-1,-1,1,-1,-1],i=new q;i.setIndex(new G(n,1)),i.setAttribute(`position`,new K(r,3)),super(i,new Qu({color:t,toneMapped:!1})),this.box=e,this.type=`Box3Helper`,this.geometry.computeBoundingSphere()}updateMatrixWorld(e){let t=this.box;t.isEmpty()||(t.getCenter(this.position),t.getSize(this.scale),this.scale.multiplyScalar(.5),super.updateMatrixWorld(e))}dispose(){this.geometry.dispose(),this.material.dispose()}},Jm=class extends od{constructor(e,t=1,n=16776960){let r=n,i=[1,-1,0,-1,1,0,-1,-1,0,1,1,0,-1,1,0,-1,-1,0,1,-1,0,1,1,0],a=new q;a.setAttribute(`position`,new K(i,3)),a.computeBoundingSphere(),super(a,new Qu({color:r,toneMapped:!1})),this.type=`PlaneHelper`,this.plane=e,this.size=t;let o=[1,1,0,-1,1,0,-1,-1,0,1,1,0,-1,-1,0,1,-1,0],s=new q;s.setAttribute(`position`,new K(o,3)),s.computeBoundingSphere(),this.add(new dc(s,new Ps({color:r,opacity:.2,transparent:!0,depthWrite:!1,toneMapped:!1})))}updateMatrixWorld(e){this.position.set(0,0,0),this.scale.set(.5*this.size,.5*this.size,1),this.lookAt(this.plane.normal),this.translateZ(-this.plane.constant),super.updateMatrixWorld(e)}dispose(){this.geometry.dispose(),this.material.dispose(),this.children[0].geometry.dispose(),this.children[0].material.dispose()}},Ym=new H,Qm=class extends ps{constructor(e=new H(0,0,1),t=new H(0,0,0),n=1,r=16776960,i=n*.2,a=i*.2){super(),this.type=`ArrowHelper`,Xm===void 0&&(Xm=new q,Xm.setAttribute(`position`,new K([0,0,0,0,1,0],3)),Zm=new Wd(0,.5,1,5,1),Zm.translate(0,-.5,0)),this.position.copy(t),this.line=new od(Xm,new Qu({color:r,toneMapped:!1})),this.line.matrixAutoUpdate=!1,this.add(this.line),this.cone=new dc(Zm,new Ps({color:r,toneMapped:!1})),this.cone.matrixAutoUpdate=!1,this.add(this.cone),this.setDirection(e),this.setLength(n,i,a)}setDirection(e){if(e.y>.99999)this.quaternion.set(0,0,0,1);else if(e.y<-.99999)this.quaternion.set(1,0,0,0);else{Ym.set(e.z,0,-e.x).normalize();let t=Math.acos(e.y);this.quaternion.setFromAxisAngle(Ym,t)}}setLength(e,t=e*.2,n=t*.2){this.line.scale.set(1,Math.max(1e-4,e-t),1),this.line.updateMatrix(),this.cone.scale.set(n,t,n),this.cone.position.y=e,this.cone.updateMatrix()}setColor(e){this.line.material.color.set(e),this.cone.material.color.set(e)}copy(e){return super.copy(e,!1),this.line.copy(e.line),this.cone.copy(e.cone),this}dispose(){this.line.geometry.dispose(),this.line.material.dispose(),this.cone.geometry.dispose(),this.cone.material.dispose()}},$m=class extends ld{constructor(e=1){let t=[0,0,0,e,0,0,0,0,0,0,e,0,0,0,0,0,0,e],n=[1,0,0,1,.6,0,0,1,0,.6,1,0,0,0,1,0,.6,1],r=new q;r.setAttribute(`position`,new K(t,3)),r.setAttribute(`color`,new K(n,3));let i=new Qu({vertexColors:!0,toneMapped:!1});super(r,i),this.type=`AxesHelper`}setColors(e,t,n){let r=new W,i=this.geometry.attributes.color.array;return r.set(e),r.toArray(i,0),r.toArray(i,3),r.set(t),r.toArray(i,6),r.toArray(i,9),r.set(n),r.toArray(i,12),r.toArray(i,15),this.geometry.attributes.color.needsUpdate=!0,this}dispose(){this.geometry.dispose(),this.material.dispose()}},eh=class{constructor(){this.type=`ShapePath`,this.color=new W,this.subPaths=[],this.currentPath=null}moveTo(e,t){return this.currentPath=new Bd,this.subPaths.push(this.currentPath),this.currentPath.moveTo(e,t),this}lineTo(e,t){return this.currentPath.lineTo(e,t),this}quadraticCurveTo(e,t,n,r){return this.currentPath.quadraticCurveTo(e,t,n,r),this}bezierCurveTo(e,t,n,r,i,a){return this.currentPath.bezierCurveTo(e,t,n,r,i,a),this}splineThru(e){return this.currentPath.splineThru(e),this}toShapes(e){function t(e){let t=[];for(let n=0,r=e.length;n<r;n++){let r=e[n],i=new $d;i.curves=r.curves,t.push(i)}return t}function n(e,t){let n=t.length,r=!1;for(let i=n-1,a=0;a<n;i=a++){let n=t[i],o=t[a],s=o.x-n.x,c=o.y-n.y;if(Math.abs(c)>2**-52){if(c<0&&(n=t[a],s=-s,o=t[i],c=-c),e.y<n.y||e.y>o.y)continue;if(e.y===n.y){if(e.x===n.x)return!0}else{let t=c*(e.x-n.x)-s*(e.y-n.y);if(t===0)return!0;if(t<0)continue;r=!r}}else{if(e.y!==n.y)continue;if(o.x<=e.x&&e.x<=n.x||n.x<=e.x&&e.x<=o.x)return!0}}return r}let r=tf.isClockWise,i=this.subPaths;if(i.length===0)return[];let a,o,s,c=[];if(i.length===1)return o=i[0],s=new $d,s.curves=o.curves,c.push(s),c;let l=!r(i[0].getPoints());l=e?!l:l;let u=[],d=[],f=[],p=0,m;d[p]=void 0,f[p]=[];for(let t=0,n=i.length;t<n;t++)o=i[t],m=o.getPoints(),a=r(m),a=e?!a:a,a?(!l&&d[p]&&p++,d[p]={s:new $d,p:m},d[p].s.curves=o.curves,l&&p++,f[p]=[]):f[p].push({h:o,p:m[0]});if(!d[0])return t(i);if(d.length>1){let e=!1,t=0;for(let e=0,t=d.length;e<t;e++)u[e]=[];for(let r=0,i=d.length;r<i;r++){let i=f[r];for(let a=0;a<i.length;a++){let o=i[a],s=!0;for(let i=0;i<d.length;i++)n(o.p,d[i].p)&&(r!==i&&t++,s?(s=!1,u[i].push(o)):e=!0);s&&u[r].push(o)}}t>0&&e===!1&&(f=u)}let h;for(let e=0,t=d.length;e<t;e++){s=d[e].s,c.push(s),h=f[e];for(let e=0,t=h.length;e<t;e++)s.holes.push(h[e].h)}return c}},th=class extends Ra{constructor(e,t=null){super(),this.object=e,this.domElement=t,this.enabled=!0,this.state=-1,this.keys={},this.mouseButtons={LEFT:null,MIDDLE:null,RIGHT:null},this.touches={ONE:null,TWO:null}}connect(){}disconnect(){}dispose(){}update(){}},nh=class extends oo{constructor(e=1,t=1,n=1,r={}){console.warn(`THREE.WebGLMultipleRenderTargets has been deprecated and will be removed in r172. Use THREE.WebGLRenderTarget and set the "count" parameter to enable MRT.`),super(e,t,{...r,count:n}),this.isWebGLMultipleRenderTargets=!0}get texture(){return this.textures}},typeof __THREE_DEVTOOLS__<`u`&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent(`register`,{detail:{revision:`169`}})),typeof window<`u`&&(window.__THREE__?console.warn(`WARNING: Multiple instances of Three.js being imported.`):window.__THREE__=`169`)}));function ih(e){"@babel/helpers - typeof";return ih=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},ih(e)}var ah=n((()=>{}));function oh(e,t){if(ih(e)!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(ih(r)!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}var sh=n((()=>{ah()}));function ch(e){var t=oh(e,`string`);return ih(t)==`symbol`?t:t+``}var lh=n((()=>{ah(),sh()}));function X(e,t,n){return(t=ch(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var uh=n((()=>{lh()}));rh(),uh();var dh=class{constructor(e,t=0,n){X(this,`buffer`,void 0),X(this,`base`,void 0),X(this,`view`,void 0),X(this,`offset`,void 0),X(this,`_decoder`,new TextDecoder(`utf-8`)),this.buffer=e,this.base=t,this.view=new DataView(e,t,n===void 0?e.byteLength-t:n),this.offset=0}get remaining(){return this.view.byteLength-this.offset}u8(){let e=this.view.getUint8(this.offset);return this.offset+=1,e}u16(){let e=this.view.getUint16(this.offset,!0);return this.offset+=2,e}u32(){let e=this.view.getUint32(this.offset,!0);return this.offset+=4,e}i32(){let e=this.view.getInt32(this.offset,!0);return this.offset+=4,e}f32(){let e=this.view.getFloat32(this.offset,!0);return this.offset+=4,e}f64(){let e=this.view.getFloat64(this.offset,!0);return this.offset+=8,e}bytes(e){let t=new Uint8Array(this.buffer,this.base+this.offset,e);return this.offset+=e,t}bytesCopy(e){let t=new Uint8Array(this.buffer,this.base+this.offset,e);return this.offset+=e,t.slice()}string(){let e=this.u32(),t=new Uint8Array(this.buffer,this.base+this.offset,e);return this.offset+=e,this._decoder.decode(t)}skip(e){this.offset+=e}align4(e=0){let t=(this.offset-e)%4;t!==0&&this.skip(4-t)}vec3f64(){return{x:this.f64(),y:this.f64(),z:this.f64()}}boundingBox(){return{center:this.vec3f64(),xExtent:this.vec3f64(),yExtent:this.vec3f64(),zExtent:this.vec3f64()}}},fh=r(((e,t)=>{t.exports={}})),ph=i({default:()=>hh});function mh(e){let t=atob(e),n=new Uint8Array(t.length);for(let e=0;e<t.length;e++)n[e]=t.charCodeAt(e);return n}function hh(){return vh||(vh=gh({wasmBinary:mh(_h)})),vh}var Z,gh,_h,vh,yh=n((()=>{Z=Z||{},Z.scope={},Z.ASSUME_ES2020=!1,Z.ASSUME_ES6=Z.ASSUME_ES2020,Z.ASSUME_ES5=Z.ASSUME_ES6,Z.ASSUME_NO_NATIVE_MAP=!1,Z.ASSUME_NO_NATIVE_SET=!1,Z.ISOLATE_POLYFILLS=!1,Z.FORCE_POLYFILL_PROMISE=!1,Z.FORCE_POLYFILL_PROMISE_WHEN_NO_UNHANDLED_REJECTION=!1,Z.INSTRUMENT_ASYNC_CONTEXT=!0,Z.objectCreate=Z.ASSUME_ES5||typeof Object.create==`function`?Object.create:function(e){var t=function(){};return t.prototype=e,new t},Z.defineProperty=Z.ASSUME_ES5||typeof Object.defineProperties==`function`?Object.defineProperty:function(e,t,n){return e==Array.prototype||e==Object.prototype||(e[t]=n.value),e},Z.getGlobal=function(e){e=[typeof globalThis==`object`&&globalThis,e,typeof window==`object`&&window,typeof self==`object`&&self,typeof global==`object`&&global];for(var t=0;t<e.length;++t){var n=e[t];if(n&&n.Math==Math)return n}throw Error(`Cannot find global object`)},Z.global=Z.ASSUME_ES2020?globalThis:Z.getGlobal(void 0),Z.IS_SYMBOL_NATIVE=typeof Symbol==`function`&&typeof Symbol(`x`)==`symbol`,Z.TRUST_ES6_POLYFILLS=!Z.ISOLATE_POLYFILLS||Z.IS_SYMBOL_NATIVE,Z.polyfills={},Z.propertyToPolyfillSymbol={},Z.POLYFILL_PREFIX=`$jscp$`,Z.TYPED_ARRAY_CLASSES=function(){var e=`Int8 Uint8 Uint8Clamped Int16 Uint16 Int32 Uint32 Float32 Float64`.split(` `);return Z.global.BigInt64Array&&(e.push(`BigInt64`),e.push(`BigUint64`)),e}(),Z.polyfillTypedArrayMethod=function(e,t,n,r){if(t)for(var i=0;i<Z.TYPED_ARRAY_CLASSES.length;i++){var a=Z.TYPED_ARRAY_CLASSES[i]+`Array.prototype.`+e;Z.ISOLATE_POLYFILLS?Z.polyfillIsolated(a,t,n,r):Z.polyfillUnisolated(a,t,n,r)}},Z.polyfill=function(e,t,n,r){t&&(Z.ISOLATE_POLYFILLS?Z.polyfillIsolated(e,t,n,r):Z.polyfillUnisolated(e,t,n,r))},Z.polyfillUnisolated=function(e,t,n,r){for(n=Z.global,e=e.split(`.`),r=0;r<e.length-1;r++){var i=e[r];if(!(i in n))return;n=n[i]}e=e[e.length-1],r=n[e],t=t(r),t!=r&&t!=null&&Z.defineProperty(n,e,{configurable:!0,writable:!0,value:t})},Z.polyfillIsolated=function(e,t,n,r){var i=e.split(`.`);e=i.length===1,r=i[0],r=!e&&r in Z.polyfills?Z.polyfills:Z.global;for(var a=0;a<i.length-1;a++){var o=i[a];if(!(o in r))return;r=r[o]}i=i[i.length-1],n=Z.IS_SYMBOL_NATIVE&&n===`es6`?r[i]:null,t=t(n),t!=null&&(e?Z.defineProperty(Z.polyfills,i,{configurable:!0,writable:!0,value:t}):t!==n&&(Z.propertyToPolyfillSymbol[i]===void 0&&(n=Math.random()*1e9>>>0,Z.propertyToPolyfillSymbol[i]=Z.IS_SYMBOL_NATIVE?Z.global.Symbol(i):Z.POLYFILL_PREFIX+n+`$`+i),Z.defineProperty(r,Z.propertyToPolyfillSymbol[i],{configurable:!0,writable:!0,value:t})))},Z.getConstructImplementation=function(){function e(){function e(){}return new e,Reflect.construct(e,[],function(){}),new e instanceof e}if(Z.TRUST_ES6_POLYFILLS&&typeof Reflect<`u`&&Reflect.construct){if(e())return Reflect.construct;var t=Reflect.construct;return function(e,n,r){return e=t(e,n),r&&Reflect.setPrototypeOf(e,r.prototype),e}}return function(e,t,n){return n===void 0&&(n=e),n=Z.objectCreate(n.prototype||Object.prototype),Function.prototype.apply.call(e,n,t)||n}},Z.construct={valueOf:Z.getConstructImplementation}.valueOf(),Z.underscoreProtoCanBeSet=function(){var e={a:!0},t={};try{return t.__proto__=e,t.a}catch{}return!1},Z.setPrototypeOf=Z.ASSUME_ES6||Z.TRUST_ES6_POLYFILLS&&typeof Object.setPrototypeOf==`function`?Object.setPrototypeOf:Z.underscoreProtoCanBeSet()?function(e,t){if(e.__proto__=t,e.__proto__!==t)throw TypeError(e+` is not extensible`);return e}:null,Z.inherits=function(e,t){if(e.prototype=Z.objectCreate(t.prototype),e.prototype.constructor=e,Z.ASSUME_ES6||Z.setPrototypeOf){var n=Z.setPrototypeOf;n(e,t)}else for(n in t)if(n!=`prototype`){if(Object.defineProperties){var r=Object.getOwnPropertyDescriptor(t,n);r&&Object.defineProperty(e,n,r)}else e[n]=t[n]}e.superClass_=t.prototype},Z.arrayIteratorImpl=function(e){var t=0;return function(){return t<e.length?{done:!1,value:e[t++]}:{done:!0}}},Z.arrayIterator=function(e){return{next:Z.arrayIteratorImpl(e)}},Z.makeIterator=function(e){var t=typeof Symbol<`u`&&Symbol.iterator&&e[Symbol.iterator];if(t)return t.call(e);if(typeof e.length==`number`)return Z.arrayIterator(e);throw Error(String(e)+` is not an iterable or ArrayLike`)},Z.arrayFromIterator=function(e){for(var t,n=[];!(t=e.next()).done;)n.push(t.value);return n},Z.arrayFromIterable=function(e){return e instanceof Array?e:Z.arrayFromIterator(Z.makeIterator(e))},Z.createTemplateTagFirstArg=function(e){return Z.createTemplateTagFirstArgWithRaw(e,e)},Z.createTemplateTagFirstArgWithRaw=function(e,t){return e.raw=t,Object.freeze&&(Object.freeze(e),Object.freeze(t)),e},Z.generator={},Z.generator.ensureIteratorResultIsObject_=function(e){if(!(e instanceof Object))throw TypeError(`Iterator result `+e+` is not an object`)},Z.generator.Context=function(){this.isRunning_=!1,this.yieldAllIterator_=null,this.yieldResult=void 0,this.nextAddress=1,this.finallyAddress_=this.catchAddress_=0,this.finallyContexts_=this.abruptCompletion_=null},Z.generator.Context.prototype.start_=function(){if(this.isRunning_)throw TypeError(`Generator is already running`);this.isRunning_=!0},Z.generator.Context.prototype.stop_=function(){this.isRunning_=!1},Z.generator.Context.prototype.jumpToErrorHandler_=function(){this.nextAddress=this.catchAddress_||this.finallyAddress_},Z.generator.Context.prototype.next_=function(e){this.yieldResult=e},Z.generator.Context.prototype.throw_=function(e){this.abruptCompletion_={exception:e,isException:!0},this.jumpToErrorHandler_()},Z.generator.Context.prototype.getNextAddressJsc=function(){return this.nextAddress},Z.generator.Context.prototype.getNextAddressJsc=function(){return this.nextAddress},Z.generator.Context.prototype.getYieldResultJsc=function(){return this.yieldResult},Z.generator.Context.prototype.getYieldResultJsc=function(){return this.yieldResult},Z.generator.Context.prototype.return=function(e){this.abruptCompletion_={return:e},this.nextAddress=this.finallyAddress_},Z.generator.Context.prototype.return=Z.generator.Context.prototype.return,Z.generator.Context.prototype.jumpThroughFinallyBlocks=function(e){this.abruptCompletion_={jumpTo:e},this.nextAddress=this.finallyAddress_},Z.generator.Context.prototype.jumpThroughFinallyBlocks=Z.generator.Context.prototype.jumpThroughFinallyBlocks,Z.generator.Context.prototype.yield=function(e,t){return this.nextAddress=t,{value:e}},Z.generator.Context.prototype.yield=Z.generator.Context.prototype.yield,Z.generator.Context.prototype.yieldAll=function(e,t){e=Z.makeIterator(e);var n=e.next();if(Z.generator.ensureIteratorResultIsObject_(n),n.done)this.yieldResult=n.value,this.nextAddress=t;else return this.yieldAllIterator_=e,this.yield(n.value,t)},Z.generator.Context.prototype.yieldAll=Z.generator.Context.prototype.yieldAll,Z.generator.Context.prototype.jumpTo=function(e){this.nextAddress=e},Z.generator.Context.prototype.jumpTo=Z.generator.Context.prototype.jumpTo,Z.generator.Context.prototype.jumpToEnd=function(){this.nextAddress=0},Z.generator.Context.prototype.jumpToEnd=Z.generator.Context.prototype.jumpToEnd,Z.generator.Context.prototype.setCatchFinallyBlocks=function(e,t){this.catchAddress_=e,t!=null&&(this.finallyAddress_=t)},Z.generator.Context.prototype.setCatchFinallyBlocks=Z.generator.Context.prototype.setCatchFinallyBlocks,Z.generator.Context.prototype.setFinallyBlock=function(e){this.catchAddress_=0,this.finallyAddress_=e||0},Z.generator.Context.prototype.setFinallyBlock=Z.generator.Context.prototype.setFinallyBlock,Z.generator.Context.prototype.leaveTryBlock=function(e,t){this.nextAddress=e,this.catchAddress_=t||0},Z.generator.Context.prototype.leaveTryBlock=Z.generator.Context.prototype.leaveTryBlock,Z.generator.Context.prototype.enterCatchBlock=function(e){return this.catchAddress_=e||0,e=this.abruptCompletion_.exception,this.abruptCompletion_=null,e},Z.generator.Context.prototype.enterCatchBlock=Z.generator.Context.prototype.enterCatchBlock,Z.generator.Context.prototype.enterFinallyBlock=function(e,t,n){n?this.finallyContexts_[n]=this.abruptCompletion_:this.finallyContexts_=[this.abruptCompletion_],this.catchAddress_=e||0,this.finallyAddress_=t||0},Z.generator.Context.prototype.enterFinallyBlock=Z.generator.Context.prototype.enterFinallyBlock,Z.generator.Context.prototype.leaveFinallyBlock=function(e,t){if(t=this.finallyContexts_.splice(t||0)[0],t=this.abruptCompletion_=this.abruptCompletion_||t){if(t.isException)return this.jumpToErrorHandler_();t.jumpTo!=null&&this.finallyAddress_<t.jumpTo?(this.nextAddress=t.jumpTo,this.abruptCompletion_=null):this.nextAddress=this.finallyAddress_}else this.nextAddress=e},Z.generator.Context.prototype.leaveFinallyBlock=Z.generator.Context.prototype.leaveFinallyBlock,Z.generator.Context.prototype.forIn=function(e){return new Z.generator.Context.PropertyIterator(e)},Z.generator.Context.prototype.forIn=Z.generator.Context.prototype.forIn,Z.generator.Context.PropertyIterator=function(e){for(var t in this.object_=e,this.properties_=[],e)this.properties_.push(t);this.properties_.reverse()},Z.generator.Context.PropertyIterator.prototype.getNext=function(){for(;this.properties_.length>0;){var e=this.properties_.pop();if(e in this.object_)return e}return null},Z.generator.Context.PropertyIterator.prototype.getNext=Z.generator.Context.PropertyIterator.prototype.getNext,Z.generator.Engine_=function(e){this.context_=new Z.generator.Context,this.program_=e},Z.generator.Engine_.prototype.next_=function(e){return this.context_.start_(),this.context_.yieldAllIterator_?this.yieldAllStep_(this.context_.yieldAllIterator_.next,e,this.context_.next_):(this.context_.next_(e),this.nextStep_())},Z.generator.Engine_.prototype.return_=function(e){this.context_.start_();var t=this.context_.yieldAllIterator_;return t?this.yieldAllStep_(`return`in t?t.return:function(e){return{value:e,done:!0}},e,this.context_.return):(this.context_.return(e),this.nextStep_())},Z.generator.Engine_.prototype.throw_=function(e){return this.context_.start_(),this.context_.yieldAllIterator_?this.yieldAllStep_(this.context_.yieldAllIterator_.throw,e,this.context_.next_):(this.context_.throw_(e),this.nextStep_())},Z.generator.Engine_.prototype.yieldAllStep_=function(e,t,n){try{var r=e.call(this.context_.yieldAllIterator_,t);if(Z.generator.ensureIteratorResultIsObject_(r),!r.done)return this.context_.stop_(),r;var i=r.value}catch(e){return this.context_.yieldAllIterator_=null,this.context_.throw_(e),this.nextStep_()}return this.context_.yieldAllIterator_=null,n.call(this.context_,i),this.nextStep_()},Z.generator.Engine_.prototype.nextStep_=function(){for(;this.context_.nextAddress;)try{var e=this.program_(this.context_);if(e)return this.context_.stop_(),{value:e.value,done:!1}}catch(e){this.context_.yieldResult=void 0,this.context_.throw_(e)}if(this.context_.stop_(),this.context_.abruptCompletion_){if(e=this.context_.abruptCompletion_,this.context_.abruptCompletion_=null,e.isException)throw e.exception;return{value:e.return,done:!0}}return{value:void 0,done:!0}},Z.generator.Generator_=function(e){this.next=function(t){return e.next_(t)},this.throw=function(t){return e.throw_(t)},this.return=function(t){return e.return_(t)},this[Symbol.iterator]=function(){return this}},Z.generator.createGenerator=function(e,t){return t=new Z.generator.Generator_(new Z.generator.Engine_(t)),Z.setPrototypeOf&&e.prototype&&Z.setPrototypeOf(t,e.prototype),t},Z.asyncExecutePromiseGenerator=function(e){function t(t){return e.next(t)}function n(t){return e.throw(t)}return new Promise(function(r,i){function a(e){e.done?r(e.value):Promise.resolve(e.value).then(t,n).then(a,i)}a(e.next())})},Z.asyncExecutePromiseGeneratorFunction=function(e){return Z.asyncExecutePromiseGenerator(e())},Z.asyncExecutePromiseGeneratorProgram=function(e){return Z.asyncExecutePromiseGenerator(new Z.generator.Generator_(new Z.generator.Engine_(e)))},Z.polyfill(`globalThis`,function(e){return e||Z.global},`es_2020`,`es3`),Z.polyfill(`Reflect`,function(e){return e||{}},`es6`,`es3`),Z.polyfill(`Reflect.construct`,function(e){return Z.construct},`es6`,`es3`),Z.polyfill(`Reflect.setPrototypeOf`,function(e){if(e)return e;if(Z.setPrototypeOf){var t=Z.setPrototypeOf;return function(e,n){try{return t(e,n),!0}catch{return!1}}}return null},`es6`,`es5`),Z.initSymbol=function(){},Z.polyfill(`Symbol`,function(e){if(e)return e;var t=function(e,t){this.$jscomp$symbol$id_=e,Z.defineProperty(this,`description`,{configurable:!0,writable:!0,value:t})};t.prototype.toString=function(){return this.$jscomp$symbol$id_};var n=`jscomp_symbol_`+(Math.random()*1e9>>>0)+`_`,r=0,i=function(e){if(this instanceof i)throw TypeError(`Symbol is not a constructor`);return new t(n+(e||``)+`_`+r++,e)};return i},`es6`,`es3`),Z.polyfill(`Symbol.iterator`,function(e){return e||(e=Symbol(`Symbol.iterator`),Z.defineProperty(Array.prototype,e,{configurable:!0,writable:!0,value:function(){return Z.iteratorPrototype(Z.arrayIteratorImpl(this))}}),e)},`es6`,`es3`),Z.iteratorPrototype=function(e){return e={next:e},e[Symbol.iterator]=function(){return this},e},Z.polyfill(`Promise`,function(e){function t(){this.batch_=null}function n(e){return e instanceof i?e:new i(function(t,n){t(e)})}if(e&&(!(Z.FORCE_POLYFILL_PROMISE||Z.FORCE_POLYFILL_PROMISE_WHEN_NO_UNHANDLED_REJECTION&&Z.global.PromiseRejectionEvent===void 0)||!Z.global.Promise||Z.global.Promise.toString().indexOf(`[native code]`)===-1))return e;t.prototype.asyncExecute=function(e){if(this.batch_==null){this.batch_=[];var t=this;this.asyncExecuteFunction(function(){t.executeBatch_()})}this.batch_.push(e)};var r=Z.global.setTimeout;t.prototype.asyncExecuteFunction=function(e){r(e,0)},t.prototype.executeBatch_=function(){for(;this.batch_&&this.batch_.length;){var e=this.batch_;this.batch_=[];for(var t=0;t<e.length;++t){var n=e[t];e[t]=null;try{n()}catch(e){this.asyncThrow_(e)}}}this.batch_=null},t.prototype.asyncThrow_=function(e){this.asyncExecuteFunction(function(){throw e})};var i=function(e){this.state_=0,this.result_=void 0,this.onSettledCallbacks_=[],this.isRejectionHandled_=!1;var t=this.createResolveAndReject_();try{e(t.resolve,t.reject)}catch(e){t.reject(e)}};i.prototype.createResolveAndReject_=function(){function e(e){return function(r){n||(n=!0,e.call(t,r))}}var t=this,n=!1;return{resolve:e(this.resolveTo_),reject:e(this.reject_)}},i.prototype.resolveTo_=function(e){if(e===this)this.reject_(TypeError(`A Promise cannot resolve to itself`));else if(e instanceof i)this.settleSameAsPromise_(e);else{a:switch(typeof e){case`object`:var t=e!=null;break a;case`function`:t=!0;break a;default:t=!1}t?this.resolveToNonPromiseObj_(e):this.fulfill_(e)}},i.prototype.resolveToNonPromiseObj_=function(e){var t=void 0;try{t=e.then}catch(e){this.reject_(e);return}typeof t==`function`?this.settleSameAsThenable_(t,e):this.fulfill_(e)},i.prototype.reject_=function(e){this.settle_(2,e)},i.prototype.fulfill_=function(e){this.settle_(1,e)},i.prototype.settle_=function(e,t){if(this.state_!=0)throw Error(`Cannot settle(`+e+`, `+t+`): Promise already settled in state`+this.state_);this.state_=e,this.result_=t,this.state_===2&&this.scheduleUnhandledRejectionCheck_(),this.executeOnSettledCallbacks_()},i.prototype.scheduleUnhandledRejectionCheck_=function(){var e=this;r(function(){if(e.notifyUnhandledRejection_()){var t=Z.global.console;t!==void 0&&t.error(e.result_)}},1)},i.prototype.notifyUnhandledRejection_=function(){if(this.isRejectionHandled_)return!1;var e=Z.global.CustomEvent,t=Z.global.Event,n=Z.global.dispatchEvent;return n===void 0||(typeof e==`function`?e=new e(`unhandledrejection`,{cancelable:!0}):typeof t==`function`?e=new t(`unhandledrejection`,{cancelable:!0}):(e=Z.global.document.createEvent(`CustomEvent`),e.initCustomEvent(`unhandledrejection`,!1,!0,e)),e.promise=this,e.reason=this.result_,n(e))},i.prototype.executeOnSettledCallbacks_=function(){if(this.onSettledCallbacks_!=null){for(var e=0;e<this.onSettledCallbacks_.length;++e)a.asyncExecute(this.onSettledCallbacks_[e]);this.onSettledCallbacks_=null}};var a=new t;return i.prototype.settleSameAsPromise_=function(e){var t=this.createResolveAndReject_();e.callWhenSettled_(t.resolve,t.reject)},i.prototype.settleSameAsThenable_=function(e,t){var n=this.createResolveAndReject_();try{e.call(t,n.resolve,n.reject)}catch(e){n.reject(e)}},i.prototype.then=function(e,t){function n(e,t){return typeof e==`function`?function(t){try{r(e(t))}catch(e){a(e)}}:t}var r,a,o=new i(function(e,t){r=e,a=t});return this.callWhenSettled_(n(e,r),n(t,a)),o},i.prototype.catch=function(e){return this.then(void 0,e)},i.prototype.callWhenSettled_=function(e,t){function n(){switch(r.state_){case 1:e(r.result_);break;case 2:t(r.result_);break;default:throw Error(`Unexpected state: `+r.state_)}}var r=this;this.onSettledCallbacks_==null?a.asyncExecute(n):this.onSettledCallbacks_.push(n),this.isRejectionHandled_=!0},i.resolve=n,i.reject=function(e){return new i(function(t,n){n(e)})},i.race=function(e){return new i(function(t,r){for(var i=Z.makeIterator(e),a=i.next();!a.done;a=i.next())n(a.value).callWhenSettled_(t,r)})},i.all=function(e){var t=Z.makeIterator(e),r=t.next();return r.done?n([]):new i(function(e,i){function a(t){return function(n){o[t]=n,s--,s==0&&e(o)}}var o=[],s=0;do o.push(void 0),s++,n(r.value).callWhenSettled_(a(o.length-1),i),r=t.next();while(!r.done)})},i},`es6`,`es3`),Z.checkStringArgs=function(e,t,n){if(e==null)throw TypeError(`The 'this' value for String.prototype.`+n+` must not be null or undefined`);if(t instanceof RegExp)throw TypeError(`First argument to String.prototype.`+n+` must not be a regular expression`);return e+``},Z.polyfill(`String.prototype.startsWith`,function(e){return e||function(e,t){var n=Z.checkStringArgs(this,e,`startsWith`);e+=``;var r=n.length,i=e.length;t=Math.max(0,Math.min(t|0,n.length));for(var a=0;a<i&&t<r;)if(n[t++]!=e[a++])return!1;return a>=i}},`es6`,`es3`),Z.polyfill(`String.prototype.codePointAt`,function(e){return e||function(e){var t=Z.checkStringArgs(this,null,`codePointAt`),n=t.length;if(e=Number(e)||0,e>=0&&e<n){e|=0;var r=t.charCodeAt(e);return r<55296||r>56319||e+1===n?r:(e=t.charCodeAt(e+1),e<56320||e>57343?r:(r-55296)*1024+e+9216)}}},`es6`,`es3`),gh=function(){var e=globalThis.document?.currentScript?.src;return function(t){function n(){this.ptr=Dn(),A(n)[this.ptr]=this}function r(){this.ptr=vn(),A(r)[this.ptr]=this}function i(){this.ptr=mn(),A(i)[this.ptr]=this}function a(){this.ptr=un(),A(a)[this.ptr]=this}function o(){this.ptr=on(),A(o)[this.ptr]=this}function s(){this.ptr=tn(),A(s)[this.ptr]=this}function c(){this.ptr=Zt(),A(c)[this.ptr]=this}function l(){this.ptr=qt(),A(l)[this.ptr]=this}function u(){this.ptr=Ut(),A(u)[this.ptr]=this}function d(){throw`cannot construct a Status, no constructor in IDL`}function f(){this.ptr=Lt(),A(f)[this.ptr]=this}function p(){this.ptr=Mt(),A(p)[this.ptr]=this}function m(){this.ptr=Ot(),A(m)[this.ptr]=this}function h(){this.ptr=wt(),A(h)[this.ptr]=this}function g(){this.ptr=vt(),A(g)[this.ptr]=this}function _(){this.ptr=st(),A(_)[this.ptr]=this}function v(){this.ptr=at(),A(v)[this.ptr]=this}function y(){this.ptr=nt(),A(y)[this.ptr]=this}function b(){this.ptr=$e(),A(b)[this.ptr]=this}function x(){throw`cannot construct a VoidPtr, no constructor in IDL`}function S(e){if(typeof e==`object`){for(var t=z.alloc(e,De),n=0;n<e.length;n++)De[t+n]=e[n];return t}return e}function C(e){if(typeof e==`string`){e=Je(e);for(var t=z.alloc(e,De),n=0;n<e.length;n++)De[t+n]=e[n];return t}return e}function w(e){return e.__class__}function T(e){return e.ptr}function E(e,t){return e.ptr===t.ptr}function D(e){if(!e.__destroy__)throw`Error: Cannot destroy object. (Did you create it yourself?)`;e.__destroy__(),delete A(e.__class__)[e.ptr]}function O(e,t){return k(e.ptr,t)}function k(e,t){var n=A(t),r=n[e];return r||(r=Object.create((t||j).prototype),r.ptr=e,n[e]=r)}function A(e){return(e||j).__cache__}function j(){}function ee(){var e,t,n;return(0,Z.asyncExecutePromiseGeneratorProgram)(function(r){if(r.getNextAddressJsc()==1)return se(),e=N.setStatus,e?(e(`Running...`),r.yield(new Promise(function(e){return setTimeout(e,1)}),3)):r.jumpTo(2);if(r.getNextAddressJsc()!=2&&setTimeout(e,1,``),Se)return r.return();Ee=!0,Oe(Ye),Ir.g(),(n=(t=N).onRuntimeInitialized)==null||n.call(t),oe(),r.jumpToEnd()})}function te(){function e(e){return e=Ir=e.exports,N._webidl_free=e.h,N._free=e.i,N._webidl_malloc=e.j,N._malloc=e.k,Qe=N._emscripten_bind_VoidPtr___destroy___0=e.l,$e=N._emscripten_bind_DecoderBuffer_DecoderBuffer_0=e.m,et=N._emscripten_bind_DecoderBuffer_Init_2=e.n,tt=N._emscripten_bind_DecoderBuffer___destroy___0=e.o,nt=N._emscripten_bind_AttributeTransformData_AttributeTransformData_0=e.p,rt=N._emscripten_bind_AttributeTransformData_transform_type_0=e.q,it=N._emscripten_bind_AttributeTransformData___destroy___0=e.r,at=N._emscripten_bind_GeometryAttribute_GeometryAttribute_0=e.s,ot=N._emscripten_bind_GeometryAttribute___destroy___0=e.t,st=N._emscripten_bind_PointAttribute_PointAttribute_0=e.u,ct=N._emscripten_bind_PointAttribute_size_0=e.v,lt=N._emscripten_bind_PointAttribute_GetAttributeTransformData_0=e.w,ut=N._emscripten_bind_PointAttribute_attribute_type_0=e.x,dt=N._emscripten_bind_PointAttribute_data_type_0=e.y,ft=N._emscripten_bind_PointAttribute_num_components_0=e.z,pt=N._emscripten_bind_PointAttribute_normalized_0=e.A,mt=N._emscripten_bind_PointAttribute_byte_stride_0=e.B,ht=N._emscripten_bind_PointAttribute_byte_offset_0=e.C,gt=N._emscripten_bind_PointAttribute_unique_id_0=e.D,_t=N._emscripten_bind_PointAttribute___destroy___0=e.E,vt=N._emscripten_bind_AttributeQuantizationTransform_AttributeQuantizationTransform_0=e.F,yt=N._emscripten_bind_AttributeQuantizationTransform_InitFromAttribute_1=e.G,bt=N._emscripten_bind_AttributeQuantizationTransform_quantization_bits_0=e.H,xt=N._emscripten_bind_AttributeQuantizationTransform_min_value_1=e.I,St=N._emscripten_bind_AttributeQuantizationTransform_range_0=e.J,Ct=N._emscripten_bind_AttributeQuantizationTransform___destroy___0=e.K,wt=N._emscripten_bind_AttributeOctahedronTransform_AttributeOctahedronTransform_0=e.L,Tt=N._emscripten_bind_AttributeOctahedronTransform_InitFromAttribute_1=e.M,Et=N._emscripten_bind_AttributeOctahedronTransform_quantization_bits_0=e.N,Dt=N._emscripten_bind_AttributeOctahedronTransform___destroy___0=e.O,Ot=N._emscripten_bind_PointCloud_PointCloud_0=e.P,kt=N._emscripten_bind_PointCloud_num_attributes_0=e.Q,At=N._emscripten_bind_PointCloud_num_points_0=e.R,jt=N._emscripten_bind_PointCloud___destroy___0=e.S,Mt=N._emscripten_bind_Mesh_Mesh_0=e.T,Nt=N._emscripten_bind_Mesh_num_faces_0=e.U,Pt=N._emscripten_bind_Mesh_num_attributes_0=e.V,Ft=N._emscripten_bind_Mesh_num_points_0=e.W,It=N._emscripten_bind_Mesh___destroy___0=e.X,Lt=N._emscripten_bind_Metadata_Metadata_0=e.Y,Rt=N._emscripten_bind_Metadata___destroy___0=e.Z,zt=N._emscripten_bind_Status_code_0=e._,Bt=N._emscripten_bind_Status_ok_0=e.$,Vt=N._emscripten_bind_Status_error_msg_0=e.aa,Ht=N._emscripten_bind_Status___destroy___0=e.ba,Ut=N._emscripten_bind_DracoFloat32Array_DracoFloat32Array_0=e.ca,Wt=N._emscripten_bind_DracoFloat32Array_GetValue_1=e.da,Gt=N._emscripten_bind_DracoFloat32Array_size_0=e.ea,Kt=N._emscripten_bind_DracoFloat32Array___destroy___0=e.fa,qt=N._emscripten_bind_DracoInt8Array_DracoInt8Array_0=e.ga,Jt=N._emscripten_bind_DracoInt8Array_GetValue_1=e.ha,Yt=N._emscripten_bind_DracoInt8Array_size_0=e.ia,Xt=N._emscripten_bind_DracoInt8Array___destroy___0=e.ja,Zt=N._emscripten_bind_DracoUInt8Array_DracoUInt8Array_0=e.ka,Qt=N._emscripten_bind_DracoUInt8Array_GetValue_1=e.la,$t=N._emscripten_bind_DracoUInt8Array_size_0=e.ma,en=N._emscripten_bind_DracoUInt8Array___destroy___0=e.na,tn=N._emscripten_bind_DracoInt16Array_DracoInt16Array_0=e.oa,nn=N._emscripten_bind_DracoInt16Array_GetValue_1=e.pa,rn=N._emscripten_bind_DracoInt16Array_size_0=e.qa,an=N._emscripten_bind_DracoInt16Array___destroy___0=e.ra,on=N._emscripten_bind_DracoUInt16Array_DracoUInt16Array_0=e.sa,sn=N._emscripten_bind_DracoUInt16Array_GetValue_1=e.ta,cn=N._emscripten_bind_DracoUInt16Array_size_0=e.ua,ln=N._emscripten_bind_DracoUInt16Array___destroy___0=e.va,un=N._emscripten_bind_DracoInt32Array_DracoInt32Array_0=e.wa,dn=N._emscripten_bind_DracoInt32Array_GetValue_1=e.xa,fn=N._emscripten_bind_DracoInt32Array_size_0=e.ya,pn=N._emscripten_bind_DracoInt32Array___destroy___0=e.za,mn=N._emscripten_bind_DracoUInt32Array_DracoUInt32Array_0=e.Aa,hn=N._emscripten_bind_DracoUInt32Array_GetValue_1=e.Ba,gn=N._emscripten_bind_DracoUInt32Array_size_0=e.Ca,_n=N._emscripten_bind_DracoUInt32Array___destroy___0=e.Da,vn=N._emscripten_bind_MetadataQuerier_MetadataQuerier_0=e.Ea,yn=N._emscripten_bind_MetadataQuerier_HasEntry_2=e.Fa,bn=N._emscripten_bind_MetadataQuerier_GetIntEntry_2=e.Ga,xn=N._emscripten_bind_MetadataQuerier_GetIntEntryArray_3=e.Ha,Sn=N._emscripten_bind_MetadataQuerier_GetDoubleEntry_2=e.Ia,Cn=N._emscripten_bind_MetadataQuerier_GetStringEntry_2=e.Ja,wn=N._emscripten_bind_MetadataQuerier_NumEntries_1=e.Ka,Tn=N._emscripten_bind_MetadataQuerier_GetEntryName_2=e.La,En=N._emscripten_bind_MetadataQuerier___destroy___0=e.Ma,Dn=N._emscripten_bind_Decoder_Decoder_0=e.Na,On=N._emscripten_bind_Decoder_DecodeArrayToPointCloud_3=e.Oa,kn=N._emscripten_bind_Decoder_DecodeArrayToMesh_3=e.Pa,An=N._emscripten_bind_Decoder_GetAttributeId_2=e.Qa,jn=N._emscripten_bind_Decoder_GetAttributeIdByName_2=e.Ra,Mn=N._emscripten_bind_Decoder_GetAttributeIdByMetadataEntry_3=e.Sa,Nn=N._emscripten_bind_Decoder_GetAttribute_2=e.Ta,Pn=N._emscripten_bind_Decoder_GetAttributeByUniqueId_2=e.Ua,Fn=N._emscripten_bind_Decoder_GetMetadata_1=e.Va,In=N._emscripten_bind_Decoder_GetAttributeMetadata_2=e.Wa,Ln=N._emscripten_bind_Decoder_GetFaceFromMesh_3=e.Xa,Rn=N._emscripten_bind_Decoder_GetTriangleStripsFromMesh_2=e.Ya,zn=N._emscripten_bind_Decoder_GetTrianglesUInt16Array_3=e.Za,Bn=N._emscripten_bind_Decoder_GetTrianglesUInt32Array_3=e._a,Vn=N._emscripten_bind_Decoder_GetAttributeFloat_3=e.$a,Hn=N._emscripten_bind_Decoder_GetAttributeFloatForAllPoints_3=e.ab,Un=N._emscripten_bind_Decoder_GetAttributeIntForAllPoints_3=e.bb,Wn=N._emscripten_bind_Decoder_GetAttributeInt8ForAllPoints_3=e.cb,Gn=N._emscripten_bind_Decoder_GetAttributeUInt8ForAllPoints_3=e.db,Kn=N._emscripten_bind_Decoder_GetAttributeInt16ForAllPoints_3=e.eb,qn=N._emscripten_bind_Decoder_GetAttributeUInt16ForAllPoints_3=e.fb,Jn=N._emscripten_bind_Decoder_GetAttributeInt32ForAllPoints_3=e.gb,Yn=N._emscripten_bind_Decoder_GetAttributeUInt32ForAllPoints_3=e.hb,Xn=N._emscripten_bind_Decoder_GetAttributeDataArrayForAllPoints_5=e.ib,Zn=N._emscripten_bind_Decoder_SkipAttributeTransform_1=e.jb,Qn=N._emscripten_bind_Decoder_GetEncodedGeometryType_Deprecated_1=e.kb,$n=N._emscripten_bind_Decoder_DecodeBufferToPointCloud_2=e.lb,er=N._emscripten_bind_Decoder_DecodeBufferToMesh_2=e.mb,tr=N._emscripten_bind_Decoder___destroy___0=e.nb,nr=N._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_INVALID_TRANSFORM=e.ob,rr=N._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_NO_TRANSFORM=e.pb,ir=N._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_QUANTIZATION_TRANSFORM=e.qb,ar=N._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_OCTAHEDRON_TRANSFORM=e.rb,or=N._emscripten_enum_draco_GeometryAttribute_Type_INVALID=e.sb,sr=N._emscripten_enum_draco_GeometryAttribute_Type_POSITION=e.tb,cr=N._emscripten_enum_draco_GeometryAttribute_Type_NORMAL=e.ub,lr=N._emscripten_enum_draco_GeometryAttribute_Type_COLOR=e.vb,ur=N._emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD=e.wb,dr=N._emscripten_enum_draco_GeometryAttribute_Type_GENERIC=e.xb,fr=N._emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE=e.yb,pr=N._emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD=e.zb,mr=N._emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH=e.Ab,hr=N._emscripten_enum_draco_DataType_DT_INVALID=e.Bb,gr=N._emscripten_enum_draco_DataType_DT_INT8=e.Cb,_r=N._emscripten_enum_draco_DataType_DT_UINT8=e.Db,vr=N._emscripten_enum_draco_DataType_DT_INT16=e.Eb,yr=N._emscripten_enum_draco_DataType_DT_UINT16=e.Fb,br=N._emscripten_enum_draco_DataType_DT_INT32=e.Gb,xr=N._emscripten_enum_draco_DataType_DT_UINT32=e.Hb,Sr=N._emscripten_enum_draco_DataType_DT_INT64=e.Ib,Cr=N._emscripten_enum_draco_DataType_DT_UINT64=e.Jb,wr=N._emscripten_enum_draco_DataType_DT_FLOAT32=e.Kb,Tr=N._emscripten_enum_draco_DataType_DT_FLOAT64=e.Lb,Er=N._emscripten_enum_draco_DataType_DT_BOOL=e.Mb,Dr=N._emscripten_enum_draco_DataType_DT_TYPES_COUNT=e.Nb,Or=N._emscripten_enum_draco_StatusCode_OK=e.Ob,kr=N._emscripten_enum_draco_StatusCode_DRACO_ERROR=e.Pb,Ar=N._emscripten_enum_draco_StatusCode_IO_ERROR=e.Qb,jr=N._emscripten_enum_draco_StatusCode_INVALID_PARAMETER=e.Rb,Mr=N._emscripten_enum_draco_StatusCode_UNSUPPORTED_VERSION=e.Sb,Nr=N._emscripten_enum_draco_StatusCode_UNKNOWN_VERSION=e.Tb,Pr=e.f,ce(),Ir}var t,n,r,i;return(0,Z.asyncExecutePromiseGeneratorProgram)(function(a){return a.getNextAddressJsc()==1?(t={a:Fr},(n=N.instantiateWasm)?a.return(new Promise(function(r){n(t,function(t){return r(e(t))})})):(P??(P=le(`draco_decoder.wasm`)),a.yield(ne(xe,P,t),2))):(r=a.getYieldResultJsc(),i=e(r.instance),a.return(i))})}function ne(e,t,n){var r,i,a;return(0,Z.asyncExecutePromiseGeneratorProgram)(function(o){switch(o.getNextAddressJsc()){case 1:if(e||Ce(t)||fe){o.jumpTo(2);break}return o.setCatchFinallyBlocks(3),r=fetch(t,{credentials:`same-origin`}),o.yield(WebAssembly.instantiateStreaming(r,n),5);case 5:return i=o.getYieldResultJsc(),o.return(i);case 3:a=o.enterCatchBlock(),be(`wasm streaming compile failed: `+a),be(`falling back to ArrayBuffer instantiation`);case 2:return o.return(re(t,n))}})}function re(e,t){var n,r,i;return(0,Z.asyncExecutePromiseGeneratorProgram)(function(a){switch(a.getNextAddressJsc()){case 1:return a.setCatchFinallyBlocks(2),a.yield(ie(e),4);case 4:return n=a.getYieldResultJsc(),a.yield(WebAssembly.instantiate(n,t),5);case 5:return r=a.getYieldResultJsc(),a.return(r);case 2:i=a.enterCatchBlock(),be(`failed to asynchronously prepare wasm: `+i),ae(i),a.jumpToEnd()}})}function ie(e){var t;return(0,Z.asyncExecutePromiseGeneratorProgram)(function(n){switch(n.getNextAddressJsc()){case 1:if(xe){n.jumpTo(2);break}return n.setCatchFinallyBlocks(3),n.yield(ge(e),5);case 5:return t=n.getYieldResultJsc(),n.return(new Uint8Array(t));case 3:n.enterCatchBlock();case 2:var r=n.return;if(e==P&&xe)var i=new Uint8Array(xe);else if(_e)i=_e(e);else throw`both async and sync fetching of the wasm failed`;return r.call(n,i)}})}function ae(e){var t,n;throw(n=(t=N).onAbort)==null||n.call(t,e),e=`Aborted(`+e+`)`,be(e),Se=!0,new WebAssembly.RuntimeError(e+`. Build with -sASSERTIONS for more info.`)}function oe(){var e=N.postRun;e&&(typeof e==`function`&&(e=[e]),ke.push.apply(ke,(0,Z.arrayFromIterable)(e))),Oe(ke)}function se(){var e=N.preRun;e&&(typeof e==`function`&&(e=[e]),Ae.push.apply(Ae,(0,Z.arrayFromIterable)(e))),Oe(Ae)}function ce(){var e,t;(e=De)!=null&&(t=e.buffer)!=null&&t.resizable||(e=Pr.buffer,N.HEAP8=De=new Int8Array(e),N.HEAP16=new Int16Array(e),N.HEAPU8=R=new Uint8Array(e),N.HEAPU16=new Uint16Array(e),N.HEAP32=new Int32Array(e),N.HEAPU32=je=new Uint32Array(e),N.HEAPF32=new Float32Array(e),N.HEAPF64=new Float64Array(e))}function le(e){return N.locateFile?N.locateFile(e,he):he+e}function M(e){return typeof e==`string`&&(e=e.split(`.`),e.length<2||e.length>3?!1:e[0]==1&&e[1]>=0&&e[1]<=5||!(e[0]!=0||e[1]>10))}t=t===void 0?{}:t;var N,ue,de,fe,pe,me,he,ge,_e,ve,ye,be,xe,Se,Ce,we,Te,Ee,P,De,Oe,ke,Ae,je,Me,Ne,Pe,Fe,Ie,F,I,L,R,Le,Re,ze,Be,Ve,He,Ue,We,Ge,Ke,qe,Je,Ye,Xe,Ze,Qe,$e,et,tt,nt,rt,it,at,ot,st,ct,lt,ut,dt,ft,pt,mt,ht,gt,_t,vt,yt,bt,xt,St,Ct,wt,Tt,Et,Dt,Ot,kt,At,jt,Mt,Nt,Pt,Ft,It,Lt,Rt,zt,Bt,Vt,Ht,Ut,Wt,Gt,Kt,qt,Jt,Yt,Xt,Zt,Qt,$t,en,tn,nn,rn,an,on,sn,cn,ln,un,dn,fn,pn,mn,hn,gn,_n,vn,yn,bn,xn,Sn,Cn,wn,Tn,En,Dn,On,kn,An,jn,Mn,Nn,Pn,Fn,In,Ln,Rn,zn,Bn,Vn,Hn,Un,Wn,Gn,Kn,qn,Jn,Yn,Xn,Zn,Qn,$n,er,tr,nr,rr,ir,ar,or,sr,cr,lr,ur,dr,fr,pr,mr,hr,gr,_r,vr,yr,br,xr,Sr,Cr,wr,Tr,Er,Dr,Or,kr,Ar,jr,Mr,Nr,Pr,Fr,Ir,z;return(0,Z.asyncExecutePromiseGeneratorProgram)(function(ne){if(ne.getNextAddressJsc()==1){if(N=t,ue=!!globalThis.window,de=!!globalThis.WorkerGlobalScope,fe=globalThis.process?.versions?.node&&globalThis.process?.type!=`renderer`,me=pe=!1,N.onRuntimeInitialized=function(){pe=!0,me&&typeof N.onModuleLoaded==`function`&&N.onModuleLoaded(N)},N.onModuleParsed=function(){me=!0,pe&&typeof N.onModuleLoaded==`function`&&N.onModuleLoaded(N)},N.isVersionSupported=M,typeof __filename<`u`?e=__filename:de&&(e=self.location.href),he=``,fe)ve=fh(),he=__dirname+`/`,_e=function(e){return e=Ce(e)?new URL(e):e,ve.readFileSync(e)},ge=function(e,t){t=t===void 0||t;var n;return(0,Z.asyncExecutePromiseGeneratorProgram)(function(r){return e=Ce(e)?new URL(e):e,n=ve.readFileSync(e,t?void 0:`utf8`),r.return(n)})},process.argv.length>1&&process.argv[1].replace(/\\/g,`/`),process.argv.slice(2);else if(ue||de){try{he=new URL(`.`,e).href}catch{}de&&(_e=function(e){var t=new XMLHttpRequest;return t.open(`GET`,e,!1),t.responseType=`arraybuffer`,t.send(null),new Uint8Array(t.response)}),ge=function(e){var t;return(0,Z.asyncExecutePromiseGeneratorProgram)(function(n){if(n.getNextAddressJsc()==1)return Ce(e)?n.return(new Promise(function(t,n){var r=new XMLHttpRequest;r.open(`GET`,e,!0),r.responseType=`arraybuffer`,r.onload=function(){r.status==200||r.status==0&&r.response?t(r.response):n(r.status)},r.onerror=n,r.send(null)})):n.yield(fetch(e,{credentials:`same-origin`}),2);if(t=n.getYieldResultJsc(),t.ok)return n.return(t.arrayBuffer());throw Error(t.status+` : `+t.url)})}}if(ye=console.log.bind(console),be=console.error.bind(console),Se=!1,Ce=function(e){return e.startsWith(`file://`)},we=function(){},Te=function(){return we.apply(this,arguments)||this},Z.inherits(Te,we),Ee=!1,Oe=function(e){for(;e.length>0;)e.shift()(N)},ke=[],Ae=[],Me=function(e){this.excPtr=e,this.ptr=e-24},Me.prototype.set_type=function(e){je[this.ptr+4>>2]=e},Me.prototype.get_type=function(){return je[this.ptr+4>>2]},Me.prototype.set_destructor=function(e){je[this.ptr+8>>2]=e},Me.prototype.get_destructor=function(){return je[this.ptr+8>>2]},Me.prototype.set_caught=function(e){De[this.ptr+12]=+!!e},Me.prototype.get_caught=function(){return De[this.ptr+12]!=0},Me.prototype.set_rethrown=function(e){De[this.ptr+13]=+!!e},Me.prototype.get_rethrown=function(){return De[this.ptr+13]!=0},Me.prototype.init=function(e,t){this.set_adjusted_ptr(0),this.set_type(e),this.set_destructor(t)},Me.prototype.set_adjusted_ptr=function(e){je[this.ptr+16>>2]=e},Me.prototype.get_adjusted_ptr=function(){return je[this.ptr+16>>2]},Ne=0,Pe=function(e){ae()},Fe=function(e,t,n){new Me(e).init(t,n),Ne++,Pe(e)},Ie=function(){return ae(``)},F=function(){return 2147483648},I=function(e,t){return Math.ceil(e/t)*t},L=function(e){var t=Pr.buffer.byteLength;try{return Pr.grow((e-t+65535)/65536|0),ce(),1}catch{}},Le=function(e){var t=R.length;e>>>=0;var n=F();if(e>n)return!1;for(var r=1;r<=4;r*=2){var i=t*(1+.2/r);if(i=Math.min(i,e+100663296),i=Math.min(n,I(Math.max(e,i),65536)),L(i))return!0}return!1},Re=function(e){return 52},ze=[null,[],[]],Be=globalThis.TextDecoder&&new TextDecoder,Ve=function(e,t,n,r){if(n=t+n,r)return n;for(;e[t]&&!(t>=n);)++t;return t},He=function(e,t,n,r){if(t=t===void 0?0:t,n=Ve(e,t,n,r),n-t>16&&e.buffer&&Be)return Be.decode(e.subarray(t,n));for(r=``;t<n;){var i=e[t++];if(i&128){var a=e[t++]&63;if((i&224)==192)r+=String.fromCharCode((i&31)<<6|a);else{var o=e[t++]&63;i=(i&240)==224?(i&15)<<12|a<<6|o:(i&7)<<18|a<<12|o<<6|e[t++]&63,i<65536?r+=String.fromCharCode(i):(i-=65536,r+=String.fromCharCode(55296|i>>10,56320|i&1023))}}else r+=String.fromCharCode(i)}return r},Ue=function(e,t){var n=ze[e];t&&t!==10?n.push(t):((e===1?ye:be)(He(n)),n.length=0)},We=function(e,t,n){return e?He(R,e,t,n):``},Ge=function(e,t,n,r){for(var i=0,a=0;a<n;a++){var o=je[t>>2],s=je[t+4>>2];t+=8;for(var c=0;c<s;c++)Ue(e,R[o+c]);i+=s}return je[r>>2]=i,0},Ke=function(e){for(var t=0,n=0;n<e.length;++n){var r=e.charCodeAt(n);r<=127?t++:r<=2047?t+=2:r>=55296&&r<=57343?(t+=4,++n):t+=3}return t},qe=function(e,t,n,r){if(!(r>0))return 0;var i=n;r=n+r-1;for(var a=0;a<e.length;++a){var o=e.codePointAt(a);if(o<=127){if(n>=r)break;t[n++]=o}else if(o<=2047){if(n+1>=r)break;t[n++]=192|o>>6,t[n++]=128|o&63}else if(o<=65535){if(n+2>=r)break;t[n++]=224|o>>12,t[n++]=128|o>>6&63,t[n++]=128|o&63}else{if(n+3>=r)break;t[n++]=240|o>>18,t[n++]=128|o>>12&63,t[n++]=128|o>>6&63,t[n++]=128|o&63,a++}}return t[n]=0,n-i},Je=function(e,t,n){return n=n>0?n:Ke(e)+1,n=Array(n),e=qe(e,n,0,n.length),t&&(n.length=e),n},Ye=[],Xe=function(e){return Ye.push(e)},N.print&&(ye=N.print),N.printErr&&(be=N.printErr),N.wasmBinary&&(xe=N.wasmBinary),Ze=N.preInit)for(typeof Ze==`function`&&(N.preInit=Ze=[Ze]);Ze.length>0;)Ze.shift()();return Fr={a:Fe,e:Ie,c:Le,d:Re,b:Ge},ne.yield(te(),2)}return ne.getNextAddressJsc()==3?(j.prototype=Object.create(j.prototype),j.prototype.constructor=j,j.prototype.__class__=j,j.__cache__={},N.WrapperObject=j,N.getCache=A,N.wrapPointer=k,N.castObject=O,N.NULL=k(0),N.destroy=D,N.compare=E,N.getPointer=T,N.getClass=w,z={buffer:0,size:0,pos:0,temps:[],needed:0,prepare:function(){if(z.needed){for(var e=0;e<z.temps.length;e++)N._webidl_free(z.temps[e]);z.temps.length=0,N._webidl_free(z.buffer),z.buffer=0,z.size+=z.needed,z.needed=0}z.buffer||(z.size+=128,z.buffer=N._webidl_malloc(z.size),z.buffer||ae(void 0)),z.pos=0},alloc:function(e,t){return z.buffer||ae(void 0),e=e.length*t.BYTES_PER_ELEMENT,e=I(e,8),z.pos+e>=z.size?(e>0||ae(void 0),z.needed+=e,t=N._webidl_malloc(e),z.temps.push(t)):(t=z.buffer+z.pos,z.pos+=e),t}},x.prototype=Object.create(j.prototype),x.prototype.constructor=x,x.prototype.__class__=x,x.__cache__={},N.VoidPtr=x,x.prototype.__destroy__=x.prototype.__destroy__=function(){Qe(this.ptr)},b.prototype=Object.create(j.prototype),b.prototype.constructor=b,b.prototype.__class__=b,b.__cache__={},N.DecoderBuffer=b,b.prototype.Init=b.prototype.Init=function(e,t){var n=this.ptr;z.prepare(),typeof e==`object`&&(e=S(e)),t&&typeof t==`object`&&(t=t.ptr),et(n,e,t)},b.prototype.__destroy__=b.prototype.__destroy__=function(){tt(this.ptr)},y.prototype=Object.create(j.prototype),y.prototype.constructor=y,y.prototype.__class__=y,y.__cache__={},N.AttributeTransformData=y,y.prototype.transform_type=y.prototype.transform_type=function(){return rt(this.ptr)},y.prototype.__destroy__=y.prototype.__destroy__=function(){it(this.ptr)},v.prototype=Object.create(j.prototype),v.prototype.constructor=v,v.prototype.__class__=v,v.__cache__={},N.GeometryAttribute=v,v.prototype.__destroy__=v.prototype.__destroy__=function(){ot(this.ptr)},_.prototype=Object.create(j.prototype),_.prototype.constructor=_,_.prototype.__class__=_,_.__cache__={},N.PointAttribute=_,_.prototype.size=_.prototype.size=function(){return ct(this.ptr)},_.prototype.GetAttributeTransformData=_.prototype.GetAttributeTransformData=function(){return k(lt(this.ptr),y)},_.prototype.attribute_type=_.prototype.attribute_type=function(){return ut(this.ptr)},_.prototype.data_type=_.prototype.data_type=function(){return dt(this.ptr)},_.prototype.num_components=_.prototype.num_components=function(){return ft(this.ptr)},_.prototype.normalized=_.prototype.normalized=function(){return!!pt(this.ptr)},_.prototype.byte_stride=_.prototype.byte_stride=function(){return mt(this.ptr)},_.prototype.byte_offset=_.prototype.byte_offset=function(){return ht(this.ptr)},_.prototype.unique_id=_.prototype.unique_id=function(){return gt(this.ptr)},_.prototype.__destroy__=_.prototype.__destroy__=function(){_t(this.ptr)},g.prototype=Object.create(j.prototype),g.prototype.constructor=g,g.prototype.__class__=g,g.__cache__={},N.AttributeQuantizationTransform=g,g.prototype.InitFromAttribute=g.prototype.InitFromAttribute=function(e){var t=this.ptr;return e&&typeof e==`object`&&(e=e.ptr),!!yt(t,e)},g.prototype.quantization_bits=g.prototype.quantization_bits=function(){return bt(this.ptr)},g.prototype.min_value=g.prototype.min_value=function(e){var t=this.ptr;return e&&typeof e==`object`&&(e=e.ptr),xt(t,e)},g.prototype.range=g.prototype.range=function(){return St(this.ptr)},g.prototype.__destroy__=g.prototype.__destroy__=function(){Ct(this.ptr)},h.prototype=Object.create(j.prototype),h.prototype.constructor=h,h.prototype.__class__=h,h.__cache__={},N.AttributeOctahedronTransform=h,h.prototype.InitFromAttribute=h.prototype.InitFromAttribute=function(e){var t=this.ptr;return e&&typeof e==`object`&&(e=e.ptr),!!Tt(t,e)},h.prototype.quantization_bits=h.prototype.quantization_bits=function(){return Et(this.ptr)},h.prototype.__destroy__=h.prototype.__destroy__=function(){Dt(this.ptr)},m.prototype=Object.create(j.prototype),m.prototype.constructor=m,m.prototype.__class__=m,m.__cache__={},N.PointCloud=m,m.prototype.num_attributes=m.prototype.num_attributes=function(){return kt(this.ptr)},m.prototype.num_points=m.prototype.num_points=function(){return At(this.ptr)},m.prototype.__destroy__=m.prototype.__destroy__=function(){jt(this.ptr)},p.prototype=Object.create(j.prototype),p.prototype.constructor=p,p.prototype.__class__=p,p.__cache__={},N.Mesh=p,p.prototype.num_faces=p.prototype.num_faces=function(){return Nt(this.ptr)},p.prototype.num_attributes=p.prototype.num_attributes=function(){return Pt(this.ptr)},p.prototype.num_points=p.prototype.num_points=function(){return Ft(this.ptr)},p.prototype.__destroy__=p.prototype.__destroy__=function(){It(this.ptr)},f.prototype=Object.create(j.prototype),f.prototype.constructor=f,f.prototype.__class__=f,f.__cache__={},N.Metadata=f,f.prototype.__destroy__=f.prototype.__destroy__=function(){Rt(this.ptr)},d.prototype=Object.create(j.prototype),d.prototype.constructor=d,d.prototype.__class__=d,d.__cache__={},N.Status=d,d.prototype.code=d.prototype.code=function(){return zt(this.ptr)},d.prototype.ok=d.prototype.ok=function(){return!!Bt(this.ptr)},d.prototype.error_msg=d.prototype.error_msg=function(){return We(Vt(this.ptr))},d.prototype.__destroy__=d.prototype.__destroy__=function(){Ht(this.ptr)},u.prototype=Object.create(j.prototype),u.prototype.constructor=u,u.prototype.__class__=u,u.__cache__={},N.DracoFloat32Array=u,u.prototype.GetValue=u.prototype.GetValue=function(e){var t=this.ptr;return e&&typeof e==`object`&&(e=e.ptr),Wt(t,e)},u.prototype.size=u.prototype.size=function(){return Gt(this.ptr)},u.prototype.__destroy__=u.prototype.__destroy__=function(){Kt(this.ptr)},l.prototype=Object.create(j.prototype),l.prototype.constructor=l,l.prototype.__class__=l,l.__cache__={},N.DracoInt8Array=l,l.prototype.GetValue=l.prototype.GetValue=function(e){var t=this.ptr;return e&&typeof e==`object`&&(e=e.ptr),Jt(t,e)},l.prototype.size=l.prototype.size=function(){return Yt(this.ptr)},l.prototype.__destroy__=l.prototype.__destroy__=function(){Xt(this.ptr)},c.prototype=Object.create(j.prototype),c.prototype.constructor=c,c.prototype.__class__=c,c.__cache__={},N.DracoUInt8Array=c,c.prototype.GetValue=c.prototype.GetValue=function(e){var t=this.ptr;return e&&typeof e==`object`&&(e=e.ptr),Qt(t,e)},c.prototype.size=c.prototype.size=function(){return $t(this.ptr)},c.prototype.__destroy__=c.prototype.__destroy__=function(){en(this.ptr)},s.prototype=Object.create(j.prototype),s.prototype.constructor=s,s.prototype.__class__=s,s.__cache__={},N.DracoInt16Array=s,s.prototype.GetValue=s.prototype.GetValue=function(e){var t=this.ptr;return e&&typeof e==`object`&&(e=e.ptr),nn(t,e)},s.prototype.size=s.prototype.size=function(){return rn(this.ptr)},s.prototype.__destroy__=s.prototype.__destroy__=function(){an(this.ptr)},o.prototype=Object.create(j.prototype),o.prototype.constructor=o,o.prototype.__class__=o,o.__cache__={},N.DracoUInt16Array=o,o.prototype.GetValue=o.prototype.GetValue=function(e){var t=this.ptr;return e&&typeof e==`object`&&(e=e.ptr),sn(t,e)},o.prototype.size=o.prototype.size=function(){return cn(this.ptr)},o.prototype.__destroy__=o.prototype.__destroy__=function(){ln(this.ptr)},a.prototype=Object.create(j.prototype),a.prototype.constructor=a,a.prototype.__class__=a,a.__cache__={},N.DracoInt32Array=a,a.prototype.GetValue=a.prototype.GetValue=function(e){var t=this.ptr;return e&&typeof e==`object`&&(e=e.ptr),dn(t,e)},a.prototype.size=a.prototype.size=function(){return fn(this.ptr)},a.prototype.__destroy__=a.prototype.__destroy__=function(){pn(this.ptr)},i.prototype=Object.create(j.prototype),i.prototype.constructor=i,i.prototype.__class__=i,i.__cache__={},N.DracoUInt32Array=i,i.prototype.GetValue=i.prototype.GetValue=function(e){var t=this.ptr;return e&&typeof e==`object`&&(e=e.ptr),hn(t,e)},i.prototype.size=i.prototype.size=function(){return gn(this.ptr)},i.prototype.__destroy__=i.prototype.__destroy__=function(){_n(this.ptr)},r.prototype=Object.create(j.prototype),r.prototype.constructor=r,r.prototype.__class__=r,r.__cache__={},N.MetadataQuerier=r,r.prototype.HasEntry=r.prototype.HasEntry=function(e,t){var n=this.ptr;return z.prepare(),e&&typeof e==`object`&&(e=e.ptr),t=t&&typeof t==`object`?t.ptr:C(t),!!yn(n,e,t)},r.prototype.GetIntEntry=r.prototype.GetIntEntry=function(e,t){var n=this.ptr;return z.prepare(),e&&typeof e==`object`&&(e=e.ptr),t=t&&typeof t==`object`?t.ptr:C(t),bn(n,e,t)},r.prototype.GetIntEntryArray=r.prototype.GetIntEntryArray=function(e,t,n){var r=this.ptr;z.prepare(),e&&typeof e==`object`&&(e=e.ptr),t=t&&typeof t==`object`?t.ptr:C(t),n&&typeof n==`object`&&(n=n.ptr),xn(r,e,t,n)},r.prototype.GetDoubleEntry=r.prototype.GetDoubleEntry=function(e,t){var n=this.ptr;return z.prepare(),e&&typeof e==`object`&&(e=e.ptr),t=t&&typeof t==`object`?t.ptr:C(t),Sn(n,e,t)},r.prototype.GetStringEntry=r.prototype.GetStringEntry=function(e,t){var n=this.ptr;return z.prepare(),e&&typeof e==`object`&&(e=e.ptr),t=t&&typeof t==`object`?t.ptr:C(t),We(Cn(n,e,t))},r.prototype.NumEntries=r.prototype.NumEntries=function(e){var t=this.ptr;return e&&typeof e==`object`&&(e=e.ptr),wn(t,e)},r.prototype.GetEntryName=r.prototype.GetEntryName=function(e,t){var n=this.ptr;return e&&typeof e==`object`&&(e=e.ptr),t&&typeof t==`object`&&(t=t.ptr),We(Tn(n,e,t))},r.prototype.__destroy__=r.prototype.__destroy__=function(){En(this.ptr)},n.prototype=Object.create(j.prototype),n.prototype.constructor=n,n.prototype.__class__=n,n.__cache__={},N.Decoder=n,n.prototype.DecodeArrayToPointCloud=n.prototype.DecodeArrayToPointCloud=function(e,t,n){var r=this.ptr;return z.prepare(),typeof e==`object`&&(e=S(e)),t&&typeof t==`object`&&(t=t.ptr),n&&typeof n==`object`&&(n=n.ptr),k(On(r,e,t,n),d)},n.prototype.DecodeArrayToMesh=n.prototype.DecodeArrayToMesh=function(e,t,n){var r=this.ptr;return z.prepare(),typeof e==`object`&&(e=S(e)),t&&typeof t==`object`&&(t=t.ptr),n&&typeof n==`object`&&(n=n.ptr),k(kn(r,e,t,n),d)},n.prototype.GetAttributeId=n.prototype.GetAttributeId=function(e,t){var n=this.ptr;return e&&typeof e==`object`&&(e=e.ptr),t&&typeof t==`object`&&(t=t.ptr),An(n,e,t)},n.prototype.GetAttributeIdByName=n.prototype.GetAttributeIdByName=function(e,t){var n=this.ptr;return z.prepare(),e&&typeof e==`object`&&(e=e.ptr),t=t&&typeof t==`object`?t.ptr:C(t),jn(n,e,t)},n.prototype.GetAttributeIdByMetadataEntry=n.prototype.GetAttributeIdByMetadataEntry=function(e,t,n){var r=this.ptr;return z.prepare(),e&&typeof e==`object`&&(e=e.ptr),t=t&&typeof t==`object`?t.ptr:C(t),n=n&&typeof n==`object`?n.ptr:C(n),Mn(r,e,t,n)},n.prototype.GetAttribute=n.prototype.GetAttribute=function(e,t){var n=this.ptr;return e&&typeof e==`object`&&(e=e.ptr),t&&typeof t==`object`&&(t=t.ptr),k(Nn(n,e,t),_)},n.prototype.GetAttributeByUniqueId=n.prototype.GetAttributeByUniqueId=function(e,t){var n=this.ptr;return e&&typeof e==`object`&&(e=e.ptr),t&&typeof t==`object`&&(t=t.ptr),k(Pn(n,e,t),_)},n.prototype.GetMetadata=n.prototype.GetMetadata=function(e){var t=this.ptr;return e&&typeof e==`object`&&(e=e.ptr),k(Fn(t,e),f)},n.prototype.GetAttributeMetadata=n.prototype.GetAttributeMetadata=function(e,t){var n=this.ptr;return e&&typeof e==`object`&&(e=e.ptr),t&&typeof t==`object`&&(t=t.ptr),k(In(n,e,t),f)},n.prototype.GetFaceFromMesh=n.prototype.GetFaceFromMesh=function(e,t,n){var r=this.ptr;return e&&typeof e==`object`&&(e=e.ptr),t&&typeof t==`object`&&(t=t.ptr),n&&typeof n==`object`&&(n=n.ptr),!!Ln(r,e,t,n)},n.prototype.GetTriangleStripsFromMesh=n.prototype.GetTriangleStripsFromMesh=function(e,t){var n=this.ptr;return e&&typeof e==`object`&&(e=e.ptr),t&&typeof t==`object`&&(t=t.ptr),Rn(n,e,t)},n.prototype.GetTrianglesUInt16Array=n.prototype.GetTrianglesUInt16Array=function(e,t,n){var r=this.ptr;return e&&typeof e==`object`&&(e=e.ptr),t&&typeof t==`object`&&(t=t.ptr),n&&typeof n==`object`&&(n=n.ptr),!!zn(r,e,t,n)},n.prototype.GetTrianglesUInt32Array=n.prototype.GetTrianglesUInt32Array=function(e,t,n){var r=this.ptr;return e&&typeof e==`object`&&(e=e.ptr),t&&typeof t==`object`&&(t=t.ptr),n&&typeof n==`object`&&(n=n.ptr),!!Bn(r,e,t,n)},n.prototype.GetAttributeFloat=n.prototype.GetAttributeFloat=function(e,t,n){var r=this.ptr;return e&&typeof e==`object`&&(e=e.ptr),t&&typeof t==`object`&&(t=t.ptr),n&&typeof n==`object`&&(n=n.ptr),!!Vn(r,e,t,n)},n.prototype.GetAttributeFloatForAllPoints=n.prototype.GetAttributeFloatForAllPoints=function(e,t,n){var r=this.ptr;return e&&typeof e==`object`&&(e=e.ptr),t&&typeof t==`object`&&(t=t.ptr),n&&typeof n==`object`&&(n=n.ptr),!!Hn(r,e,t,n)},n.prototype.GetAttributeIntForAllPoints=n.prototype.GetAttributeIntForAllPoints=function(e,t,n){var r=this.ptr;return e&&typeof e==`object`&&(e=e.ptr),t&&typeof t==`object`&&(t=t.ptr),n&&typeof n==`object`&&(n=n.ptr),!!Un(r,e,t,n)},n.prototype.GetAttributeInt8ForAllPoints=n.prototype.GetAttributeInt8ForAllPoints=function(e,t,n){var r=this.ptr;return e&&typeof e==`object`&&(e=e.ptr),t&&typeof t==`object`&&(t=t.ptr),n&&typeof n==`object`&&(n=n.ptr),!!Wn(r,e,t,n)},n.prototype.GetAttributeUInt8ForAllPoints=n.prototype.GetAttributeUInt8ForAllPoints=function(e,t,n){var r=this.ptr;return e&&typeof e==`object`&&(e=e.ptr),t&&typeof t==`object`&&(t=t.ptr),n&&typeof n==`object`&&(n=n.ptr),!!Gn(r,e,t,n)},n.prototype.GetAttributeInt16ForAllPoints=n.prototype.GetAttributeInt16ForAllPoints=function(e,t,n){var r=this.ptr;return e&&typeof e==`object`&&(e=e.ptr),t&&typeof t==`object`&&(t=t.ptr),n&&typeof n==`object`&&(n=n.ptr),!!Kn(r,e,t,n)},n.prototype.GetAttributeUInt16ForAllPoints=n.prototype.GetAttributeUInt16ForAllPoints=function(e,t,n){var r=this.ptr;return e&&typeof e==`object`&&(e=e.ptr),t&&typeof t==`object`&&(t=t.ptr),n&&typeof n==`object`&&(n=n.ptr),!!qn(r,e,t,n)},n.prototype.GetAttributeInt32ForAllPoints=n.prototype.GetAttributeInt32ForAllPoints=function(e,t,n){var r=this.ptr;return e&&typeof e==`object`&&(e=e.ptr),t&&typeof t==`object`&&(t=t.ptr),n&&typeof n==`object`&&(n=n.ptr),!!Jn(r,e,t,n)},n.prototype.GetAttributeUInt32ForAllPoints=n.prototype.GetAttributeUInt32ForAllPoints=function(e,t,n){var r=this.ptr;return e&&typeof e==`object`&&(e=e.ptr),t&&typeof t==`object`&&(t=t.ptr),n&&typeof n==`object`&&(n=n.ptr),!!Yn(r,e,t,n)},n.prototype.GetAttributeDataArrayForAllPoints=n.prototype.GetAttributeDataArrayForAllPoints=function(e,t,n,r,i){var a=this.ptr;return e&&typeof e==`object`&&(e=e.ptr),t&&typeof t==`object`&&(t=t.ptr),n&&typeof n==`object`&&(n=n.ptr),r&&typeof r==`object`&&(r=r.ptr),i&&typeof i==`object`&&(i=i.ptr),!!Xn(a,e,t,n,r,i)},n.prototype.SkipAttributeTransform=n.prototype.SkipAttributeTransform=function(e){var t=this.ptr;e&&typeof e==`object`&&(e=e.ptr),Zn(t,e)},n.prototype.GetEncodedGeometryType_Deprecated=n.prototype.GetEncodedGeometryType_Deprecated=function(e){var t=this.ptr;return e&&typeof e==`object`&&(e=e.ptr),Qn(t,e)},n.prototype.DecodeBufferToPointCloud=n.prototype.DecodeBufferToPointCloud=function(e,t){var n=this.ptr;return e&&typeof e==`object`&&(e=e.ptr),t&&typeof t==`object`&&(t=t.ptr),k($n(n,e,t),d)},n.prototype.DecodeBufferToMesh=n.prototype.DecodeBufferToMesh=function(e,t){var n=this.ptr;return e&&typeof e==`object`&&(e=e.ptr),t&&typeof t==`object`&&(t=t.ptr),k(er(n,e,t),d)},n.prototype.__destroy__=n.prototype.__destroy__=function(){tr(this.ptr)},(function(){function e(){N.ATTRIBUTE_INVALID_TRANSFORM=nr(),N.ATTRIBUTE_NO_TRANSFORM=rr(),N.ATTRIBUTE_QUANTIZATION_TRANSFORM=ir(),N.ATTRIBUTE_OCTAHEDRON_TRANSFORM=ar(),N.INVALID=or(),N.POSITION=sr(),N.NORMAL=cr(),N.COLOR=lr(),N.TEX_COORD=ur(),N.GENERIC=dr(),N.INVALID_GEOMETRY_TYPE=fr(),N.POINT_CLOUD=pr(),N.TRIANGULAR_MESH=mr(),N.DT_INVALID=hr(),N.DT_INT8=gr(),N.DT_UINT8=_r(),N.DT_INT16=vr(),N.DT_UINT16=yr(),N.DT_INT32=br(),N.DT_UINT32=xr(),N.DT_INT64=Sr(),N.DT_UINT64=Cr(),N.DT_FLOAT32=wr(),N.DT_FLOAT64=Tr(),N.DT_BOOL=Er(),N.DT_TYPES_COUNT=Dr(),N.OK=Or(),N.DRACO_ERROR=kr(),N.IO_ERROR=Ar(),N.INVALID_PARAMETER=jr(),N.UNSUPPORTED_VERSION=Mr(),N.UNKNOWN_VERSION=Nr()}Ee?e():Xe(e)})(),N.Decoder.prototype.GetEncodedGeometryType=function(e){if(e.__class__&&e.__class__===N.DecoderBuffer)return N.Decoder.prototype.GetEncodedGeometryType_Deprecated(e);if(e.byteLength<8)return N.INVALID_GEOMETRY_TYPE;switch(e[7]){case 0:return N.POINT_CLOUD;case 1:return N.TRIANGULAR_MESH;default:return N.INVALID_GEOMETRY_TYPE}},typeof N.onModuleParsed==`function`&&N.onModuleParsed(),ne.return(N)):(Ir=ne.getYieldResultJsc(),ne.yield(ee(),3))})}}(),_h=`AGFzbQEAAAABmQEXYAF/AX9gAn9/AX9gAX8AYAN/f38Bf2ACf38AYAR/f39/AX9gAAF/YAN/f38AYAZ/f39/f38Bf2AEf39/fwBgAABgBX9/f39/AGAGf39/.f39/AGADf35/AX5gAn9/AX1gAn9+AGAGf39/f39+AGAHf39/f39/fwBgBX9/f39/AX9gA39/fgF/YAF+AX5gA39/fwF8YAF/AX0CHwUBYQFhAAcBYQFiAAUB.YQFjAAABYQFkAAABYQFlAAoD/AP6AwIACgECAQIEBwoHAAADAwIKAQICAAcCAgcECQAEBQQDAgABAgoCAAADAwsCBgEEBwABAQIBAgMKAAcDCQMDAAQEAQQH.AQcAAAYCBAACBAsHBwAABgYCAgUFBQUEBQUPAQEHEAQEBwkJAQACAQADAgIAAAQEBwQABAMABgQDAAACAAACAQIABAkBAgEBBAIBAQEBBQMAAQMBAwQEAAMD.AQUFBQUFBQUAAgMJBwIRAQEBBAMAAQcBABIKBAcDAAMDBAcBAQMDAQYGBQEAAAEAAQAEAQMTAAsEAQEBAQAAAAQEBAIAAgEABwMAAwEBCQkDAwEBAgEBABQE.AQAJAAECAAECAAEAAQEBAQIAAwEDAwECAAEBAAwMCwsJCQMKAQ0NAwACBAAHAgAGBgYGAQYGBgYGBgYGAQIDAwEECAUFBQUFBQUFAAUDBQMBAwMFAwMFBQYC.AwEDFQkDAwYBAQEBDgIAAAIGAAYDBgYWDgYAAAAAAAAABgYCBgcGAAEAAAABAAABBQIAAgABAgAAAgMAAgABAgAABwIAAgICAgEAAAIAAAEBAAIAAAAAAQAA.AQIAAQABAwUEAwMICAIAAQgEAgAICAIAAQgCAAMBAwMDCAAIAgAIAgAIAQECAAgBAgAICAgCAAgCAAgBAQIACAECAAgIBAEAAQMDAQEKBAcBcAGKA4oDBQcB.AYICgIACBggBfwFB0IcFCwelBpUBAWYCAAFnAP4DAWgAGwFpAAUBagD+AgFrAFYBbACEAQFtAP0CAW4A/AIBbwCEAQFwAPsCAXEA1AEBcgD6AgFzAPkCAXQA.hAEBdQD4AgF2AIMBAXcA9wIBeAD2AgF5ACwBegD1AgFBAPQCAUIA8wIBQwDyAgFEAPECAUUAFwFGAPACAUcA0wEBSAArAUkA7wIBSgDuAgFLAFsBTADtAgFN.ANMBAU4AKwFPAFsBUADsAgFRANIBAVIAgwEBUwBbAVQA6gIBVQDpAgFWANIBAVcAgwEBWABbAVkA6AIBWgDnAgFfANQBASQA5gICYWEA5QICYmEA5AICY2EA.MQJkYQDjAgJlYQCCAQJmYQAwAmdhADECaGEA4gICaWEA0AECamEAMAJrYQAxAmxhAOECAm1hANABAm5hADACb2EAMQJwYQDgAgJxYQDPAQJyYQAwAnNhADEC.dGEA3wICdWEAzwECdmEAMAJ3YQAxAnhhAM4BAnlhAIIBAnphADACQWEAMQJCYQDOAQJDYQCCAQJEYQAwAkVhAN4CAkZhAN0CAkdhANwCAkhhANsCAklhANoC.AkphANkCAkthANgCAkxhANcCAk1hANYCAk5hANUCAk9hANQCAlBhANMCAlFhANICAlJhANECAlNhANACAlRhAM8CAlVhAM4CAlZhAM0CAldhAMwCAlhhAMsC.AllhAMoCAlphAMkCAl9hAMcCAiRhAMYCAmFiAMUCAmJiAM0BAmNiAMQCAmRiAMMCAmViAMICAmZiAMECAmdiAM0BAmhiAMACAmliAL8CAmpiAL4CAmtiAL0C.AmxiALwCAm1iALsCAm5iALoCAm9iAFkCcGIATQJxYgBYAnJiAH8Cc2IAWQJ0YgBNAnViAFgCdmIAfwJ3YgDMAQJ4YgDLAQJ5YgBZAnpiAE0CQWIAWAJCYgBN.AkNiAFgCRGIAfwJFYgDMAQJGYgDLAQJHYgC4AgJIYgC3AgJJYgC2AgJKYgC1AgJLYgC0AgJMYgCzAgJNYgCyAgJOYgCxAgJPYgBNAlBiAFkCUWIArwICUmIA.rgICU2IArQICVGIArAIJgwUBAEEBC4kDqwEgG1D9A7kDhwOtAZcCcpEDgQLtAyClA6MDEdsDwgO4A/MBsQPsAYECoAPIAlrrAtEBuQKwAqgCLBagAroBEaAB.lAKhApYClQKOAo0CnQGTApICkQK6AZACjwKGAoUCjAKLAoQCigKJAogChwKDAoICnQH8A/sDmwH6A/gD+QPTA1ERK0wmmgEWJhH3A/YD9QNaUVBM9APzA/ID.gAJM8QPwA+8D7gOZAXERFnDsA+sD6gPpA/4BcREWcP0B/AHoA+cD5gNL+gERFvkB+AHlAyAbSSxKURFM5ANRUEzjA+ID4QOAAkzgA98D3gPdA5kBcREWcNwD.2gPZA9gD/gFxERZw/QH8AdcD1gPVA0v6AREW+QH4AdQDIBtJLEhRJhHSA4MCggLRA88D0APNA1DOA8wDywNLK24RFm0RUPYBygMgG0ksSsgDxwNLbhEWbfYB.xgMgG0ksSCAbJhEmmgEWyQPFA8QDwwNLK24RFm0RmQH1AcEDIBtJLEq/A74DS24RFm31Ab0DIBtJLEgbJhEmmgEWwAO8A7MDsgO7A7cDugO2A7UDtAOvA1oR.EbADgQOAAxEmFhaqA6kDrQOuA6sDqAOnA6YDrAPiAZ8DlgGVAZQBkwGkAxErigHhAZ4DlgGVAZQBkwGiAxErigHgAZ0DlgGVAZQBkwGhAxErigHqAZwD6wGb.A5oDlwOWA5UDlAOYA5MDmQOSA5ADjgONA4wDiwOPA4oDiQOIA4YDhQOHAdwBhAMgG4MDggNaJhGHAf8C2QGHAdwB2QGrAqoCqQKnAlemAsUBxAGlAqQCowIm.ogIgG7ABsAGfApkCmwKeAhuaApwCnQIbmAJ0K3R0DAEbCprRD/oDggwBCH8CQCAARQ0AIABBCGsiAyAAQQRrKAIAIgJBeHEiAGohBQJAIAJBAXENACACQQJx.RQ0BIAMgAygCACIEayIDQeCDASgCAEkNASAAIARqIQACQAJAAkBB5IMBKAIAIANHBEAgAygCDCEBIARB/wFNBEAgASADKAIIIgJHDQJB0IMBQdCDASgCAEF+.IARBA3Z3cTYCAAwFCyADKAIYIQcgASADRwRAIAMoAggiAiABNgIMIAEgAjYCCAwECyADKAIUIgIEfyADQRRqBSADKAIQIgJFDQMgA0EQagshBANAIAQhBiAC.IgFBFGohBCABKAIUIgINACABQRBqIQQgASgCECICDQALIAZBADYCAAwDCyAFKAIEIgJBA3FBA0cNA0HYgwEgADYCACAFIAJBfnE2AgQgAyAAQQFyNgIEIAUg.ADYCAA8LIAIgATYCDCABIAI2AggMAgtBACEBCyAHRQ0AAkAgAygCHCIEQQJ0IgIoAoCGASADRgRAIAJBgIYBaiABNgIAIAENAUHUgwFB1IMBKAIAQX4gBHdx.NgIADAILAkAgAyAHKAIQRgRAIAcgATYCEAwBCyAHIAE2AhQLIAFFDQELIAEgBzYCGCADKAIQIgIEQCABIAI2AhAgAiABNgIYCyADKAIUIgJFDQAgASACNgIU.IAIgATYCGAsgAyAFTw0AIAUoAgQiBEEBcUUNAAJAAkACQAJAIARBAnFFBEBB6IMBKAIAIAVGBEBB6IMBIAM2AgBB3IMBQdyDASgCACAAaiIANgIAIAMgAEEB.cjYCBCADQeSDASgCAEcNBkHYgwFBADYCAEHkgwFBADYCAA8LQeSDASgCACIHIAVGBEBB5IMBIAM2AgBB2IMBQdiDASgCACAAaiIANgIAIAMgAEEBcjYCBCAA.IANqIAA2AgAPCyAEQXhxIABqIQAgBSgCDCEBIARB/wFNBEAgBSgCCCICIAFGBEBB0IMBQdCDASgCAEF+IARBA3Z3cTYCAAwFCyACIAE2AgwgASACNgIIDAQL.IAUoAhghCCABIAVHBEAgBSgCCCICIAE2AgwgASACNgIIDAMLIAUoAhQiAgR/IAVBFGoFIAUoAhAiAkUNAiAFQRBqCyEEA0AgBCEGIAIiAUEUaiEEIAEoAhQi.Ag0AIAFBEGohBCABKAIQIgINAAsgBkEANgIADAILIAUgBEF+cTYCBCADIABBAXI2AgQgACADaiAANgIADAMLQQAhAQsgCEUNAAJAIAUoAhwiBEECdCICKAKA.hgEgBUYEQCACQYCGAWogATYCACABDQFB1IMBQdSDASgCAEF+IAR3cTYCAAwCCwJAIAUgCCgCEEYEQCAIIAE2AhAMAQsgCCABNgIUCyABRQ0BCyABIAg2Ahgg.BSgCECICBEAgASACNgIQIAIgATYCGAsgBSgCFCICRQ0AIAEgAjYCFCACIAE2AhgLIAMgAEEBcjYCBCAAIANqIAA2AgAgAyAHRw0AQdiDASAANgIADwsgAEH/.AU0EQCAAQfgBcUH4gwFqIQICf0HQgwEoAgAiBEEBIABBA3Z0IgBxRQRAQdCDASAAIARyNgIAIAIMAQsgAigCCAshACACIAM2AgggACADNgIMIAMgAjYCDCAD.IAA2AggPC0EfIQEgAEH///8HTQRAIABBJiAAQQh2ZyICa3ZBAXEgAkEBdHJBPnMhAQsgAyABNgIcIANCADcCECABQQJ0QYCGAWohBAJ/AkACf0HUgwEoAgAi.BkEBIAF0IgJxRQRAQdSDASACIAZyNgIAIAQgAzYCAEEYIQFBCAwBCyAAQRkgAUEBdmtBACABQR9HG3QhASAEKAIAIQQDQCAEIgIoAgRBeHEgAEYNAiABQR12.IQQgAUEBdCEBIAIgBEEEcWoiBigCECIEDQALIAYgAzYCEEEYIQEgAiEEQQgLIQAgAyICDAELIAIoAggiBCADNgIMIAIgAzYCCEEYIQBBCCEBQQALIQYgASAD.aiAENgIAIAMgAjYCDCAAIANqIAY2AgBB8IMBQfCDASgCAEEBayIAQX8gABs2AgALCzwBAn9BASAAIABBAU0bIQEDQAJAIAEQViIADQBBwIcBKAIAIgJFDQAg.AhEKAAwBCwsgAEUEQBA8AAsgAAsJAEH/CBD3AQALjQMCBn8DfiMAQRBrIgQkAAJAIAEpAxAiCCABKQMIWQ0AIAAgASgCACAIp2otAAA6AAwgASABKQMQIghC.AXwiCTcDEAJAIAEvASZBgQRNBEAgASkDCCIKIAhCBXwiCFMEQAwDCyABKAIAIAmnaigAACECIAEgCDcDEAwBC0EBIARBDGogARD0AUUEQAwCCyABKQMQIQgg.ASkDCCEKIAQoAgwhAgsgAq0iCSAKIAh9VQ0AIAJBAEwNACAAIAEoAgAgCKdqIgU2AgACQAJ/AkACQAJAIAUgAkEBayIGaiIHLQAAQQZ2QQFrDgMAAQUCCyAC.QQFGDQQgACACQQJrIgI2AgQgAiAFai8AAEH//wBxDAILIAJBA0kNAyAAIAJBA2s2AgQgACACIAVqIgBBAmsvAABBCHRBgP7/AXEiAiAAQQNrLQAAckGAIGo2.AgggAkH/3z9NDQIMAwsgACAGNgIEIActAABBP3ELIQMgACADQYAgajYCCAsgASAIIAl8NwMQQQEhAwsgBEEQaiQAIAML8wEBCn8CQCAAKAIIIgIoAgQiCCAC.KAIAIgNrIgRBAnUiBUEBaiIBQYCAgIAESQRAQf////8DIAIoAgggA2siBkEBdSIHIAEgASAHSRsgBkH8////B08bIgFBgICAgARPDQEgACgCBCEHIAFBAnQi.CRAGIgogBGoiBiAHKAIANgIAIAYgBUECdGshBSADIAhHBEAgAyEBIAUhBANAIAQgASgCADYCACAEQQRqIQQgAUEEaiIBIAhHDQALCyACIAkgCmo2AgggAiAG.QQRqIgE2AgQgAiAFNgIAIAMEQCADEAULIAAoAgAgATYCAA8LEAcACxAOAAu/AQICfwN+IABBADYCECAAIAAoAgAiAjYCBCAAIAI2AgwCQCABKQMIIgYgASkD.ECIEQgR8IgVTDQAgASgCACAEp2ooAAAhAiABIAU3AxAgAkUNACACQQNxDQAgAq0iBCAGIAV9VQ0AIAAgAkECdhAMIAEpAwggASkDECIFIAR8Uw0AIAIEQCAA.KAIAIAEoAgAgBadqIAL8CgAACyABIAEpAxAgBHw3AxAgAEEANgIQIAAgACgCADYCDEEBIQMLIAMLlgQBCX8jAEEQayIBJAACQAJAAkACQAJAIAAoAhAiAkHV.Ak8EQCAAIAJB1QJrNgIQDAELAkAgACgCCCIEIAAoAgQiBmsiBSAAKAIMIgIgACgCACIDayIHSQRAIAIgBEYNASABQfwfEAY2AgAgACABEJ8BDAYLQQEgB0EB.dSACIANGGyICQYCAgIAETw0CIAEgAkECdCIIEAYiAzYCACABIAMgCGoiBzYCDCABIAMgBWoiAjYCBEH8HxAGIQkgBSAIRw0DIAQgBkcEQCABIAIgBUECdUEB.akF+bUECdGoiAjYCBAwECyABQQQQBiICNgIEIAEgAjYCACABIAJBBGoiBzYCDCADEAUgACgCBCEGIAAoAgghBCACIQUMBAsgAUH8HxAGNgIAIAAgARCeAQsg.ASAAKAIEIgIoAgA2AgAgACACQQRqNgIEIAAgARCfAQwDCxAOAAsgAyEFIAIhAwsgAyAJNgIAIAEgA0EEaiIINgIIIAQgBkcEQANAIAEgBEEEayIEEJ4BIAQg.ACgCBCIGRw0ACyAAKAIIIQQgASgCCCEIIAEoAgwhByABKAIAIQUgASgCBCECCyAAKAIAIQMgACAFNgIAIAEgAzYCACAAIAI2AgQgASAGNgIEIAAoAgwhAiAA.IAc2AgwgASACNgIMIAAgCDYCCCABIAQgBCAGa0F8cWs2AgggA0UNACADEAULIAFBEGokAAuRAgEGfwJAAkACQCAAKAIEIgIgACgCACIEayIGQQJ1IgMgAUkE.QCAAKAIIIARrIgVBAnUgAU8EQCABIANrQQJ0IgEEQCACQQAgAfwLAAsgACABIAJqNgIEDwsgAUGAgICABE8NAkH/////AyAFQQF1IgIgASABIAJJGyAFQfz/.//8HTxsiAkGAgICABE8NAyACQQJ0IgUQBiIHIAZqIQIgASADa0ECdCIBBEAgAkEAIAH8CwALIAIgA0ECdGshAyAGBEAgAyAEIAb8CgAACyAAIAUgB2o2Aggg.ACABIAJqNgIEIAAgAzYCACAERQ0BIAQQBQ8LIAEgA08NACAAIAQgAUECdGo2AgQLDwsQBwALEA4ACx8AIAAgAhC0ASEAIAJBAWoiAgRAIAAgASAC/AoAAAsL.HAEBf0EEEHUiAEH09QA2AgAgAEG09gBBDhAAAAunBAEJfyAAKAIIIgMgACgCACIEa0ECdSABTwRAAkAgACgCBCIGIARrQQJ1IgkgASABIAlLGyIIRQ0AIAIo.AgAhBSAEIQMgCCIHQQdxIgoEQANAIAMgBTYCACAHQQFrIQcgA0EEaiEDIAtBAWoiCyAKRw0ACwsgCEEISQ0AA0AgAyAFNgIcIAMgBTYCGCADIAU2AhQgAyAF.NgIQIAMgBTYCDCADIAU2AgggAyAFNgIEIAMgBTYCACADQSBqIQMgB0EIayIHDQALCyABIAlLBEAgBiABIAlrQQJ0aiEBIAIoAgAhAgNAIAYgAjYCACAGQQRq.IgYgAUcNAAsgACABNgIEDwsgACAEIAFBAnRqNgIEDwsgBARAIAAgBDYCBCAEEAUgAEEANgIIIABCADcCAEEAIQMLAkAgAUGAgICABE8NAEH/////AyADQQF1.IgQgASABIARJGyADQfz///8HTxsiA0GAgICABE8NACAAIANBAnQiAxAGIgQ2AgAgACADIARqNgIIIAIoAgAhAiAEIQMgAUECdCIBQQRrIgdBAnZBAWpBB3Ei.CARAA0AgAyACNgIAIANBBGohAyAGQQFqIgYgCEcNAAsLIAEgBGohASAHQRxPBEADQCADIAI2AhwgAyACNgIYIAMgAjYCFCADIAI2AhAgAyACNgIMIAMgAjYC.CCADIAI2AgQgAyACNgIAIANBIGoiAyABRw0ACwsgACABNgIEDwsQBwALeQEDfyAALQAMIQMCQCAAKAIIIgFB/x9LDQAgACgCBCICQQBMDQAgACACQQFrIgI2.AgQgACgCACACai0AACABQQh0ciEBCyAAQQAgA2tB/wFxIgAgAUEIdmwiAyABQf8BcSICaiABIAAgA2prIAAgAksiABs2AgggAAsEAEEBC2oCAn8BfgJAIABB.BUsNACACKQMQIgUgAikDCFkNACACKAIAIAWnaiwAACEDIAIgBUIBfDcDECABIANBAEgEfyAAQQFqIAEgAhASRQ0BIANB/wBxIAEoAgBBB3RyBSADCzYCAEEB.IQQLIAQLgQEBAn8CQAJAIAJBBE8EQCAAIAFyQQNxDQEDQCAAKAIAIAEoAgBHDQIgAUEEaiEBIABBBGohACACQQRrIgJBA0sNAAsLIAJFDQELA0AgAC0AACID.IAEtAAAiBEYEQCABQQFqIQEgAEEBaiEAIAJBAWsiAg0BDAILCyADIARrDwtBAAufAgEJfwJAIAAoAggiBSgCBCIIIAUoAgAiBmsiAkEMbUEBaiIDQdaq1aoB.SQRAIAAoAgQhAUHVqtWqASAFKAIIIAZrQQxtIgRBAXQiByADIAMgB0kbIARBqtWq1QBPGyIDQdaq1aoBTw0BIANBDGwiBxAGIgkgAmoiBCABKAIANgIAIAQg.ASgCBDYCBCAEIAEoAgg2AgggBCACQXRtQQxsaiEDIAYgCEcEQCAGIQEgAyECA0AgAiABKAIANgIAIAIgASgCBDYCBCACIAEoAgg2AgggAkEMaiECIAFBDGoi.ASAIRw0ACwsgBSAHIAlqNgIIIAUgBEEMaiIBNgIEIAUgAzYCACAGBEAgBhAFCyAAKAIAIAE2AgAPCxAHAAsQDgALIgEBf0EIEHVB/wgQsgEiAEHI9wA2AgAg.AEHU9wBBARAAAAsEAEEAC3oBAn8gAARAIAAoAlghASAAQQA2AlggAQRAIAEoAggiAgRAIAEgAjYCDCACEAULIAEQBQsgACgCRCIBBEAgACABNgJIIAEQBQsg.ACgCQCEBIABBADYCQCABBEAgASgCACICBEAgASACNgIEIAIQBQsgARAFCyAAEAULC9oBAQh/AkAgACgCCCIDKAIEIAMoAgAiBWsiBEEEdSIHQQFqIgFBgICA.gAFJBEBB/////wAgAygCCCAFayICQQN1IgYgASABIAZJGyACQfD///8HTxsiAUGAgICAAU8NASAAKAIEIQIgAUEEdCIGEAYiCCAEaiIBIAIpAgg3AgggASAC.KQIANwIAIAEgB0EEdGshAiAEBEAgAiAFIAT8CgAACyADIAYgCGo2AgggAyABQRBqIgQ2AgQgAyACNgIAIAUEQCAFEAULIAAoAgAgBDYCAA8LEAcACxAOAAts.AQN/AkAgACIBQQNxBEADQCABLQAARQ0CIAFBAWoiAUEDcQ0ACwsDQCABIgJBBGohAUGAgoQIIAIoAgAiA2sgA3JBgIGChHhxQYCBgoR4Rg0ACwNAIAIiAUEB.aiECIAEtAAANAAsLIAEgAGsL5wEBBH8jAEEgayIEJAAgAEEANgIEAkAgAQRAAkAgACgCCCIFQQV0IgYgAU8EQCAAIAE2AgQMAQsgAUEASA0CQf////8HIQMg.BkH+////A00EQCAFQQZ0IgMgAUEfakFgcSIFIAMgBUsbIgNBAEgNAwsgA0EBa0EFdkEBaiIDQQJ0EAYhBSAAIAM2AgggACABNgIEIAAoAgAhAyAAIAU2AgAg.A0UNACADEAULIAAoAgAhACAEQQA2AhwgBCAANgIYIAQgBCkCGDcDCCAEQRBqIARBCGogASACEP8BCyAEQSBqJAAPCxAHAAsGACAAEAUL0AEBCH8CQCAAKAII.IgIoAgQgAigCACIEayIDQQJ1IgVBAWoiAUGAgICABEkEQEH/////AyACKAIIIARrIgZBAXUiByABIAEgB0kbIAZB/P///wdPGyIBQYCAgIAETw0BIAAoAgQh.BiABQQJ0IgcQBiIIIANqIgEgBigCADYCACABIAVBAnRrIQUgAwRAIAUgBCAD/AoAAAsgAiAHIAhqNgIIIAIgAUEEaiIDNgIEIAIgBTYCACAEBEAgBBAFCyAA.KAIAIAM2AgAPCxAHAAsQDgALtgIBCH8CQAJAAkAgACgCBCIDIAAoAgAiBWsiCEECdSIGIAFJBEAgACgCCCAFayIHQQJ1IAFPBEAgAyABIAZrQQJ0aiEEIAIo.AgAhAQNAIAMgATYCACADQQRqIgMgBEcNAAsgACAENgIEDwsgAUGAgICABE8NAkH/////AyAHQQF1IgQgASABIARJGyAHQfz///8HTxsiCUGAgICABE8NAyAJ.QQJ0EAYiByAIaiIEIAEgBmtBAnRqIQogAigCACEBIAQhAwNAIAMgATYCACADQQRqIgMgCkcNAAsgBCAGQQJ0ayEBIAgEQCABIAUgCPwKAAALIAAgByAJQQJ0.ajYCCCAAIAo2AgQgACABNgIAIAVFDQEgBRAFDwsgASAGTw0AIAAgBSABQQJ0ajYCBAsPCxAHAAsQDgALjQEBBH8jAEEQayIDJAAgAQRAIAAgASgCABAeIAEo.AhwhAiABQQA2AhwgASgCBCEFIAIEQCACKAIQIQQgAyACQQxqNgIMIANBDGogBBAeIAIoAgQhBCADIAI2AgggA0EIaiAEECEgAhAFCyABLAAbQQBIBEAgASgC.EBAFCyABEAUgACAFEB4LIANBEGokAAuXDQQEfwF9AXwBfgJAIANFDQACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAAKAIcQQFrDgsAAQIDBAUGBwgJCg0L.AkAgAkH/AXEiBSAALQAYIgQgBCAFSxtFDQAgACgCACIEKAIEIgcgBCgCACAAKQMwIAApAyggATUCAH58p2oiBk0NDUEAIQEDQCADIAFBA3RqIAYwAAA3AwAg.AUEBaiIBIAUgAC0AGCIEIAQgBUsbTw0BIAZBAWoiBiAHSQ0ACwwNCyAEIAVJDQoMCwsCQCACQf8BcSIFIAAtABgiBCAEIAVLG0UNACAAKAIAIgQoAgQiByAE.KAIAIAApAzAgACkDKCABNQIAfnynaiIGTQ0MQQAhAQNAIAMgAUEDdGogBjEAADcDACABQQFqIgEgBSAALQAYIgQgBCAFSxtPDQEgBkEBaiIGIAdJDQALDAwL.IAQgBUkNCQwKCyACQf8BcSIFIAAtABgiBCAEIAVLGwRAIAAoAgAiBCgCACAAKQMwIAApAyggATUCAH58p2ohASAEKAIEIQcDQCABIAdPDQwgAyAGQQN0aiAB.MgEANwMAIAFBAmohASAGQQFqIgYgBSAALQAYIgQgBCAFSxtJDQALCyAEIAVJDQgMCQsgAkH/AXEiBSAALQAYIgQgBCAFSxsEQCAAKAIAIgQoAgAgACkDMCAA.KQMoIAE1AgB+fKdqIQEgBCgCBCEHA0AgASAHTw0LIAMgBkEDdGogATMBADcDACABQQJqIQEgBkEBaiIGIAUgAC0AGCIEIAQgBUsbSQ0ACwsgBCAFSQ0HDAgL.IAJB/wFxIgUgAC0AGCIEIAQgBUsbBEAgACgCACIEKAIAIAApAzAgACkDKCABNQIAfnynaiEBIAQoAgQhBwNAIAEgB08NCiADIAZBA3RqIAE0AgA3AwAgAUEE.aiEBIAZBAWoiBiAFIAAtABgiBCAEIAVLG0kNAAsLIAQgBUkNBgwHCyACQf8BcSIFIAAtABgiBCAEIAVLGwRAIAAoAgAiBCgCACAAKQMwIAApAyggATUCAH58.p2ohASAEKAIEIQcDQCABIAdPDQkgAyAGQQN0aiABNQIANwMAIAFBBGohASAGQQFqIgYgBSAALQAYIgQgBCAFSxtJDQALCyAEIAVJDQUMBgsgAkH/AXEiBSAA.LQAYIgQgBCAFSxsEQCAAKAIAIgQoAgAgACkDMCAAKQMoIAE1AgB+fKdqIQEgBCgCBCEHA0AgASAHTw0IIAMgBkEDdGogASkDADcDACABQQhqIQEgBkEBaiIG.IAUgAC0AGCIEIAQgBUsbSQ0ACwsgBCAFSQ0EDAULIAJB/wFxIgUgAC0AGCIEIAQgBUsbBEAgACgCACIEKAIAIAApAzAgACkDKCABNQIAfnynaiEBIAQoAgQh.BwNAIAEgB08NByABKQMAIgpCAFMNByADIAZBA3RqIAo3AwAgAUEIaiEBIAZBAWoiBiAFIAAtABgiBCAEIAVLG0kNAAsLIAQgBUkNAwwECwJAIAJB/wFxIgUg.AC0AGCIEIAQgBUsbRQ0AIAAtACBBAXENBSAAKAIAIgQoAgQiByAEKAIAIAApAzAgACkDKCABNQIAfnynaiIBTQ0FA0AgASoCACIIQwAAAF9gDQYgCEMAAADf.XQ0GIAi8QQF0Qf///3dLDQYgAyAGQQN0aiAI/AQ3AwAgBkEBaiIGIAUgAC0AGCIEIAQgBUsbTw0BIAFBBGoiASAHSQ0ACwwFCyAEIAVJDQIMAwsCQCACQf8B.cSIFIAAtABgiBCAEIAVLG0UNACAALQAgQQFxDQQgACgCACIEKAIEIgcgBCgCACAAKQMwIAApAyggATUCAH58p2oiAU0NBANAIAErAwAiCUQAAAAAAADgQ2YN.BSAJRAAAAAAAAODDYw0FIAm9QgGGQv////////9vVg0FIAMgBkEDdGogCfwGNwMAIAZBAWoiBiAFIAAtABgiBCAEIAVLG08NASABQQhqIgEgB0kNAAsMBAsg.BCAFSQ0BDAILAkAgAkH/AXEiBSAALQAYIgQgBCAFSxtFDQAgACgCACIEKAIEIgcgBCgCACAAKQMwIAApAyggATUCAH58p2oiBk0NA0EAIQEDQCADIAFBA3Rq.IAYxAAA3AwAgAUEBaiIBIAUgAC0AGCIEIAQgBUsbTw0BIAZBAWoiBiAHSQ0ACwwDCyAEIAVPDQELIAIgBGtB/wFxQQN0IgBFDQAgAyAEQQN0akEAIAD8CwAL.CwsEACAAC0kBAn8gAQRAA0AgACABKAIAECEgASgCBCABKAIcIgIEQCABIAI2AiAgAhAFCyABLAAbQQBIBEAgASgCEBAFCyABEAUiAQ0ACwsLjhMBBn8CQCAD.RQ0AAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgACgCHEEBaw4LAAECAwQFBgcICQoNCwJAIAJB/wFxIgciCCAALQAYIgUgBSAISxtFDQAgACgCACIEKAIA.IAApAzAgACkDKCABNQIAfnynaiEBIAQoAgQhBiAALQAgQQFxBEAgASAGTw0OQQAhBANAIAMgBEECdGogASwAALJDAAD+QpU4AgAgBEEBaiIEIAcgAC0AGCIF.IAUgB0sbTw0CIAFBAWoiASAGSQ0ACwwOCyABIAZPDQ0gAkH/AXEhB0EAIQQDQCADIARBAnRqIAEsAACyOAIAIARBAWoiBCAHIAAtABgiBSAFIAdLG08NASAB.QQFqIgEgBkkNAAsMDQsgBSAISQ0KDAsLAkAgAkH/AXEiByIIIAAtABgiBSAFIAhLG0UNACAAKAIAIgQoAgAgACkDMCAAKQMoIAE1AgB+fKdqIQEgBCgCBCEG.IAAtACBBAXEEQCABIAZPDQ1BACEEA0AgAyAEQQJ0aiABLQAAs0MAAH9DlTgCACAEQQFqIgQgByAALQAYIgUgBSAHSxtPDQIgAUEBaiIBIAZJDQALDA0LIAEg.Bk8NDCACQf8BcSEHQQAhBANAIAMgBEECdGogAS0AALM4AgAgBEEBaiIEIAcgAC0AGCIFIAUgB0sbTw0BIAFBAWoiASAGSQ0ACwwMCyAFIAhJDQkMCgsCQCAC.Qf8BcSIHIgggAC0AGCIFIAUgCEsbRQ0AIAAoAgAiBCgCACAAKQMwIAApAyggATUCAH58p2ohASAEKAIEIQYgAC0AIEEBcQRAIAEgBk8NDEEAIQQDQCADIARB.AnRqIAEuAQCyQwD+/0aVOAIAIARBAWoiBCAHIAAtABgiBSAFIAdLG08NAiABQQJqIgEgBkkNAAsMDAsgASAGTw0LIAJB/wFxIQdBACEEA0AgAyAEQQJ0aiAB.LgEAsjgCACAEQQFqIgQgByAALQAYIgUgBSAHSxtPDQEgAUECaiIBIAZJDQALDAsLIAUgCEkNCAwJCwJAIAJB/wFxIgciCCAALQAYIgUgBSAISxtFDQAgACgC.ACIEKAIAIAApAzAgACkDKCABNQIAfnynaiEBIAQoAgQhBiAALQAgQQFxBEAgASAGTw0LQQAhBANAIAMgBEECdGogAS8BALNDAP9/R5U4AgAgBEEBaiIEIAcg.AC0AGCIFIAUgB0sbTw0CIAFBAmoiASAGSQ0ACwwLCyABIAZPDQogAkH/AXEhB0EAIQQDQCADIARBAnRqIAEvAQCzOAIAIARBAWoiBCAHIAAtABgiBSAFIAdL.G08NASABQQJqIgEgBkkNAAsMCgsgBSAISQ0HDAgLAkAgAkH/AXEiByIIIAAtABgiBSAFIAhLG0UNACAAKAIAIgQoAgAgACkDMCAAKQMoIAE1AgB+fKdqIQEg.BCgCBCEGIAAtACBBAXEEQCABIAZPDQpBACEEA0AgAyAEQQJ0aiABKAIAskMAAAAwlDgCACAEQQFqIgQgByAALQAYIgUgBSAHSxtPDQIgAUEEaiIBIAZJDQAL.DAoLIAEgBk8NCSACQf8BcSEHQQAhBANAIAMgBEECdGogASgCALI4AgAgBEEBaiIEIAcgAC0AGCIFIAUgB0sbTw0BIAFBBGoiASAGSQ0ACwwJCyAFIAhJDQYM.BwsCQCACQf8BcSIHIgggAC0AGCIFIAUgCEsbRQ0AIAAoAgAiBCgCACAAKQMwIAApAyggATUCAH58p2ohASAEKAIEIQYgAC0AIEEBcQRAIAEgBk8NCUEAIQQD.QCADIARBAnRqIAEoAgCzQwAAgC+UOAIAIARBAWoiBCAHIAAtABgiBSAFIAdLG08NAiABQQRqIgEgBkkNAAsMCQsgASAGTw0IIAJB/wFxIQdBACEEA0AgAyAE.QQJ0aiABKAIAszgCACAEQQFqIgQgByAALQAYIgUgBSAHSxtPDQEgAUEEaiIBIAZJDQALDAgLIAUgCEkNBQwGCwJAIAJB/wFxIgciCCAALQAYIgUgBSAISxtF.DQAgACgCACIEKAIAIAApAzAgACkDKCABNQIAfnynaiEBIAQoAgQhBiAALQAgQQFxBEAgASAGTw0IQQAhBANAIAMgBEECdGogASkDALRDAAAAIJQ4AgAgBEEB.aiIEIAcgAC0AGCIFIAUgB0sbTw0CIAFBCGoiASAGSQ0ACwwICyABIAZPDQcgAkH/AXEhB0EAIQQDQCADIARBAnRqIAEpAwC0OAIAIARBAWoiBCAHIAAtABgi.BSAFIAdLG08NASABQQhqIgEgBkkNAAsMBwsgBSAISQ0EDAULAkAgAkH/AXEiByIIIAAtABgiBSAFIAhLG0UNACAAKAIAIgQoAgAgACkDMCAAKQMoIAE1AgB+.fKdqIQEgBCgCBCEGIAAtACBBAXEEQCABIAZPDQdBACEEA0AgAyAEQQJ0aiABKQMAtUMAAIAflDgCACAEQQFqIgQgByAALQAYIgUgBSAHSxtPDQIgAUEIaiIB.IAZJDQALDAcLIAEgBk8NBiACQf8BcSEHQQAhBANAIAMgBEECdGogASkDALU4AgAgBEEBaiIEIAcgAC0AGCIFIAUgB0sbTw0BIAFBCGoiASAGSQ0ACwwGCyAF.IAhJDQMMBAsgAkH/AXEiBiAALQAYIgUgBSAGSxsEQCAAKAIAIgQoAgAgACkDMCAAKQMoIAE1AgB+fKdqIQEgBCgCBCEIQQAhBANAIAEgCE8NBiADIARBAnRq.IAEqAgA4AgAgAUEEaiEBIARBAWoiBCAGIAAtABgiBSAFIAZLG0kNAAsLIAUgBkkNAgwDCyACQf8BcSIGIAAtABgiBSAFIAZLGwRAIAAoAgAiBCgCACAAKQMw.IAApAyggATUCAH58p2ohASAEKAIEIQhBACEEA0AgASAITw0FIAMgBEECdGogASsDALY4AgAgAUEIaiEBIARBAWoiBCAGIAAtABgiBSAFIAZLG0kNAAsLIAUg.BkkNAQwCCwJAIAJB/wFxIggiBiAALQAYIgUgBSAGSxtFDQAgACgCACIEKAIEIgcgBCgCACAAKQMwIAApAyggATUCAH58p2oiBE0NA0EAIQEDQCADIAFBAnRq.IAQtAACzOAIAIAFBAWoiASAIIAAtABgiBSAFIAhLG08NASAEQQFqIgQgB0kNAAsMAwsgBSAGTw0BCyACIAVrQf8BcUECdCIARQ0AIAMgBUECdGpBACAA/AsA.C0EBIQkLIAkL9QEBBn8jAEEgayICJAAgAkEAOgAXAkAgACgCBCIEIAFNBEACfyAEIAEgACgCCEEFdE0NABogAUEASA0CIAFBAWtBBXZBAWoiBkECdBAGIQUg.ACgCACEDIARBAWtBA3ZB/P///wFxQQRqQQAgBBsiBwRAIAUgAyAH/AoAAAsgACAGNgIIIAAgBTYCACAEIANFDQAaIAMQBSAAKAIECyEDIAAoAgAhBSACIANB.H3E2AhwgAiAFIANBA3ZB/P///wFxajYCGCACIAIpAhg3AwAgAkEMaiACIAEgBGsgAkEXahD/AQsgACABNgIEIAJBIGokAA8LEAcAC2oCAn8BfgJAIABBBUsN.ACACKQMQIgUgAikDCFkNACACKAIAIAWnaiwAACEDIAIgBUIBfDcDECABIANBAEgEfyAAQQFqIAEgAhAkRQ0BIANB/wBxIAEoAgBBB3RyBSADCzYCAEEBIQQL.IAQLJwEBfyAAQQA2AhAgACAAKAIAIgE2AgwgAQRAIAAgATYCBCABEAULCwQAQQALywcBA38gACABNgIMIABBADYCCCAAQgA3AgAgAEEQaiIDQgA3AAUgA0IA.NwIAIANBEGoiAkIANwAFIAJCADcCACADQSBqIgJCADcABSACQgA3AgAgA0EwaiICQgA3AAUgAkIANwIAIANBQGsiAkIANwAFIAJCADcCACADQdAAaiICQgA3.AAUgAkIANwIAIANB4ABqIgJCADcABSACQgA3AgAgA0HwAGoiAkIANwAFIAJCADcCACADQYABaiICQgA3AAUgAkIANwIAIANBkAFqIgJCADcABSACQgA3AgAg.A0GgAWoiAkIANwAFIAJCADcCACADQbABaiICQgA3AAUgAkIANwIAIANBwAFqIgJCADcABSACQgA3AgAgA0HQAWoiAkIANwAFIAJCADcCACADQeABaiICQgA3.AAUgAkIANwIAIANB8AFqIgJCADcABSACQgA3AgAgA0GAAmoiAkIANwAFIAJCADcCACADQZACaiICQgA3AAUgAkIANwIAIANBoAJqIgJCADcABSACQgA3AgAg.A0GwAmoiAkIANwAFIAJCADcCACADQcACaiICQgA3AAUgAkIANwIAIANB0AJqIgJCADcABSACQgA3AgAgA0HgAmoiAkIANwAFIAJCADcCACADQfACaiICQgA3.AAUgAkIANwIAIANBgANqIgJCADcABSACQgA3AgAgA0GQA2oiAkIANwAFIAJCADcCACADQaADaiICQgA3AAUgAkIANwIAIANBsANqIgJCADcABSACQgA3AgAg.A0HAA2oiAkIANwAFIAJCADcCACADQdADaiICQgA3AAUgAkIANwIAIANB4ANqIgJCADcABSACQgA3AgAgA0HwA2oiA0IANwAFIANCADcCACAAQgA3AJUEIABC.ADcCkAQgAEEANgKwBCAAQgA3AqgEIABCADcCoAQgAEEANgLEBCAAQgA3ArwEIABCADcCtAQgAEEANgLYBCAAQgA3AtAEIABCADcCyAQgAEEANgLkBCAAQgA3.AtwEAkACQCABRQRAIABBADYC8AQgAEIANwLoBAwBCyABQYCAgIAETw0BIAAgAUECdCIBEAYiAzYC3AQgACABIANqIgI2AuQEIAFFIgRFBEAgA0EAIAH8CwAL.IABBADYC8AQgAEIANwLoBCAAIAI2AuAEIAAgARAGIgM2AugEIAAgASADaiICNgLwBCAERQRAIANBACAB/AsACyAAIAI2AuwECyAAQQA2ApQFIABCADcCjAUg.AEIANwKEBSAAQgA3AvwEIABCADcC9AQgAA8LEAcAC48BAQF/IAAoAowFIgEEQCAAIAE2ApAFIAEQBQsgACgCgAUiAQRAIAAgATYChAUgARAFCyAAKAL0BCIB.BEAgACABNgL4BCABEAULIAAoAugEIgEEQCAAIAE2AuwEIAEQBQsgACgC3AQiAQRAIAAgATYC4AQgARAFCyAAQcgEahAlIABBtARqECUgAEGgBGoQJQsJAEH0.CRD3AQALiwEBAX8gAARAIAAoAkwiAQRAIAAgATYCUCABEAULIAAoAkAiAQRAIAAgATYCRCABEAULIAAoAjAiAQRAIAAgATYCNCABEAULIAAoAhgiAQRAIAAg.ATYCHCABEAULIAAoAgwiAQRAIAAgATYCECABEAULIAAoAgAiAQRAIAAgATYCBCABEAULIAAQBQsLBwAgACgCBAsHACAAKAIcC3cCAX4CfwJAIABBCksNACAC.KQMQIgMgAikDCFkNACACKAIAIAOnaiwAACEFIAIgA0IBfDcDECAFrSEDIAECfiAFQQBIBEAgAEEBaiABIAIQLUUNAiADQv8AgyABKQMAQgeGhAwBCyADQv8B.gws3AwBBASEECyAEC2oCAn8BfgJAIABBBUsNACACKQMQIgUgAikDCFkNACACKAIAIAWnaiwAACEDIAIgBUIBfDcDECABIANBAEgEfyAAQQFqIAEgAhAuRQ0B.IANB/wBxIAEoAgBBB3RyBSADCzYCAEEBIQQLIAQLcgEBfyMAQYACayIFJAACQCACIANMDQAgBEGAwARxDQAgAiADayIDQYACIANBgAJJIgIbIgQEQCAFIAEg.BPwLAAsgAkUEQANAIAAgBUGAAhA+IANBgAJrIgNB/wFLDQALCyAAIAUgAxA+CyAFQYACaiQACyIBAX8gAARAIAAoAgAiAQRAIAAgATYCBCABEAULIAAQBQsL.GAEBf0EMEAYiAEEANgIIIABCADcCACAAC8wBAgJ/An4CQCAAKAJADQBBIBAGIgJCADcDECACQQA2AgggAkIANwMAIAJCADcDGCAAKAJAIQMgACACNgJAIANF.DQAgAygCACICBEAgAyACNgIEIAIQBQsgAxAFCyAAKAJAQQAgACgCHEEBayICQQpNBH8gAi0AkGoFQX8LIAAtABhsrCIEIAGtfhDYASIDBEAgACAAKAJAIgI2.AgAgACACKQMQNwMIIAIpAxghBSAAQgA3AzAgACAENwMoIAAgBTcDECAAIAE2AlALIAMLkQIBBn8CQAJAAkAgACgCBCICIAAoAgAiBGsiBkEDdSIDIAFJBEAg.ACgCCCAEayIFQQN1IAFPBEAgASADa0EDdCIBBEAgAkEAIAH8CwALIAAgASACajYCBA8LIAFBgICAgAJPDQJB/////wEgBUECdSICIAEgASACSRsgBUH4////.B08bIgJBgICAgAJPDQMgAkEDdCIFEAYiByAGaiECIAEgA2tBA3QiAQRAIAJBACAB/AsACyACIANBA3RrIQMgBgRAIAMgBCAG/AoAAAsgACAFIAdqNgIIIAAg.ASACajYCBCAAIAM2AgAgBEUNASAEEAUPCyABIANPDQAgACAEIAFBA3RqNgIECw8LEAcACxAOAAvXAgEHfwJAAkACQCAAKAIEIgQgACgCACIFayIGQQJ1Igcg.AUkEQCAAKAIIIAVrIgNBAnUgAU8EQCAEIAEgB2tBAnRqIQEgAigCACECA0AgBCACNgIAIARBBGoiBCABRw0ACyAAIAE2AgQPCyABQYCAgIAETw0CQf////8D.IANBAXUiCCABIAEgCEkbIANB/P///wdPGyIIQYCAgIAETw0DIAhBAnQQBiIJIAZqIgMgASAHa0ECdGohBiACKAIAIQIgAyEBA0AgASACNgIAIAFBBGoiASAG.Rw0ACyADIAdBAnRrIQMgBCAFRwRAIAUhASADIQIDQCACIAEoAgA2AgAgAkEEaiECIAFBBGoiASAERw0ACwsgACAJIAhBAnRqNgIIIAAgBjYCBCAAIAM2AgAg.BUUNASAFEAUPCyABIAdPDQAgACAFIAFBAnRqNgIECw8LEAcACxAOAAuvAQEFfwJAIAAoAggiAS0AVA0AIAAoAhAiAkUNACACLQBUQQFHDQAgASgCRCEDIAEo.AkghASACQQA6AFQgAkHEAGogASADa0ECdUHAEhA0IAAoAggiAi0AVA0AIAIoAkQiAyACKAJIRg0AIAAoAhAoAkQhBEEAIQEDQCAEIAFBAnQiBWogAyAFaigC.ADYCACABQQFqIgEgAigCSCACKAJEIgNrQQJ1SQ0ACwsgACgCEAutAwEBfwJAIAAgARAIRQ0AIABBEGogARAIRQ0AIABBIGogARAIRQ0AIABBMGogARAIRQ0A.IABBQGsgARAIRQ0AIABB0ABqIAEQCEUNACAAQeAAaiABEAhFDQAgAEHwAGogARAIRQ0AIABBgAFqIAEQCEUNACAAQZABaiABEAhFDQAgAEGgAWogARAIRQ0A.IABBsAFqIAEQCEUNACAAQcABaiABEAhFDQAgAEHQAWogARAIRQ0AIABB4AFqIAEQCEUNACAAQfABaiABEAhFDQAgAEGAAmogARAIRQ0AIABBkAJqIAEQCEUN.ACAAQaACaiABEAhFDQAgAEGwAmogARAIRQ0AIABBwAJqIAEQCEUNACAAQdACaiABEAhFDQAgAEHgAmogARAIRQ0AIABB8AJqIAEQCEUNACAAQYADaiABEAhF.DQAgAEGQA2ogARAIRQ0AIABBoANqIAEQCEUNACAAQbADaiABEAhFDQAgAEHAA2ogARAIRQ0AIABB0ANqIAEQCEUNACAAQeADaiABEAhFDQAgAEHwA2ogARAI.RQ0AIABBgARqIAEQCCECCyACC7wCAQN/IAAgATYCDCAAQQA2AgggAEIANwIAIABBEGoiAkIANwAFIAJCADcCACAAQQA2AjAgAEIANwIoIABCADcCICAAQQA2.AkQgAEIANwI8IABCADcCNCAAQQA2AlggAEIANwJQIABCADcCSCAAQQA2AmQgAEIANwJcAkACQCABRQRAIABBADYCcCAAQgA3AmgMAQsgAUGAgICABE8NASAA.IAFBAnQiARAGIgI2AlwgACABIAJqIgM2AmQgAUUiBEUEQCACQQAgAfwLAAsgAEEANgJwIABCADcCaCAAIAM2AmAgACABEAYiAjYCaCAAIAEgAmoiAzYCcCAE.RQRAIAJBACAB/AsACyAAIAM2AmwLIABBADYClAEgAEIANwKMASAAQgA3AoQBIABCADcCfCAAQgA3AnQgAA8LEAcAC4cBAQF/IAAoAowBIgEEQCAAIAE2ApAB.IAEQBQsgACgCgAEiAQRAIAAgATYChAEgARAFCyAAKAJ0IgEEQCAAIAE2AnggARAFCyAAKAJoIgEEQCAAIAE2AmwgARAFCyAAKAJcIgEEQCAAIAE2AmAgARAF.CyAAQcgAahAlIABBNGoQJSAAQSBqECULvwIBA38gACABNgIMIABBADYCCCAAQgA3AgAgAEEANgIgIABCADcCGCAAQgA3AhAgAEEANgI0IABCADcCLCAAQgA3.AiQgAEEANgJIIABCADcCQCAAQgA3AjggAEEANgJcIABCADcCVCAAQgA3AkwgAEEANgJoIABCADcCYAJAAkAgAUUEQCAAQQA2AnQgAEIANwJsDAELIAFBgICA.gARPDQEgACABQQJ0IgEQBiICNgJgIAAgASACaiIDNgJoIAFFIgRFBEAgAkEAIAH8CwALIABBADYCdCAAQgA3AmwgACADNgJkIAAgARAGIgI2AmwgACABIAJq.IgM2AnQgBEUEQCACQQAgAfwLAAsgACADNgJwCyAAQQA2ApgBIABCADcCkAEgAEIANwKIASAAQgA3AoABIABCADcCeCAADwsQBwALjgEBAX8gACgCkAEiAQRA.IAAgATYClAEgARAFCyAAKAKEASIBBEAgACABNgKIASABEAULIAAoAngiAQRAIAAgATYCfCABEAULIAAoAmwiAQRAIAAgATYCcCABEAULIAAoAmAiAQRAIAAg.ATYCZCABEAULIABBzABqECUgAEE4ahAlIABBJGoQJSAAQRBqECULdAEBfyACRQRAIAAoAgQgASgCBEYPCyAAIAFGBEBBAQ8LIAEoAgQiAi0AACEBAkAgACgC.BCIDLQAAIgBFDQAgACABRw0AA0AgAi0AASEBIAMtAAEiAEUNASACQQFqIQIgA0EBaiEDIAAgAUYNAAsLIAAgAUYLBgAQvQEAC1cCAX8BfgJAQbT6ACgCACIB.rSAArUIHfEL4////H4N8IgJC/////w9YBEAgAqciAD8AQRB0TQ0BIAAQAg0BC0GA+wBBMDYCAEF/DwtBtPoAIAA2AgAgAQsYACAALQAAQSBxRQRAIAEgAiAA.EMABGgsLagICfwF+AkAgAEEFSw0AIAIpAxAiBSACKQMIWQ0AIAIoAgAgBadqLAAAIQMgAiAFQgF8NwMQIAEgA0EASAR/IABBAWogASACED9FDQEgA0H/AHEg.ASgCAEEHdHIFIAMLNgIAQQEhBAsgBAvuAgEDfyAAKAIIIgUgACgCACIEa0ECdSADTwRAIAMgACgCBCIFIARrIgZBAnVLBEAgBCAFRwRAIAEgBmohAwNAIAQg.ASgCADYCACAEQQRqIQQgAUEEaiIBIANHDQALIAMhAQsgASACRwRAA0AgBSABKAIANgIAIAVBBGohBSABQQRqIgEgAkcNAAsLIAAgBTYCBA8LIAEgAkcEQANA.IAQgASgCADYCACAEQQRqIQQgAUEEaiIBIAJHDQALCyAAIAQ2AgQPCyAEBEAgACAENgIEIAQQBSAAQQA2AgggAEIANwIAQQAhBQsCQCADQYCAgIAETw0AQf//.//8DIAVBAXUiBCADIAMgBEkbIAVB/P///wdPGyIDQYCAgIAETw0AIAAgA0ECdCIEEAYiAzYCACAAIAMgBGo2AgggACABIAJHBH8gAiABa0EEa0F8cUEEaiIA.BEAgAyABIAD8CgAACyAAIANqBSADCzYCBA8LEAcAC5IBAQF+AkAgAUUNAAJAIAAvASZBgQRNBEAgACkDCCAAKQMQIgNCCHxZDQFBAA8LQQEgAiAAENcBDQFB.AA8LIAIgACgCACADp2opAAA3AwAgACAAKQMQQgh8NwMQCyAAQQE6ACQgAEEANgIgIAAgACgCACAAKQMQIgOnaiIBNgIYIAAgASAAKQMIIAN9p2o2AhxBAQtq.AgJ/AX4CQCAAQQVLDQAgAikDECIFIAIpAwhZDQAgAigCACAFp2osAAAhAyACIAVCAXw3AxAgASADQQBIBH8gAEEBaiABIAIQQkUNASADQf8AcSABKAIAQQd0.cgUgAws2AgBBASEECyAEC0AAIABCADcDCCAAQQA2AgAgAEIANwMQIABCADcDKCAAQQk2AhwgAEEBOgAYIABCADcDMCAAQv////8PNwM4IAALlwIBBX8CQAJA.IAAoAgQiAyAAKAIIIgRBBXRHDQBB/////wchAiADQf////8HTw0BIANB/v///wNNBEAgBEEGdCICIANB4P///wNxQSBqIgQgAiAESxsiAiADTQ0BIAJBAEgN.AgsgAkEBa0EFdkEBaiIFQQJ0EAYhBCAAKAIAIQIgA0EBa0EDdkH8////AXFBBGpBACADGyIGBEAgBCACIAb8CgAACyAAIAU2AgggACAENgIAIAJFDQAgAhAF.IAAoAgQhAwsgACADQQFqNgIEQQEgA3QhAiAAKAIAIANBA3ZB/P///wFxaiEAIAEtAABBAUYEQCAAIAAoAgAgAnI2AgAPCyAAIAAoAgAgAkF/c3E2AgAPCxAH.AAuiAQEFfyAAQQxqIAEQDAJAAkAgASAAKAIIIAAoAgAiAmtBAnVNDQAgAUGAgICABE8NASAAKAIEIQMgAUECdCIBEAYiBCABaiEGIAIgA0cEQCACIQEgBCEF.A0AgBSABKAIANgIAIAVBBGohBSABQQRqIgEgA0cNAAsLIAAgBjYCCCAAIAQgAyACa2o2AgQgACAENgIAIAJFDQAgAhAFCw8LEAcAC6MLAgl/BH4jAEEwayIC.JAACQAJAIAAoAgQtACRBAU0EQCABKQMQIgtCBHwiDCABKQMIVQRAQX8hBAwDCyACIAEoAgAgC6dqKAAAIgc2AhggASAMNwMQDAELQQEgAkEYaiABEBJFBEBB.fyEEDAILIAIoAhghBwsCQCAHRQ0AQX8hBCAHIAAoAggiAygCBCADKAIAa0ECdUEDbksNASAAKAIELwEkIgNBCHQgA0EIdnJB//8DcUGCAk8EQCAAQSRqIQYD.QEEBIAJBCGoiAyABEBJFDQMgAiACKAIIIAVqIgU2AhBBASADIAEQEkUNAyAFIAIoAggiA0kNAyACIAUgA2s2AgwgAiAAKAIoIgM2AhwgACgCLCEJIAIgBjYC.KCACIAJBDGo2AiQgAiACQRxqNgIgIAACfyADIAlJBEAgAyACKAIUNgIIIAMgAikCDDcCACADQQxqDAELIAJBIGoQ6AEgAigCHAs2AiggCEEBaiIIIAdHDQAL.QQAhBiABQQBBABBBGgNAIAEtACQhBAJAAkAgACgCBC8BJCIFQQh0IAVBCHZyQf//A3FBgQRNBEAgBEEBcUUNAkEAIQUCQCABKAIYIgkgASgCICIDQQN2Ighq.IgQgASgCHCIKTwRAIAMhBAwBCyAELQAAIAEgA0EBaiIENgIgIARBA3YhCCADQQdxdiEFCyAIIAlqIApJDQEMAgsgBEEBcUUNAUEAIQUgASgCGCABKAIgIgRB.A3ZqIgMgASgCHE8NASADLQAAIARBB3F2IQULIAEgBEEBajYCIAsgACgCJCAGQQxsaiIEIAQtAAhB/gFxIAVBAXFyOgAIIAZBAWoiBiAHRw0ACyABQQA6ACQg.ASABKQMQIAE1AiBCB3xCA4h8NwMQDAELIABBJGohBgNAIAEpAwgiDSABKQMQIgtCBHwiDlMNAiACIAEoAgAiAyALp2ooAAA2AgwgASAONwMQIA0gC0IIfCIM.Uw0CIAIgAyAOp2ooAAA2AhAgASAMNwMQIAwgDVkNAiADIAynai0AACEDIAEgC0IJfDcDECACIAItABRB/gFxIANBAXFyOgAUIAIgACgCKCIDNgIcIAAoAiwh.CCACIAY2AiggAiACQQxqNgIkIAIgAkEcajYCICAAAn8gAyAISQRAIAMgAigCFDYCCCADIAIpAgw3AgAgA0EMagwBCyACQSBqEOgBIAIoAhwLNgIoIAVBAWoi.BSAHRw0ACwsgAkEANgIcAkACQCAAKAIEIgQtACQiA0EBTQRAIAEpAxAiC0IEfCIMIAEpAwhVBEBBfyEEDAQLIAEoAgAgC6dqKAAAIQUgASAMNwMQDAELIAQt.ACUgA0EIdHJBgARLDQFBASACQRxqIAEQEkUEQEF/IQQMAwsgAigCHCEFCyAFRQ0AIAAoAgQvASQiBEEIdCAEQQh2ckH//wNxQYICTwRAIABBMGohB0EAIQRB.ACEGA0ACQCACQQA2AghBASACQQRqIAEQEkUNACACIAIoAgQgBmoiBjYCCCACIAAoAjQiAzYCDCAAKAI4IQggAiAHNgIoIAIgAkEIajYCJCACIAJBDGo2AiAg.AAJ/IAMgCEkEQCADIAY2AgAgA0EEagwBCyACQSBqEBwgAigCDAs2AjQgBEEBaiIEIAVHDQEMAwsLQX8hBAwCCyAAQTBqIQNBACEGA0ACQCACQQA2AgggASkD.ECILQgR8IgwgASkDCFUNACACIAEoAgAgC6dqKAAAIgc2AgggASAMNwMQIAIgACgCNCIENgIMIAAoAjghCCACIAM2AiggAiACQQhqNgIkIAIgAkEMajYCICAA.An8gBCAISQRAIAQgBzYCACAEQQRqDAELIAJBIGoQHCACKAIMCzYCNCAGQQFqIgYgBUcNAQwCCwtBfyEEDAELIAEoAhAhBAsgAkEwaiQAIAQLdAEDfwJAAkAg.ASAAKAIIIAAoAgAiAmtBAnVNDQAgAUGAgICABE8NASAAKAIEIAFBAnQiBBAGIQEgAmsiAwRAIAEgAiAD/AoAAAsgACABIARqNgIIIAAgASADajYCBCAAIAE2.AgAgAkUNACACEAULDwsQBwAL6gcCBH8IfiMAQeAAayIDJAAgACgCECEFIAEoAgAhBCADQQE6AFggAyAENgJUIAMgBDYCUCADIAU2AkwCQCAEQX9GDQAgBSgC.ACAEQQJ0aigCACIFIAAoAhQiBigCBCAGKAIAIgZrQQJ1Tw0AIAAoAgggBiAFQQJ0aigCAEECdGooAgAhBiAAKAIEIgUtAFRFBEAgBSgCRCAGQQJ0aigCACEG.CyADQgA3A0AgA0IANwM4IANCADcDMCADIAY2AhggBSADQRhqIAUsABggA0EwahAfA0ACfyAAKAIcRQRAIAEoAgAiBEF/Rg0DIARBAWoiBSAEQQJrIAVBA3Ab.IQUgBEEBayAEQQNwDQEaIARBAmoMAQsgBEEBaiIFIARBAmsgBUEDcBshBSAEQQFrIARBA3ANABogBEECagshBiAFQX9GDQEgACgCECgCACAFQQJ0aigCACIF.IAAoAhQiBCgCBCAEKAIAIgRrQQJ1Tw0BIAAoAgggBCAFQQJ0aigCAEECdGooAgAhBSAAKAIEIgQtAFRFBEAgBCgCRCAFQQJ0aigCACEFCyADQgA3AyggA0IA.NwMgIANCADcDGCADIAU2AgAgBCADIAQsABggA0EYahAfIAZBf0YNASAAKAIQKAIAIAZBAnRqKAIAIgUgACgCFCIEKAIEIAQoAgAiBGtBAnVPDQEgACgCCCAE.IAVBAnRqKAIAQQJ0aigCACEFIAAoAgQiBC0AVEUEQCAEKAJEIAVBAnRqKAIAIQULIANCADcDECADQgA3AwggA0IANwMAIAMgBTYCXCAEIANB3ABqIAQsABgg.AxAfIAkgAykDACADKQMwIgl9IgcgAykDICADKQM4Igh9Igp+fSADKQMIIAh9IgggAykDGCAJfSINfnwhCSALIAcgAykDKCADKQNAIgt9Ig5+fCADKQMQIAt9.IgcgDX59IQsgDCAIIA5+fSAHIAp+fCEMIANBzABqEG8gAygCVCIEQX9HDQALIAwgDEI/hyIHhSAHfSEHQv///////////wAhCCALIAtCP4ciCoUgCn0iCkL/.//////////8AhSENAkACQCAAKAIcRQRAIAcgDVYNAkJ/IAcgCnwiByAJIAlCP4ciCIUgCH0iCHzEIAcgCEL///////////8AhVYbIghCgICAgAJVDQEMAgsg.ByANVg0AIAcgCnwiByAJIAlCP4ciCoUgCn0iCkL///////////8AhVYNACAHIAp8IghCgYCAgAJUDQELIAkgCEIdiCIHfyEJIAsgB38hCyAMIAd/IQwLIAIg.CT4CCCACIAs+AgQgAiAMPgIAIANB4ABqJAAPCxAVAAsWACABQQFNBEAgACABNgIcCyABQQJJC6sLAgR/CX4jAEHgAGsiBCQAIAAoAhAhAyABKAIAIQUgBEEB.OgBYIAQgBTYCVCAEIAU2AlAgBCADNgJMAkAgAygCHCAFQQJ0aigCACIDIAAoAhQiBigCBCAGKAIAIgZrQQJ1Tw0AIAAoAgggBiADQQJ0aigCAEECdGooAgAh.AyAAKAIEIgYtAFRFBEAgBigCRCADQQJ0aigCACEDCyAEQgA3A0AgBEIANwM4IARCADcDMCAEIAM2AhggBiAEQRhqIAYsABggBEEwahAfIAVBf0cEQANAAn8g.ACgCHEUEQEF/IQNBfyABKAIAIgVBf0YNARogBUEBaiIDIAVBAmsgA0EDcBshAyAFQQFrIAVBA3ANARogBUECagwBCyAFQQFqIgMgBUECayADQQNwGyEDIAVB.AWsgBUEDcA0AGiAFQQJqCyEGIAAoAhAoAhwgA0ECdGooAgAiAyAAKAIUIgUoAgQgBSgCACIFa0ECdU8NAiAAKAIIIAUgA0ECdGooAgBBAnRqKAIAIQMgACgC.BCIFLQBURQRAIAUoAkQgA0ECdGooAgAhAwsgBEIANwMoIARCADcDICAEQgA3AxggBCADNgIAIAUgBCAFLAAYIARBGGoQHyAAKAIQKAIcIAZBAnRqKAIAIgMg.ACgCFCIFKAIEIAUoAgAiBWtBAnVPDQIgACgCCCAFIANBAnRqKAIAQQJ0aigCACEDIAAoAgQiBS0AVEUEQCAFKAJEIANBAnRqKAIAIQMLIARCADcDECAEQgA3.AwggBEIANwMAIAQgAzYCXCAFIARB3ABqIAUsABggBBAfIAkgBCkDACAEKQMwIgl9IgcgBCkDICAEKQM4Igh9Igp+fSAEKQMIIAh9IgggBCkDGCAJfSINfnwh.CSALIAcgBCkDKCAEKQNAIg59Ig9+fCAEKQMQIA59IgcgDX59IQsgDCAIIA9+fSAHIAp+fCEMIAQoAlQhAyAEKAJMIQUCQCAELQBYQQFGBEACQAJAAkACQCAD.QX9GDQAgA0EBaiIGIANBAmsgBkEDcBsiA0F/Rg0AIAUoAgAgA0EDdkH8////AXFqKAIAIAN2QQFxDQAgBSgCQCgCDCADQQJ0aigCACIDQX9HDQELIARBfzYC.VAwBCyAEIANBAWoiBiADQQJrIAZBA3AbIgM2AlQgA0F/Rw0BCwJ/QX8gBCgCUCIDQX9GDQAaAkAgA0EDcARAIANBAWshAwwBC0F/IANBAmoiA0F/Rg0BGgtB.fyAFKAIAIANBA3ZB/P///wFxaigCACADdkEBcQ0AGkF/IAUoAkAoAgwgA0ECdGooAgAiA0F/Rg0AGiADQQFrIANBA3ANABogA0ECagshAyAEQQA6AFggBCAD.NgJUDAILIAMgBCgCUEcNASAEQX82AlQMAQsgBAJ/QX8gA0F/Rg0AGgJAIANBA3AEQCADQQFrIQMMAQtBfyADQQJqIgNBf0YNARoLQX8gBSgCACADQQN2Qfz/.//8BcWooAgAgA3ZBAXENABpBfyAFKAJAKAIMIANBAnRqKAIAIgNBf0YNABogA0EBayADQQNwDQAaIANBAmoLNgJUCyAEKAJUIgVBf0cNAAsLIAwgDEI/hyIH.hSAHfSEHQv///////////wAhCCALIAtCP4ciCoUgCn0iCkL///////////8AhSENAkACQCAAKAIcRQRAIAcgDVYNAkJ/IAcgCnwiByAJIAlCP4ciCIUgCH0i.CHzEIAcgCEL///////////8AhVYbIghCgICAgAJVDQEMAgsgByANVg0AIAcgCnwiByAJIAlCP4ciCoUgCn0iCkL///////////8AhVYNACAHIAp8IghCgYCA.gAJUDQELIAkgCEIdiCIHfyEJIAsgB38hCyAMIAd/IQwLIAIgCT4CCCACIAs+AgQgAiAMPgIAIARB4ABqJAAPCxAVAAsEAEEGCysBAX8CQCAAKAIsRQ0AIAAo.AjBFDQAgACgCNEUNACAAKAI4QQBHIQELIAELBABBAAuJAQEBfyAAKAJUIgEEQCAAIAE2AlggARAFCyAAKAJIIgEEQCAAIAE2AkwgARAFCyAAKAI0IgEEQCAA.IAE2AjggARAFCyAAKAIoIgEEQCAAIAE2AiwgARAFCyAAKAIcIgEEQCAAIAE2AiAgARAFCyAAKAIMIgEEQCABEAULIAAoAgAiAARAIAAQBQsLRgEBfyABBEAD.QCAAIAEoAgAQTyABKAIEIAEsACdBAEgEQCABKAIcEAULIAEsABtBAEgEQCABKAIQEAULIAEQBSIBDQALCwsEAEECCyUBAX8gAEHMGTYCACAAKAIgIgEEQCAA.IAE2AiQgARAFCyAAEAULygIBBn8CQAJAAkAgACgCBCICIAAoAgAiA2siBkECdSIEIAFJBEAgACgCCCADayIFQQJ1IAFPBEAgASAEa0ECdCIBBEAgAkEAIAH8.CwALIAAgASACajYCBA8LIAFBgICAgARPDQJB/////wMgBUEBdSICIAEgASACSRsgBUH8////B08bIgJBgICAgARPDQMgAkECdCIFEAYiByAGaiECIAEgBGtB.AnQiAQRAIAJBACAB/AsACyACIARBAnRrIQQgBgRAIAQgAyAG/AoAAAsgACAFIAdqNgIIIAAgASACajYCBCAAIAQ2AgAgA0UNASADEAUPCyABIARPDQAgAiAD.IAFBAnRqIgNHBEADQCACQQRrIgIoAgAhASACQQA2AgAgAQRAIAEgASgCACgCBBECAAsgAiADRw0ACwsgACADNgIECw8LEAcACxAOAAvpCAEHfwJAIARBAEwN.ACAAKAIIIgcgACgCBCIIayAETgRAIAggAWsiByAESARAAkAgAyACIAdqIgVGBEAgCCEGDAELIAghBgNAIAYgBS0AADoAACAGQQFqIQYgBUEBaiIFIANHDQAL.CyAAIAY2AgQgB0EATA0CIAYgASAEamshCQJAIAggBiAEayIDTQRAIAYhBQwBCwJAIAQgCGoiCiAGa0EHcSILRQRAIAYhBQwBC0EAIQQgBiEFA0AgBSADLQAA.OgAAIAVBAWohBSADQQFqIQMgBEEBaiIEIAtHDQALCyAGIAprQXhLDQADQCAFIAMtAAA6AAAgBSADLQABOgABIAUgAy0AAjoAAiAFIAMtAAM6AAMgBSADLQAE.OgAEIAUgAy0ABToABSAFIAMtAAY6AAYgBSADLQAHOgAHIAVBCGohBSADQQhqIgMgCEcNAAsLIAAgBTYCBCAJBEAgBiAJayABIAn8CgAACwJAIAdBB3EiAEUE.QCABIQUMAQtBACEDIAEhBQNAIAUgAi0AADoAACACQQFqIQIgBUEBaiEFIANBAWoiAyAARw0ACwsgASAIa0F4Sw0CIAEgB2ohAANAIAUgAi0AADoAACAFIAIt.AAE6AAEgBSACLQACOgACIAUgAi0AAzoAAyAFIAItAAQ6AAQgBSACLQAFOgAFIAUgAi0ABjoABiAFIAItAAc6AAcgAkEIaiECIAVBCGoiBSAARw0ACwwCCyAI.IAEgBGoiCWshBwJAIAgiBSAFIARrIgNNDQAgBEEHcSIKBEADQCAFIAMtAAA6AAAgBUEBaiEFIANBAWohAyAGQQFqIgYgCkcNAAsLIARBCEkNAANAIAUgAy0A.ADoAACAFIAMtAAE6AAEgBSADLQACOgACIAUgAy0AAzoAAyAFIAMtAAQ6AAQgBSADLQAFOgAFIAUgAy0ABjoABiAFIAMtAAc6AAcgBUEIaiEFIANBCGoiAyAI.Rw0ACwsgACAFNgIEIAcEQCAIIAdrIAEgB/wKAAALAkAgBEEHcSIARQRAIAEhBQwBC0EAIQMgASEFA0AgBSACLQAAOgAAIAJBAWohAiAFQQFqIQUgA0EBaiID.IABHDQALCyAEQQhJDQEDQCAFIAItAAA6AAAgBSACLQABOgABIAUgAi0AAjoAAiAFIAItAAM6AAMgBSACLQAEOgAEIAUgAi0ABToABSAFIAItAAY6AAYgBSAC.LQAHOgAHIAJBCGohAiAFQQhqIgUgCUcNAAsMAQsgCCAAKAIAIgNrIARqIgZBAE4EQCABIANrIQUgBUH/////ByAHIANrIgdBAXQiCSAGIAYgCUkbIAdB////./wNPGyIHBH8gBxAGBUEACyIGaiEJIAQEQCAJIAIgBPwKAAALIAQgCWohAiAIIAFrIgQEQCACIAEgBPwKAAALIAAgATYCBCAFBEAgBiADIAX8CgAACyAAIAYg.B2o2AgggACACIARqNgIEIAAgBjYCACADBEAgAxAFCw8LEAcACwtIACACQQtPBEAgAEEKIAJBCmsgAC0AC0H/AHEiACAAIAIgARCxAQ8LIAAgAjoACyACBEAg.ACABIAL8CgAACyAAIAJqQQA6AAALXwEBfyAAKAIIQf////8HcSIDIAJNBEAgACADQQFrIAIgA2tBAWogACgCBCIAIAAgAiABELEBDwsgACACNgIEIAAoAgAh.ACACBEAgACABIAL8CgAACyAAIAJqQQA6AAALzSgBC38jAEEQayIKJAACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAEH0AU0EQEHQgwEoAgAiBEEQIABBC2pB.+ANxIABBC0kbIgZBA3YiAHYiAUEDcQRAAkAgAUF/c0EBcSAAaiIDQQN0IgFB+IMBaiIAIAEoAoCEASICKAIIIgVGBEBB0IMBIARBfiADd3E2AgAMAQsgBSAA.NgIMIAAgBTYCCAsgAkEIaiEAIAIgAUEDcjYCBCABIAJqIgEgASgCBEEBcjYCBAwNCyAGQdiDASgCACIITQ0BIAEEQAJAQQIgAHQiAkEAIAJrciABIAB0cWgi.A0EDdCIBQfiDAWoiAiABKAKAhAEiACgCCCIFRgRAQdCDASAEQX4gA3dxIgQ2AgAMAQsgBSACNgIMIAIgBTYCCAsgACAGQQNyNgIEIAAgBmoiByABIAZrIgVB.AXI2AgQgACABaiAFNgIAIAgEQCAIQXhxQfiDAWohAUHkgwEoAgAhAgJ/IARBASAIQQN2dCIDcUUEQEHQgwEgAyAEcjYCACABDAELIAEoAggLIQMgASACNgII.IAMgAjYCDCACIAE2AgwgAiADNgIICyAAQQhqIQBB5IMBIAc2AgBB2IMBIAU2AgAMDQtB1IMBKAIAIgtFDQEgC2hBAnQoAoCGASIBKAIEQXhxIAZrIQMgASEC.A0ACQCABKAIQIgBFBEAgASgCFCIARQ0BCyAAKAIEQXhxIAZrIgEgAyABIANJIgEbIQMgACACIAEbIQIgACEBDAELCyACKAIYIQkgAiACKAIMIgBHBEAgAigC.CCIBIAA2AgwgACABNgIIDAwLIAIoAhQiAQR/IAJBFGoFIAIoAhAiAUUNAyACQRBqCyEFA0AgBSEHIAEiAEEUaiEFIAAoAhQiAQ0AIABBEGohBSAAKAIQIgEN.AAsgB0EANgIADAsLQX8hBiAAQb9/Sw0AIABBC2oiAUF4cSEGQdSDASgCACIHRQ0AQR8hCEEAIAZrIQMgAEH0//8HTQRAIAZBJiABQQh2ZyIAa3ZBAXEgAEEB.dGtBPmohCAsCQAJAAkAgCEECdCgCgIYBIgFFBEBBACEADAELQQAhACAGQRkgCEEBdmtBACAIQR9HG3QhAgNAAkAgASgCBEF4cSAGayIEIANPDQAgASEFIAQi.Aw0AQQAhAyABIQAMAwsgACABKAIUIgQgBCABIAJBHXZBBHFqKAIQIgFGGyAAIAQbIQAgAkEBdCECIAENAAsLIAAgBXJFBEBBACEFQQIgCHQiAEEAIABrciAH.cSIARQ0DIABoQQJ0KAKAhgEhAAsgAEUNAQsDQCAAKAIEQXhxIAZrIgIgA0khASACIAMgARshAyAAIAUgARshBSAAKAIQIgEEfyABBSAAKAIUCyIADQALCyAF.RQ0AIANB2IMBKAIAIAZrTw0AIAUoAhghCCAFIAUoAgwiAEcEQCAFKAIIIgEgADYCDCAAIAE2AggMCgsgBSgCFCIBBH8gBUEUagUgBSgCECIBRQ0DIAVBEGoL.IQIDQCACIQQgASIAQRRqIQIgACgCFCIBDQAgAEEQaiECIAAoAhAiAQ0ACyAEQQA2AgAMCQsgBkHYgwEoAgAiBU0EQEHkgwEoAgAhAAJAIAUgBmsiAUEQTwRA.IAAgBmoiAiABQQFyNgIEIAAgBWogATYCACAAIAZBA3I2AgQMAQsgACAFQQNyNgIEIAAgBWoiASABKAIEQQFyNgIEQQAhAUEAIQILQdiDASABNgIAQeSDASAC.NgIAIABBCGohAAwLCyAGQdyDASgCACICSQRAQdyDASACIAZrIgE2AgBB6IMBQeiDASgCACIAIAZqIgI2AgAgAiABQQFyNgIEIAAgBkEDcjYCBCAAQQhqIQAM.CwtBACEAIAZBL2oiAwJ/QaiHASgCAARAQbCHASgCAAwBC0G0hwFCfzcCAEGshwFCgKCAgICABDcCAEGohwEgCkEMakFwcUHYqtWqBXM2AgBBvIcBQQA2AgBB.jIcBQQA2AgBBgCALIgFqIgRBACABayIHcSIBIAZNDQpBiIcBKAIAIgUEQEGAhwEoAgAiCCABaiIJIAhNDQsgBSAJSQ0LC0GMhwEtAABBBHENBAJAAkBB6IMB.KAIAIgUEQEGQhwEhAANAIAAoAgAiCCAFTQRAIAUgCCAAKAIEakkNAwsgACgCCCIADQALC0EAED0iAkF/Rg0FIAEhBEGshwEoAgAiAEEBayIFIAJxBEAgASAC.ayACIAVqQQAgAGtxaiEECyAEIAZNDQVBiIcBKAIAIgAEQEGAhwEoAgAiBSAEaiIHIAVNDQYgACAHSQ0GCyAEED0iACACRw0BDAcLIAQgAmsgB3EiBBA9IgIg.ACgCACAAKAIEakYNAyACIQALAkAgAEF/Rg0AIAQgBkEwak8NAEGwhwEoAgAiAiADIARrakEAIAJrcSICED1Bf0YNBCACIARqIQQgACECDAYLIAAiAkF/Rw0F.DAMLQQAhAAwIC0EAIQAMBgsgAkF/Rw0CC0GMhwFBjIcBKAIAQQRyNgIACyABED0hAkEAED0hACACQX9GDQEgAEF/Rg0BIAAgAk0NASAAIAJrIgQgBkEoak0N.AQtBgIcBQYCHASgCACAEaiIANgIAQYSHASgCACAASQRAQYSHASAANgIACwJAAkACQEHogwEoAgAiAwRAQZCHASEAA0AgAiAAKAIAIgEgACgCBCIFakYNAiAA.KAIIIgANAAsMAgtB4IMBKAIAIgBBACAAIAJNG0UEQEHggwEgAjYCAAtBACEAQZSHASAENgIAQZCHASACNgIAQfCDAUF/NgIAQfSDAUGohwEoAgA2AgBBnIcB.QQA2AgADQCAAQQN0IgEgAUH4gwFqIgU2AoCEASABIAU2AoSEASAAQQFqIgBBIEcNAAtB3IMBIARBKGsiAEF4IAJrQQdxIgFrIgU2AgBB6IMBIAEgAmoiATYC.ACABIAVBAXI2AgQgACACakEoNgIEQeyDAUG4hwEoAgA2AgAMAgsgAiADTQ0AIAEgA0sNACAAKAIMQQhxDQAgACAEIAVqNgIEQeiDASADQXggA2tBB3EiAGoi.ATYCAEHcgwFB3IMBKAIAIARqIgIgAGsiADYCACABIABBAXI2AgQgAiADakEoNgIEQeyDAUG4hwEoAgA2AgAMAQtB4IMBKAIAIAJLBEBB4IMBIAI2AgALIAIg.BGohBUGQhwEhAAJAA0AgBSAAKAIAIgFHBEAgACgCCCIADQEMAgsLIAAtAAxBCHFFDQMLQZCHASEAA0ACQCAAKAIAIgEgA00EQCADIAEgACgCBGoiBUkNAQsg.ACgCCCEADAELC0HcgwEgBEEoayIAQXggAmtBB3EiAWsiBzYCAEHogwEgASACaiIBNgIAIAEgB0EBcjYCBCAAIAJqQSg2AgRB7IMBQbiHASgCADYCACADIAVB.JyAFa0EHcWpBL2siACAAIANBEGpJGyIBQRs2AgQgAUGYhwEpAgA3AhAgAUGQhwEpAgA3AghBmIcBIAFBCGo2AgBBlIcBIAQ2AgBBkIcBIAI2AgBBnIcBQQA2.AgAgAUEYaiEAA0AgAEEHNgIEIABBCGogAEEEaiEAIAVJDQALIAEgA0YNACABIAEoAgRBfnE2AgQgAyABIANrIgJBAXI2AgQgASACNgIAAn8gAkH/AU0EQCAC.QfgBcUH4gwFqIQACf0HQgwEoAgAiAUEBIAJBA3Z0IgJxRQRAQdCDASABIAJyNgIAIAAMAQsgACgCCAshASAAIAM2AgggASADNgIMQQwhAkEIDAELQR8hACAC.Qf///wdNBEAgAkEmIAJBCHZnIgBrdkEBcSAAQQF0ckE+cyEACyADIAA2AhwgA0IANwIQIABBAnRBgIYBaiEBAkACQEHUgwEoAgAiBUEBIAB0IgRxRQRAQdSD.ASAEIAVyNgIAIAEgAzYCAAwBCyACQRkgAEEBdmtBACAAQR9HG3QhACABKAIAIQUDQCAFIgEoAgRBeHEgAkYNAiAAQR12IQUgAEEBdCEAIAEgBUEEcWoiBCgC.ECIFDQALIAQgAzYCEAsgAyABNgIYQQghAiADIgEhAEEMDAELIAEoAggiACADNgIMIAEgAzYCCCADIAA2AghBACEAQRghAkEMCyADaiABNgIAIAIgA2ogADYC.AAtB3IMBKAIAIgAgBk0NAEHcgwEgACAGayIBNgIAQeiDAUHogwEoAgAiACAGaiICNgIAIAIgAUEBcjYCBCAAIAZBA3I2AgQgAEEIaiEADAQLQYD7AEEwNgIA.QQAhAAwDCyAAIAI2AgAgACAAKAIEIARqNgIEIAJBeCACa0EHcWoiCCAGQQNyNgIEIAFBeCABa0EHcWoiBCAGIAhqIgNrIQcCQEHogwEoAgAgBEYEQEHogwEg.AzYCAEHcgwFB3IMBKAIAIAdqIgA2AgAgAyAAQQFyNgIEDAELQeSDASgCACAERgRAQeSDASADNgIAQdiDAUHYgwEoAgAgB2oiADYCACADIABBAXI2AgQgACAD.aiAANgIADAELIAQoAgQiAEEDcUEBRgRAIABBeHEhCSAEKAIMIQICQCAAQf8BTQRAIAQoAggiASACRgRAQdCDAUHQgwEoAgBBfiAAQQN2d3E2AgAMAgsgASAC.NgIMIAIgATYCCAwBCyAEKAIYIQYCQCACIARHBEAgBCgCCCIAIAI2AgwgAiAANgIIDAELAkAgBCgCFCIABH8gBEEUagUgBCgCECIARQ0BIARBEGoLIQEDQCAB.IQUgACICQRRqIQEgACgCFCIADQAgAkEQaiEBIAIoAhAiAA0ACyAFQQA2AgAMAQtBACECCyAGRQ0AAkAgBCgCHCIAQQJ0IgEoAoCGASAERgRAIAFBgIYBaiAC.NgIAIAINAUHUgwFB1IMBKAIAQX4gAHdxNgIADAILAkAgBCAGKAIQRgRAIAYgAjYCEAwBCyAGIAI2AhQLIAJFDQELIAIgBjYCGCAEKAIQIgAEQCACIAA2AhAg.ACACNgIYCyAEKAIUIgBFDQAgAiAANgIUIAAgAjYCGAsgByAJaiEHIAQgCWoiBCgCBCEACyAEIABBfnE2AgQgAyAHQQFyNgIEIAMgB2ogBzYCACAHQf8BTQRA.IAdB+AFxQfiDAWohAAJ/QdCDASgCACIBQQEgB0EDdnQiAnFFBEBB0IMBIAEgAnI2AgAgAAwBCyAAKAIICyEBIAAgAzYCCCABIAM2AgwgAyAANgIMIAMgATYC.CAwBC0EfIQIgB0H///8HTQRAIAdBJiAHQQh2ZyIAa3ZBAXEgAEEBdHJBPnMhAgsgAyACNgIcIANCADcCECACQQJ0QYCGAWohAAJAAkBB1IMBKAIAIgFBASAC.dCIFcUUEQEHUgwEgASAFcjYCACAAIAM2AgAMAQsgB0EZIAJBAXZrQQAgAkEfRxt0IQIgACgCACEBA0AgASIAKAIEQXhxIAdGDQIgAkEddiEBIAJBAXQhAiAA.IAFBBHFqIgUoAhAiAQ0ACyAFIAM2AhALIAMgADYCGCADIAM2AgwgAyADNgIIDAELIAAoAggiASADNgIMIAAgAzYCCCADQQA2AhggAyAANgIMIAMgATYCCAsg.CEEIaiEADAILAkAgCEUNAAJAIAUoAhwiAUECdCICKAKAhgEgBUYEQCACQYCGAWogADYCACAADQFB1IMBIAdBfiABd3EiBzYCAAwCCwJAIAUgCCgCEEYEQCAI.IAA2AhAMAQsgCCAANgIUCyAARQ0BCyAAIAg2AhggBSgCECIBBEAgACABNgIQIAEgADYCGAsgBSgCFCIBRQ0AIAAgATYCFCABIAA2AhgLAkAgA0EPTQRAIAUg.AyAGaiIAQQNyNgIEIAAgBWoiACAAKAIEQQFyNgIEDAELIAUgBkEDcjYCBCAFIAZqIgQgA0EBcjYCBCADIARqIAM2AgAgA0H/AU0EQCADQfgBcUH4gwFqIQAC.f0HQgwEoAgAiAUEBIANBA3Z0IgJxRQRAQdCDASABIAJyNgIAIAAMAQsgACgCCAshASAAIAQ2AgggASAENgIMIAQgADYCDCAEIAE2AggMAQtBHyEAIANB////.B00EQCADQSYgA0EIdmciAGt2QQFxIABBAXRyQT5zIQALIAQgADYCHCAEQgA3AhAgAEECdEGAhgFqIQECQAJAIAdBASAAdCICcUUEQEHUgwEgAiAHcjYCACAB.IAQ2AgAgBCABNgIYDAELIANBGSAAQQF2a0EAIABBH0cbdCEAIAEoAgAhAQNAIAEiAigCBEF4cSADRg0CIABBHXYhASAAQQF0IQAgAiABQQRxaiIHKAIQIgEN.AAsgByAENgIQIAQgAjYCGAsgBCAENgIMIAQgBDYCCAwBCyACKAIIIgAgBDYCDCACIAQ2AgggBEEANgIYIAQgAjYCDCAEIAA2AggLIAVBCGohAAwBCwJAIAlF.DQACQCACKAIcIgFBAnQiBSgCgIYBIAJGBEAgBUGAhgFqIAA2AgAgAA0BQdSDASALQX4gAXdxNgIADAILAkAgAiAJKAIQRgRAIAkgADYCEAwBCyAJIAA2AhQL.IABFDQELIAAgCTYCGCACKAIQIgEEQCAAIAE2AhAgASAANgIYCyACKAIUIgFFDQAgACABNgIUIAEgADYCGAsCQCADQQ9NBEAgAiADIAZqIgBBA3I2AgQgACAC.aiIAIAAoAgRBAXI2AgQMAQsgAiAGQQNyNgIEIAIgBmoiBSADQQFyNgIEIAMgBWogAzYCACAIBEAgCEF4cUH4gwFqIQBB5IMBKAIAIQECf0EBIAhBA3Z0Igcg.BHFFBEBB0IMBIAQgB3I2AgAgAAwBCyAAKAIICyEEIAAgATYCCCAEIAE2AgwgASAANgIMIAEgBDYCCAtB5IMBIAU2AgBB2IMBIAM2AgALIAJBCGohAAsgCkEQ.aiQAIAAL4wEBA38gAEH86gA2AgAgACgCRCIBBEAgACABNgJIIAEQBQsgACgCOCIBBEAgACABNgI8IAEQBQsgACgCLCIBBEAgACABNgIwIAEQBQsgACgCICIB.BEAgACABNgIkIAEQBQsgACgCFCIBBEAgACABNgIYIAEQBQsgACgCCCIDBEAgAyIBIAAoAgwiAkcEQANAIAJBBGsiAigCACEBIAJBADYCACABBEAgARAXCyAC.IANHDQALIAAoAgghAQsgACADNgIMIAEQBQsgACgCBCEBIABBADYCBCABBEAgARCFARAFCyAACwQAQQELBABBfwsDAAALFAAgAARAIAAgACgCACgCBBECAAsL.1RMEBn8CfgF9AXwjAEEQayIJJAACQCADRQ0AAkACQAJAAkACQAJAAkACQAJAAkACQCAAKAIcQQFrDgsAAQIDBAUGBwgJCgsLAkAgAkH/AXEiBSAALQAYIgQg.BCAFSxtFDQAgACgCACIEKAIEIgcgBCgCACAAKQMwIAApAyggATUCAH58p2oiBk0NC0EAIQEDQCADIAFBAnRqIAYsAAA2AgAgAUEBaiIBIAUgAC0AGCIEIAQg.BUsbTw0BIAZBAWoiBiAHSQ0ACwwLC0EBIQggBCAFTw0KIAIgBGtB/wFxQQJ0IgBFDQogAyAEQQJ0akEAIAD8CwAMCgsCQCACQf8BcSIFIAAtABgiBCAEIAVL.G0UNACAAKAIAIgQoAgQiByAEKAIAIAApAzAgACkDKCABNQIAfnynaiIGTQ0KQQAhAQNAIAMgAUECdGogBi0AADYCACABQQFqIgEgBSAALQAYIgQgBCAFSxtP.DQEgBkEBaiIGIAdJDQALDAoLQQEhCCAEIAVPDQkgAiAEa0H/AXFBAnQiAEUNCSADIARBAnRqQQAgAPwLAAwJCyACQf8BcSIFIAAtABgiBCAEIAVLGwRAIAAo.AgAiBCgCACAAKQMwIAApAyggATUCAH58p2ohASAEKAIEIQcDQCABIAdPDQogAyAGQQJ0aiABLgEANgIAIAFBAmohASAGQQFqIgYgBSAALQAYIgQgBCAFSxtJ.DQALC0EBIQggBCAFTw0IIAIgBGtB/wFxQQJ0IgBFDQggAyAEQQJ0akEAIAD8CwAMCAsgAkH/AXEiBSAALQAYIgQgBCAFSxsEQCAAKAIAIgQoAgAgACkDMCAA.KQMoIAE1AgB+fKdqIQEgBCgCBCEHA0AgASAHTw0JIAMgBkECdGogAS8BADYCACABQQJqIQEgBkEBaiIGIAUgAC0AGCIEIAQgBUsbSQ0ACwtBASEIIAQgBU8N.ByACIARrQf8BcUECdCIARQ0HIAMgBEECdGpBACAA/AsADAcLIAJB/wFxIgUgAC0AGCIEIAQgBUsbBEAgACgCACIEKAIAIAApAzAgACkDKCABNQIAfnynaiEB.IAQoAgQhBwNAIAEgB08NCCADIAZBAnRqIAEoAgA2AgAgAUEEaiEBIAZBAWoiBiAFIAAtABgiBCAEIAVLG0kNAAsLQQEhCCAEIAVPDQYgAiAEa0H/AXFBAnQi.AEUNBiADIARBAnRqQQAgAPwLAAwGCyACQf8BcSIFIAAtABgiBCAEIAVLGwRAIAAoAgAiBCgCACAAKQMwIAApAyggATUCAH58p2ohASAEKAIEIQcDQCABIAdP.DQcgAyAGQQJ0aiABKAIANgIAIAFBBGohASAGQQFqIgYgBSAALQAYIgQgBCAFSxtJDQALC0EBIQggBCAFTw0FIAIgBGtB/wFxQQJ0IgBFDQUgAyAEQQJ0akEA.IAD8CwAMBQsgAkH/AXEiBSAALQAYIgQgBCAFSxsEQCAAKAIAIgQoAgAgACkDMCAAKQMoIAE1AgB+fKdqIQEgBCgCBCEHA0AgASAHTw0GIAEpAwAiCkL/////.D1YNBiADIAZBAnRqIAo+AgAgAUEIaiEBIAZBAWoiBiAFIAAtABgiBCAEIAVLG0kNAAsLQQEhCCAEIAVPDQQgAiAEa0H/AXFBAnQiAEUNBCADIARBAnRqQQAg.APwLAAwECyACQf8BcSIFIAAtABgiBCAEIAVLGwRAIAAoAgAiBCgCACAAKQMwIAApAyggATUCAH58p2ohASAEKAIEIQcDQCABIAdPDQUgASkDACIKQv////8P.Vg0FIAMgBkECdGogCj4CACABQQhqIQEgBkEBaiIGIAUgAC0AGCIEIAQgBUsbSQ0ACwtBASEIIAQgBU8NAyACIARrQf8BcUECdCIARQ0DIAMgBEECdGpBACAA./AsADAMLIAkgASgCADYCDAJAAkAgAkH/AXEiBCAALQAYIgEgASAESxtFDQAgACgCACIBKAIAIAApAzAgACkDKCAJNQIMfnynaiECIAEoAgQhCCAALQAgQQFx.BEAgAiAITw0CA0AgAioCACIMvCIBQf////8HcSIHRSABQQFrQf///wNJciAHQYCAgARrQYCAgPgHSSABQQBOcXJFDQMgDEMAAIA/Xg0DIAMgBkECdGogDLtE.AADg////70GiRAAAAAAAAOA/oJz8AzYCACAGQQFqIgYgBCAALQAYIgEgASAESxtPDQIgAkEEaiICIAhJDQALDAILIAIgCE8NAQNAIAIqAgAiDLwiAUH/////.B3EiB0UgAUEBa0H///8DSXIgB0GAgIAEa0GAgID4B0kgAUEATnFyRQ0CIAxDAACAT2ANAiADIAZBAnRqIAz8ATYCACAGQQFqIgYgBCAALQAYIgEgASAESxtP.DQEgAkEEaiICIAhJDQALDAELQQEhBSABIARPDQAgBCABa0H/AXFBAnQiAEUNACADIAFBAnRqQQAgAPwLAAsgBSEIDAILIAkgASgCADYCCAJAAkAgAkH/AXEi.BCAALQAYIgEgASAESxtFDQAgACgCACIBKAIAIAApAzAgACkDKCAJNQIIfnynaiECIAEoAgQhCCAALQAgQQFxBEAgAiAITw0CA0AgAisDACINvSIKQv//////./////wCDIgtQIApCAX1C/////////wdUciALQoCAgICAgIAIfUKAgICAgICA8P8AVCAKQgBZcXJFDQMgDUQAAAAAAADwP2QNAyADIAZBAnRqIA1EAADg////.70GiRAAAAAAAAOA/oJz8AzYCACAGQQFqIgYgBCAALQAYIgEgASAESxtPDQIgAkEIaiICIAhJDQALDAILIAIgCE8NAQNAIAIrAwAiDb0iCkL///////////8A.gyILUCAKQgF9Qv////////8HVHIgC0KAgICAgICACH1CgICAgICAgPD/AFQgCkIAWXFyRQ0CIA1EAADg////70FmDQIgAyAGQQJ0aiAN/AM2AgAgBkEBaiIG.IAQgAC0AGCIBIAEgBEsbTw0BIAJBCGoiAiAISQ0ACwwBC0EBIQUgASAETw0AIAQgAWtB/wFxQQJ0IgBFDQAgAyABQQJ0akEAIAD8CwALIAUhCAwBCwJAIAJB./wFxIgUgAC0AGCIEIAQgBUsbRQ0AIAAoAgAiBCgCBCIHIAQoAgAgACkDMCAAKQMoIAE1AgB+fKdqIgZNDQFBACEBA0AgAyABQQJ0aiAGLQAANgIAIAFBAWoi.ASAFIAAtABgiBCAEIAVLG08NASAGQQFqIgYgB0kNAAsMAQtBASEIIAQgBU8NACACIARrQf8BcUECdCIARQ0AIAMgBEECdGpBACAA/AsACyAJQRBqJAAgCAuR.EwQGfwF9AXwBfiMAQRBrIgkkAAJAIANFDQACQAJAAkACQAJAAkACQAJAAkACQAJAIAAoAhxBAWsOCwABAgMEBQYHCAkKCwsCQCACQf8BcSIFIAAtABgiBCAE.IAVLG0UNACAAKAIAIgQoAgQiCCAEKAIAIAApAzAgACkDKCABNQIAfnynaiIGTQ0LQQAhAQNAIAMgAUECdGogBiwAADYCACABQQFqIgEgBSAALQAYIgQgBCAF.SxtPDQEgBkEBaiIGIAhJDQALDAsLQQEhByAEIAVPDQogAiAEa0H/AXFBAnQiAEUNCiADIARBAnRqQQAgAPwLAAwKCwJAIAJB/wFxIgUgAC0AGCIEIAQgBUsb.RQ0AIAAoAgAiBCgCBCIIIAQoAgAgACkDMCAAKQMoIAE1AgB+fKdqIgZNDQpBACEBA0AgAyABQQJ0aiAGLQAANgIAIAFBAWoiASAFIAAtABgiBCAEIAVLG08N.ASAGQQFqIgYgCEkNAAsMCgtBASEHIAQgBU8NCSACIARrQf8BcUECdCIARQ0JIAMgBEECdGpBACAA/AsADAkLIAJB/wFxIgUgAC0AGCIEIAQgBUsbBEAgACgC.ACIEKAIAIAApAzAgACkDKCABNQIAfnynaiEBIAQoAgQhCANAIAEgCE8NCiADIAZBAnRqIAEuAQA2AgAgAUECaiEBIAZBAWoiBiAFIAAtABgiBCAEIAVLG0kN.AAsLQQEhByAEIAVPDQggAiAEa0H/AXFBAnQiAEUNCCADIARBAnRqQQAgAPwLAAwICyACQf8BcSIFIAAtABgiBCAEIAVLGwRAIAAoAgAiBCgCACAAKQMwIAAp.AyggATUCAH58p2ohASAEKAIEIQgDQCABIAhPDQkgAyAGQQJ0aiABLwEANgIAIAFBAmohASAGQQFqIgYgBSAALQAYIgQgBCAFSxtJDQALC0EBIQcgBCAFTw0H.IAIgBGtB/wFxQQJ0IgBFDQcgAyAEQQJ0akEAIAD8CwAMBwsgAkH/AXEiBSAALQAYIgQgBCAFSxsEQCAAKAIAIgQoAgAgACkDMCAAKQMoIAE1AgB+fKdqIQEg.BCgCBCEIA0AgASAITw0IIAMgBkECdGogASgCADYCACABQQRqIQEgBkEBaiIGIAUgAC0AGCIEIAQgBUsbSQ0ACwtBASEHIAQgBU8NBiACIARrQf8BcUECdCIA.RQ0GIAMgBEECdGpBACAA/AsADAYLIAJB/wFxIgUgAC0AGCIEIAQgBUsbBEAgACgCACIEKAIAIAApAzAgACkDKCABNQIAfnynaiEBIAQoAgQhCANAIAEgCE8N.ByABKAIAIgRBAEgNByADIAZBAnRqIAQ2AgAgAUEEaiEBIAZBAWoiBiAFIAAtABgiBCAEIAVLG0kNAAsLQQEhByAEIAVPDQUgAiAEa0H/AXFBAnQiAEUNBSAD.IARBAnRqQQAgAPwLAAwFCyACQf8BcSIFIAAtABgiBCAEIAVLGwRAIAAoAgAiBCgCACAAKQMwIAApAyggATUCAH58p2ohASAEKAIEIQgDQCABIAhPDQYgASkD.ACIMQoCAgIAIfEL/////D1YNBiADIAZBAnRqIAw+AgAgAUEIaiEBIAZBAWoiBiAFIAAtABgiBCAEIAVLG0kNAAsLQQEhByAEIAVPDQQgAiAEa0H/AXFBAnQi.AEUNBCADIARBAnRqQQAgAPwLAAwECyACQf8BcSIFIAAtABgiBCAEIAVLGwRAIAAoAgAiBCgCACAAKQMwIAApAyggATUCAH58p2ohASAEKAIEIQgDQCABIAhP.DQUgASkDACIMQv////8HVg0FIAMgBkECdGogDD4CACABQQhqIQEgBkEBaiIGIAUgAC0AGCIEIAQgBUsbSQ0ACwtBASEHIAQgBU8NAyACIARrQf8BcUECdCIA.RQ0DIAMgBEECdGpBACAA/AsADAMLIAkgASgCADYCDAJAAkAgAkH/AXEiBCAALQAYIgEgASAESxtFDQAgACgCACIBKAIAIAApAzAgACkDKCAJNQIMfnynaiEC.IAEoAgQhByAALQAgQQFxBEAgAiAHTw0CA0AgAioCACIKQwAAAE9gDQMgCkMAAADPXQ0DIAq8QQF0QYCAgHhPDQMgCkMAAIA/Xg0DIApDAAAAAF0NAyADIAZB.AnRqIAq7RAAAwP///99BokQAAAAAAADgP6Cc/AI2AgAgBkEBaiIGIAQgAC0AGCIBIAEgBEsbTw0CIAJBBGoiAiAHSQ0ACwwCCyACIAdPDQEDQCACKgIAIgpD.AAAAT2ANAiAKQwAAAM9dDQIgCrxBAXRBgICAeE8NAiADIAZBAnRqIAr8ADYCACAGQQFqIgYgBCAALQAYIgEgASAESxtPDQEgAkEEaiICIAdJDQALDAELQQEh.BSABIARPDQAgBCABa0H/AXFBAnQiAEUNACADIAFBAnRqQQAgAPwLAAsgBSEHDAILIAkgASgCADYCCAJAAkAgAkH/AXEiBCAALQAYIgEgASAESxtFDQAgACgC.ACIBKAIAIAApAzAgACkDKCAJNQIIfnynaiECIAEoAgQhByAALQAgQQFxBEAgAiAHTw0CA0AgAisDACILRAAAwP///99BZg0DIAtEAAAAAAAA4MFjDQMgC71C.AYZCgICAgICAgHBaDQMgC0QAAAAAAADwP2QNAyALRAAAAAAAAAAAYw0DIAMgBkECdGogC0QAAMD////fQaJEAAAAAAAA4D+gnPwCNgIAIAZBAWoiBiAEIAAt.ABgiASABIARLG08NAiACQQhqIgIgB0kNAAsMAgsgAiAHTw0BA0AgAisDACILRAAAwP///99BZg0CIAtEAAAAAAAA4MFjDQIgC71CAYZCgICAgICAgHBaDQIg.AyAGQQJ0aiAL/AI2AgAgBkEBaiIGIAQgAC0AGCIBIAEgBEsbTw0BIAJBCGoiAiAHSQ0ACwwBC0EBIQUgASAETw0AIAQgAWtB/wFxQQJ0IgBFDQAgAyABQQJ0.akEAIAD8CwALIAUhBwwBCwJAIAJB/wFxIgUgAC0AGCIEIAQgBUsbRQ0AIAAoAgAiBCgCBCIIIAQoAgAgACkDMCAAKQMoIAE1AgB+fKdqIgZNDQFBACEBA0Ag.AyABQQJ0aiAGLQAANgIAIAFBAWoiASAFIAAtABgiBCAEIAVLG08NASAGQQFqIgYgCEkNAAsMAQtBASEHIAQgBU8NACACIARrQf8BcUECdCIARQ0AIAMgBEEC.dGpBACAA/AsACyAJQRBqJAAgBwv3EwQHfwJ+AX0BfCMAQRBrIgkkAAJAIANFDQACQAJAAkACQAJAAkACQAJAAkACQAJAIAAoAhxBAWsOCwABAgMEBQYHCAkK.CwsCQCACQf8BcSIHIgUgAC0AGCIEIAQgBUsbRQ0AIAAoAgAiBCgCBCIKIAQoAgAgACkDMCAAKQMoIAE1AgB+fKdqIgFNDQsDQCABLAAAIgRBAEgNDCADIAZB.AXRqIAQ7AQAgBkEBaiIGIAcgAC0AGCIEIAQgB0sbTw0BIAFBAWoiASAKSQ0ACwwLC0EBIQggBCAFTw0KIAIgBGtB/wFxQQF0IgBFDQogAyAEQQF0akEAIAD8.CwAMCgsCQCACQf8BcSIFIAAtABgiBCAEIAVLG0UNACAAKAIAIgQoAgQiByAEKAIAIAApAzAgACkDKCABNQIAfnynaiIGTQ0KQQAhAQNAIAMgAUEBdGogBi0A.ADsBACABQQFqIgEgBSAALQAYIgQgBCAFSxtPDQEgBkEBaiIGIAdJDQALDAoLQQEhCCAEIAVPDQkgAiAEa0H/AXFBAXQiAEUNCSADIARBAXRqQQAgAPwLAAwJ.CyACQf8BcSIFIAAtABgiBCAEIAVLGwRAIAAoAgAiBCgCACAAKQMwIAApAyggATUCAH58p2ohASAEKAIEIQcDQCABIAdPDQogAS4BACIEQQBIDQogAyAGQQF0.aiAEOwEAIAFBAmohASAGQQFqIgYgBSAALQAYIgQgBCAFSxtJDQALC0EBIQggBCAFTw0IIAIgBGtB/wFxQQF0IgBFDQggAyAEQQF0akEAIAD8CwAMCAsgAkH/.AXEiBSAALQAYIgQgBCAFSxsEQCAAKAIAIgQoAgAgACkDMCAAKQMoIAE1AgB+fKdqIQEgBCgCBCEHA0AgASAHTw0JIAMgBkEBdGogAS8BADsBACABQQJqIQEg.BkEBaiIGIAUgAC0AGCIEIAQgBUsbSQ0ACwtBASEIIAQgBU8NByACIARrQf8BcUEBdCIARQ0HIAMgBEEBdGpBACAA/AsADAcLIAJB/wFxIgUgAC0AGCIEIAQg.BUsbBEAgACgCACIEKAIAIAApAzAgACkDKCABNQIAfnynaiEBIAQoAgQhBwNAIAEgB08NCCABKAIAIgRB//8DSw0IIAMgBkEBdGogBDsBACABQQRqIQEgBkEB.aiIGIAUgAC0AGCIEIAQgBUsbSQ0ACwtBASEIIAQgBU8NBiACIARrQf8BcUEBdCIARQ0GIAMgBEEBdGpBACAA/AsADAYLIAJB/wFxIgUgAC0AGCIEIAQgBUsb.BEAgACgCACIEKAIAIAApAzAgACkDKCABNQIAfnynaiEBIAQoAgQhBwNAIAEgB08NByABKAIAIgRB//8DSw0HIAMgBkEBdGogBDsBACABQQRqIQEgBkEBaiIG.IAUgAC0AGCIEIAQgBUsbSQ0ACwtBASEIIAQgBU8NBSACIARrQf8BcUEBdCIARQ0FIAMgBEEBdGpBACAA/AsADAULIAJB/wFxIgUgAC0AGCIEIAQgBUsbBEAg.ACgCACIEKAIAIAApAzAgACkDKCABNQIAfnynaiEBIAQoAgQhBwNAIAEgB08NBiABKQMAIgtC//8DVg0GIAMgBkEBdGogCz0BACABQQhqIQEgBkEBaiIGIAUg.AC0AGCIEIAQgBUsbSQ0ACwtBASEIIAQgBU8NBCACIARrQf8BcUEBdCIARQ0EIAMgBEEBdGpBACAA/AsADAQLIAJB/wFxIgUgAC0AGCIEIAQgBUsbBEAgACgC.ACIEKAIAIAApAzAgACkDKCABNQIAfnynaiEBIAQoAgQhBwNAIAEgB08NBSABKQMAIgtC//8DVg0FIAMgBkEBdGogCz0BACABQQhqIQEgBkEBaiIGIAUgAC0A.GCIEIAQgBUsbSQ0ACwtBASEIIAQgBU8NAyACIARrQf8BcUEBdCIARQ0DIAMgBEEBdGpBACAA/AsADAMLIAkgASgCADYCDAJAAkAgAkH/AXEiBCAALQAYIgEg.ASAESxtFDQAgACgCACIBKAIAIAApAzAgACkDKCAJNQIMfnynaiECIAEoAgQhCCAALQAgQQFxBEAgAiAITw0CA0AgAioCACINvCIBQf////8HcSIHRSABQQFr.Qf///wNJciAHQYCAgARrQYCAgPgHSSABQQBOcXJFDQMgDUMAAIA/Xg0DIAMgBkEBdGogDbtEAAAAAOD/70CiRAAAAAAAAOA/oJz8AzsBACAGQQFqIgYgBCAA.LQAYIgEgASAESxtPDQIgAkEEaiICIAhJDQALDAILIAIgCE8NAQNAIAIqAgAiDbwiAUH/////B3EiB0UgAUEBa0H///8DSXIgB0GAgIAEa0GAgID4B0kgAUEA.TnFyRQ0CIA1DAP9/R2ANAiADIAZBAXRqIA38ATsBACAGQQFqIgYgBCAALQAYIgEgASAESxtPDQEgAkEEaiICIAhJDQALDAELQQEhBSABIARPDQAgBCABa0H/.AXFBAXQiAEUNACADIAFBAXRqQQAgAPwLAAsgBSEIDAILIAkgASgCADYCCAJAAkAgAkH/AXEiBCAALQAYIgEgASAESxtFDQAgACgCACIBKAIAIAApAzAgACkD.KCAJNQIIfnynaiECIAEoAgQhCCAALQAgQQFxBEAgAiAITw0CA0AgAisDACIOvSILQv///////////wCDIgxQIAtCAX1C/////////wdUciAMQoCAgICAgIAI.fUKAgICAgICA8P8AVCALQgBZcXJFDQMgDkQAAAAAAADwP2QNAyADIAZBAXRqIA5EAAAAAOD/70CiRAAAAAAAAOA/oJz8AzsBACAGQQFqIgYgBCAALQAYIgEg.ASAESxtPDQIgAkEIaiICIAhJDQALDAILIAIgCE8NAQNAIAIrAwAiDr0iC0L///////////8AgyIMUCALQgF9Qv////////8HVHIgDEKAgICAgICACH1CgICA.gICAgPD/AFQgC0IAWXFyRQ0CIA5EAAAAAOD/70BmDQIgAyAGQQF0aiAO/AM7AQAgBkEBaiIGIAQgAC0AGCIBIAEgBEsbTw0BIAJBCGoiAiAISQ0ACwwBC0EB.IQUgASAETw0AIAQgAWtB/wFxQQF0IgBFDQAgAyABQQF0akEAIAD8CwALIAUhCAwBCwJAIAJB/wFxIgUgAC0AGCIEIAQgBUsbRQ0AIAAoAgAiBCgCBCIHIAQo.AgAgACkDMCAAKQMoIAE1AgB+fKdqIgZNDQFBACEBA0AgAyABQQF0aiAGLQAAOwEAIAFBAWoiASAFIAAtABgiBCAEIAVLG08NASAGQQFqIgYgB0kNAAsMAQtB.ASEIIAQgBU8NACACIARrQf8BcUEBdCIARQ0AIAMgBEEBdGpBACAA/AsACyAJQRBqJAAgCAumEwQGfwF9AXwBfiMAQRBrIgkkAAJAIANFDQACQAJAAkACQAJA.AkACQAJAAkACQAJAIAAoAhxBAWsOCwABAgMEBQYHCAkKCwsCQCACQf8BcSIFIAAtABgiBCAEIAVLG0UNACAAKAIAIgQoAgQiCCAEKAIAIAApAzAgACkDKCAB.NQIAfnynaiIGTQ0LQQAhAQNAIAMgAUEBdGogBiwAADsBACABQQFqIgEgBSAALQAYIgQgBCAFSxtPDQEgBkEBaiIGIAhJDQALDAsLQQEhByAEIAVPDQogAiAE.a0H/AXFBAXQiAEUNCiADIARBAXRqQQAgAPwLAAwKCwJAIAJB/wFxIgUgAC0AGCIEIAQgBUsbRQ0AIAAoAgAiBCgCBCIIIAQoAgAgACkDMCAAKQMoIAE1AgB+.fKdqIgZNDQpBACEBA0AgAyABQQF0aiAGLQAAOwEAIAFBAWoiASAFIAAtABgiBCAEIAVLG08NASAGQQFqIgYgCEkNAAsMCgtBASEHIAQgBU8NCSACIARrQf8B.cUEBdCIARQ0JIAMgBEEBdGpBACAA/AsADAkLIAJB/wFxIgUgAC0AGCIEIAQgBUsbBEAgACgCACIEKAIAIAApAzAgACkDKCABNQIAfnynaiEBIAQoAgQhCANA.IAEgCE8NCiADIAZBAXRqIAEvAQA7AQAgAUECaiEBIAZBAWoiBiAFIAAtABgiBCAEIAVLG0kNAAsLQQEhByAEIAVPDQggAiAEa0H/AXFBAXQiAEUNCCADIARB.AXRqQQAgAPwLAAwICyACQf8BcSIFIAAtABgiBCAEIAVLGwRAIAAoAgAiBCgCACAAKQMwIAApAyggATUCAH58p2ohASAEKAIEIQgDQCABIAhPDQkgAS4BACIE.QQBIDQkgAyAGQQF0aiAEOwEAIAFBAmohASAGQQFqIgYgBSAALQAYIgQgBCAFSxtJDQALC0EBIQcgBCAFTw0HIAIgBGtB/wFxQQF0IgBFDQcgAyAEQQF0akEA.IAD8CwAMBwsgAkH/AXEiBSAALQAYIgQgBCAFSxsEQCAAKAIAIgQoAgAgACkDMCAAKQMoIAE1AgB+fKdqIQEgBCgCBCEIA0AgASAITw0IIAEoAgAiBEGAgAJq.Qf//A0sNCCADIAZBAXRqIAQ7AQAgAUEEaiEBIAZBAWoiBiAFIAAtABgiBCAEIAVLG0kNAAsLQQEhByAEIAVPDQYgAiAEa0H/AXFBAXQiAEUNBiADIARBAXRq.QQAgAPwLAAwGCyACQf8BcSIFIAAtABgiBCAEIAVLGwRAIAAoAgAiBCgCACAAKQMwIAApAyggATUCAH58p2ohASAEKAIEIQgDQCABIAhPDQcgASgCACIEQf//.AUsNByADIAZBAXRqIAQ7AQAgAUEEaiEBIAZBAWoiBiAFIAAtABgiBCAEIAVLG0kNAAsLQQEhByAEIAVPDQUgAiAEa0H/AXFBAXQiAEUNBSADIARBAXRqQQAg.APwLAAwFCyACQf8BcSIFIAAtABgiBCAEIAVLGwRAIAAoAgAiBCgCACAAKQMwIAApAyggATUCAH58p2ohASAEKAIEIQgDQCABIAhPDQYgASkDACIMQoCAAnxC.//8DVg0GIAMgBkEBdGogDD0BACABQQhqIQEgBkEBaiIGIAUgAC0AGCIEIAQgBUsbSQ0ACwtBASEHIAQgBU8NBCACIARrQf8BcUEBdCIARQ0EIAMgBEEBdGpB.ACAA/AsADAQLIAJB/wFxIgUgAC0AGCIEIAQgBUsbBEAgACgCACIEKAIAIAApAzAgACkDKCABNQIAfnynaiEBIAQoAgQhCANAIAEgCE8NBSABKQMAIgxC//8B.Vg0FIAMgBkEBdGogDD0BACABQQhqIQEgBkEBaiIGIAUgAC0AGCIEIAQgBUsbSQ0ACwtBASEHIAQgBU8NAyACIARrQf8BcUEBdCIARQ0DIAMgBEEBdGpBACAA./AsADAMLIAkgASgCADYCDAJAAkAgAkH/AXEiBCAALQAYIgEgASAESxtFDQAgACgCACIBKAIAIAApAzAgACkDKCAJNQIMfnynaiECIAEoAgQhByAALQAgQQFx.BEAgAiAHTw0CA0AgAioCACIKQwD+/0ZgDQMgCkMAAADHXQ0DIAq8QQF0QYCAgHhPDQMgCkMAAIA/Xg0DIApDAAAAAF0NAyADIAZBAXRqIAq7RAAAAADA/99A.okQAAAAAAADgP6Cc/AI7AQAgBkEBaiIGIAQgAC0AGCIBIAEgBEsbTw0CIAJBBGoiAiAHSQ0ACwwCCyACIAdPDQEDQCACKgIAIgpDAP7/RmANAiAKQwAAAMdd.DQIgCrxBAXRBgICAeE8NAiADIAZBAXRqIAr8ADsBACAGQQFqIgYgBCAALQAYIgEgASAESxtPDQEgAkEEaiICIAdJDQALDAELQQEhBSABIARPDQAgBCABa0H/.AXFBAXQiAEUNACADIAFBAXRqQQAgAPwLAAsgBSEHDAILIAkgASgCADYCCAJAAkAgAkH/AXEiBCAALQAYIgEgASAESxtFDQAgACgCACIBKAIAIAApAzAgACkD.KCAJNQIIfnynaiECIAEoAgQhByAALQAgQQFxBEAgAiAHTw0CA0AgAisDACILRAAAAADA/99AZg0DIAtEAAAAAAAA4MBjDQMgC71CAYZCgICAgICAgHBaDQMg.C0QAAAAAAADwP2QNAyALRAAAAAAAAAAAYw0DIAMgBkEBdGogC0QAAAAAwP/fQKJEAAAAAAAA4D+gnPwCOwEAIAZBAWoiBiAEIAAtABgiASABIARLG08NAiAC.QQhqIgIgB0kNAAsMAgsgAiAHTw0BA0AgAisDACILRAAAAADA/99AZg0CIAtEAAAAAAAA4MBjDQIgC71CAYZCgICAgICAgHBaDQIgAyAGQQF0aiAL/AI7AQAg.BkEBaiIGIAQgAC0AGCIBIAEgBEsbTw0BIAJBCGoiAiAHSQ0ACwwBC0EBIQUgASAETw0AIAQgAWtB/wFxQQF0IgBFDQAgAyABQQF0akEAIAD8CwALIAUhBwwB.CwJAIAJB/wFxIgUgAC0AGCIEIAQgBUsbRQ0AIAAoAgAiBCgCBCIIIAQoAgAgACkDMCAAKQMoIAE1AgB+fKdqIgZNDQFBACEBA0AgAyABQQF0aiAGLQAAOwEA.IAFBAWoiASAFIAAtABgiBCAEIAVLG08NASAGQQFqIgYgCEkNAAsMAQtBASEHIAQgBU8NACACIARrQf8BcUEBdCIARQ0AIAMgBEEBdGpBACAA/AsACyAJQRBq.JAAgBwuEAgEGfwJAAkACQCAAKAIEIgUgACgCACIEayIGQQF1IgMgAUkEQCAAKAIIIARrIgJBAXUgAU8EQCABIANrQQF0IgEEQCAFQQAgAfwLAAsgACABIAVq.NgIEDwsgAUEASA0CQf////8HIAIgASABIAJJGyACQf7///8HTxsiAkEASA0DIAJBAXQiBRAGIgcgBmohAiABIANrQQF0IgEEQCACQQAgAfwLAAsgAiADQQF0.ayEDIAYEQCADIAQgBvwKAAALIAAgBSAHajYCCCAAIAEgAmo2AgQgACADNgIAIARFDQEgBBAFDwsgASADTw0AIAAgBCABQQF0ajYCBAsPCxAHAAsQDgAL9w0E.BX8CfgF9AXwCQCADRQ0AAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgACgCHEEBaw4LAAECAwQFBgcICQoNCyACQf8BcSIFIAAtABgiBCAEIAVLGwRAIAAo.AgAoAgAgACkDMCAAKQMoIAE1AgB+fKdqIQEDQCABIAAoAgAoAgRPBEBBAA8LIAEsAAAiBEEASA0OIAMgBmogBDoAACABQQFqIQEgBkEBaiIGIAUgAC0AGCIE.IAQgBUsbSQ0ACwsgBCAFSQ0KDAsLIAJB/wFxIgUgAC0AGCIEIAQgBUsbBEAgACgCACgCACAAKQMwIAApAyggATUCAH58p2ohAQNAIAAoAgAoAgQgAU0NDSAD.IAZqIAEtAAA6AAAgAUEBaiEBIAZBAWoiBiAFIAAtABgiBCAEIAVLG0kNAAsLIAQgBUkNCQwKCyACQf8BcSIFIAAtABgiBCAEIAVLGwRAIAAoAgAoAgAgACkD.MCAAKQMoIAE1AgB+fKdqIQEDQCAAKAIAKAIEIAFNDQwgAS8BACIEQf8BSw0MIAMgBmogBDoAACABQQJqIQEgBkEBaiIGIAUgAC0AGCIEIAQgBUsbSQ0ACwsg.BCAFSQ0IDAkLIAJB/wFxIgUgAC0AGCIEIAQgBUsbBEAgACgCACgCACAAKQMwIAApAyggATUCAH58p2ohAQNAIAAoAgAoAgQgAU0NCyABLwEAIgRB/wFLDQsg.AyAGaiAEOgAAIAFBAmohASAGQQFqIgYgBSAALQAYIgQgBCAFSxtJDQALCyAEIAVJDQcMCAsgAkH/AXEiBSAALQAYIgQgBCAFSxsEQCAAKAIAKAIAIAApAzAg.ACkDKCABNQIAfnynaiEBA0AgACgCACgCBCABTQ0KIAEoAgAiBEH/AUsNCiADIAZqIAQ6AAAgAUEEaiEBIAZBAWoiBiAFIAAtABgiBCAEIAVLG0kNAAsLIAQg.BUkNBgwHCyACQf8BcSIFIAAtABgiBCAEIAVLGwRAIAAoAgAoAgAgACkDMCAAKQMoIAE1AgB+fKdqIQEDQCAAKAIAKAIEIAFNDQkgASgCACIEQf8BSw0JIAMg.BmogBDoAACABQQRqIQEgBkEBaiIGIAUgAC0AGCIEIAQgBUsbSQ0ACwsgBCAFSQ0FDAYLIAJB/wFxIgUgAC0AGCIEIAQgBUsbBEAgACgCACgCACAAKQMwIAAp.AyggATUCAH58p2ohAQNAIAAoAgAoAgQgAU0NCCABKQMAIglC/wFWDQggAyAGaiAJPAAAIAFBCGohASAGQQFqIgYgBSAALQAYIgQgBCAFSxtJDQALCyAEIAVJ.DQQMBQsgAkH/AXEiBSAALQAYIgQgBCAFSxsEQCAAKAIAKAIAIAApAzAgACkDKCABNQIAfnynaiEBA0AgACgCACgCBCABTQ0HIAEpAwAiCUL/AVYNByADIAZq.IAk8AAAgAUEIaiEBIAZBAWoiBiAFIAAtABgiBCAEIAVLG0kNAAsLIAQgBUkNAwwECyACQf8BcSIFIAAtABgiBCAEIAVLGwRAIAAoAgAoAgAgACkDMCAAKQMo.IAE1AgB+fKdqIQEDQCAAKAIAKAIEIAFNDQYgASoCACILvCIEQf////8HcSIIRSAEQQFrQf///wNJciAIQYCAgARrQYCAgPgHSSAEQQBOcXJFDQYgC0MAAH9D.YA0GIAMgBmogAC0AIAR/IAtDAACAP14NByALu0QAAAAAAOBvQKJEAAAAAAAA4D+gnPwDBSAL/AELOgAAIAFBBGohASAGQQFqIgYgBSAALQAYIgQgBCAFSxtJ.DQALCyAEIAVJDQIMAwsgAkH/AXEiBSAALQAYIgQgBCAFSxsEQCAAKAIAKAIAIAApAzAgACkDKCABNQIAfnynaiEBA0AgACgCACgCBCABTQ0FIAErAwAiDL0i.CUL///////////8AgyIKUCAJQgF9Qv////////8HVHIgCkKAgICAgICACH1CgICAgICAgPD/AFQgCUIAWXFyRQ0FIAxEAAAAAADgb0BmDQUgAyAGaiAALQAg.QQFGBHwgDEQAAAAAAADwP2QNBiAMRAAAAAAA4G9AokQAAAAAAADgP6CcBSAMC/wDOgAAIAFBCGohASAGQQFqIgYgBSAALQAYIgQgBCAFSxtJDQALCyAEIAVJ.DQEMAgsgAkH/AXEiBSAALQAYIgQgBCAFSxsEQCAAKAIAKAIAIAApAzAgACkDKCABNQIAfnynaiEBA0AgACgCACgCBCABTQ0EIAMgBmogAS0AADoAACABQQFq.IQEgBkEBaiIGIAUgAC0AGCIEIAQgBUsbSQ0ACwsgBCAFTw0BCyACIARrQf8BcSIARQ0AIAMgBGpBACAA/AsAC0EBIQcLIAcL3g0EBH8BfQF8AX4CQCADRQ0A.AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgACgCHEEBaw4LAAECAwQFBgcICQoNCyACQf8BcSIFIAAtABgiBCAEIAVLGwRAIAAoAgAoAgAgACkDMCAAKQMo.IAE1AgB+fKdqIQEDQCAAKAIAKAIEIAFNDQ4gAyAGaiABLQAAOgAAIAFBAWohASAGQQFqIgYgBSAALQAYIgQgBCAFSxtJDQALCyAEIAVJDQoMCwsgAkH/AXEi.BSAALQAYIgQgBCAFSxsEQCAAKAIAKAIAIAApAzAgACkDKCABNQIAfnynaiEBA0AgASAAKAIAKAIETwRAQQAPCyABLAAAIgRBAEgNDSADIAZqIAQ6AAAgAUEB.aiEBIAZBAWoiBiAFIAAtABgiBCAEIAVLG0kNAAsLIAQgBUkNCQwKCyACQf8BcSIFIAAtABgiBCAEIAVLGwRAIAAoAgAoAgAgACkDMCAAKQMoIAE1AgB+fKdq.IQEDQCAAKAIAKAIEIAFNDQwgAS8BACIEQYABakH//wNxQf8BSw0MIAMgBmogBDoAACABQQJqIQEgBkEBaiIGIAUgAC0AGCIEIAQgBUsbSQ0ACwsgBCAFSQ0I.DAkLIAJB/wFxIgUgAC0AGCIEIAQgBUsbBEAgACgCACgCACAAKQMwIAApAyggATUCAH58p2ohAQNAIAAoAgAoAgQgAU0NCyABLwEAIgRB/wBLDQsgAyAGaiAE.OgAAIAFBAmohASAGQQFqIgYgBSAALQAYIgQgBCAFSxtJDQALCyAEIAVJDQcMCAsgAkH/AXEiBSAALQAYIgQgBCAFSxsEQCAAKAIAKAIAIAApAzAgACkDKCAB.NQIAfnynaiEBA0AgACgCACgCBCABTQ0KIAEoAgAiBEGAAWpB/wFLDQogAyAGaiAEOgAAIAFBBGohASAGQQFqIgYgBSAALQAYIgQgBCAFSxtJDQALCyAEIAVJ.DQYMBwsgAkH/AXEiBSAALQAYIgQgBCAFSxsEQCAAKAIAKAIAIAApAzAgACkDKCABNQIAfnynaiEBA0AgACgCACgCBCABTQ0JIAEoAgAiBEH/AEsNCSADIAZq.IAQ6AAAgAUEEaiEBIAZBAWoiBiAFIAAtABgiBCAEIAVLG0kNAAsLIAQgBUkNBQwGCyACQf8BcSIFIAAtABgiBCAEIAVLGwRAIAAoAgAoAgAgACkDMCAAKQMo.IAE1AgB+fKdqIQEDQCAAKAIAKAIEIAFNDQggASkDACIKQoABfEL/AVYNCCADIAZqIAo8AAAgAUEIaiEBIAZBAWoiBiAFIAAtABgiBCAEIAVLG0kNAAsLIAQg.BUkNBAwFCyACQf8BcSIFIAAtABgiBCAEIAVLGwRAIAAoAgAoAgAgACkDMCAAKQMoIAE1AgB+fKdqIQEDQCAAKAIAKAIEIAFNDQcgASkDACIKQv8AVg0HIAMg.BmogCjwAACABQQhqIQEgBkEBaiIGIAUgAC0AGCIEIAQgBUsbSQ0ACwsgBCAFSQ0DDAQLIAJB/wFxIgUgAC0AGCIEIAQgBUsbBEAgACgCACgCACAAKQMwIAAp.AyggATUCAH58p2ohAQNAIAAoAgAoAgQgAU0NBiABKgIAIghDAAD+QmANBiAIQwAAAMNdDQYgCLxBAXRBgICAeE8NBiADIAZqIAAtACAEfyAIQwAAgD9eDQcg.CEMAAAAAXQ0HIAi7RAAAAAAAwF9AokQAAAAAAADgP6Cc/AIFIAj8AAs6AAAgAUEEaiEBIAZBAWoiBiAFIAAtABgiBCAEIAVLG0kNAAsLIAQgBUkNAgwDCyAC.Qf8BcSIFIAAtABgiBCAEIAVLGwRAIAAoAgAoAgAgACkDMCAAKQMoIAE1AgB+fKdqIQEDQCAAKAIAKAIEIAFNDQUgASsDACIJRAAAAAAAwF9AZg0FIAlEAAAA.AAAAYMBjDQUgCb1CAYZCgICAgICAgHBaDQUgAyAGaiAALQAgQQFGBHwgCUQAAAAAAADwP2QNBiAJRAAAAAAAAAAAYw0GIAlEAAAAAADAX0CiRAAAAAAAAOA/.oJwFIAkL/AI6AAAgAUEIaiEBIAZBAWoiBiAFIAAtABgiBCAEIAVLG0kNAAsLIAQgBUkNAQwCCyACQf8BcSIFIAAtABgiBCAEIAVLGwRAIAAoAgAoAgAgACkD.MCAAKQMoIAE1AgB+fKdqIQEDQCAAKAIAKAIEIAFNDQQgAyAGaiABLQAAOgAAIAFBAWohASAGQQFqIgYgBSAALQAYIgQgBCAFSxtJDQALCyAEIAVPDQELIAIg.BGtB/wFxIgBFDQAgAyAEakEAIAD8CwALQQEhBwsgBwvsAQEGfwJAAkAgAaciAiAAKAIEIgMgACgCACIFayIESwRAIAIgACgCCCAFayIGTQRAIAIgBGsiAgRA.IANBACAC/AsACyAAIAIgA2o2AgQMAgsgAkEASA0CQf////8HIAZBAXQiAyACIAIgA0kbIAZB/////wNPGyIGEAYhAyACIARrIgcEQCADIARqQQAgB/wLAAsg.BARAIAMgBSAE/AoAAAsgACADIAZqNgIIIAAgAiADajYCBCAAIAM2AgAgBUUNASAFEAUMAQsgAiAETw0AIAAgAiAFajYCBAsgACAAKQMYQgF8NwMYDwsQBwAL.cAAgACABKQM4NwM4IAAgASkDMDcDMCAAIAEpAyg3AyggACABKQMgNwMgIAAgASkDGDcDGCAAIAEpAxA3AxAgACABKQMINwMIIAAgASkDADcDACAAQQA2Algg.AEIANwNAIABCADcDSCAAQgA3AE0gAAt5AQN/IAEQGSICQff///8HSQRAAkAgAkEKTQRAIAAgAjoACyAAIQMMAQsgAkH4////B3EiBEEIahAGIQMgACAEQfj/.//8HazYCCCAAIAI2AgQgACADNgIACyACBEAgAyABIAL8CgAACyACIANqQQA6AAAgAA8LECkAC4ALAgJ/An4jAEEwayIDJAAgA0Gm6AApAQA3ASYgA0Gg6AAp.AwA3AyAgA0GY6AApAwA3AxggA0GQ6AApAwA3AxACQAJAIAEpAwggASkDECIFQgV8UwRAIANBEGoQGSIBQff///8HTw0CAkAgAUEKTQRAIAMgAToADyADQQRq.IQIMAQsgAUH4////B3EiBEEIahAGIQIgAyAEQfj///8HazYCDCADIAE2AgggAyACNgIECyABBEAgAiADQRBqIAH8CgAACyABIAJqQQA6AAAgAEF+NgIAIABB.BGohACADLAAPQQBOBEAgACADKAIMNgIIIAAgAykCBDcCAAwCCyAAIAMoAgQiACADKAIIEA0gABAFDAELIAIgASgCACAFp2oiBC0ABDoABCACIAQoAAA2AAAg.ASABKQMQQgV8IgU3AxAgAigAAEHEpIWaBHMgAi0ABEHPAHNyBEBBGBAGIgFBADoAESABQYsMLQAAOgAQIAFBgwwpAAA3AAggAUH7CykAADcAACAAQX82AgAg.AEEEaiABQREQDSABEAUMAQsgBSABKQMIWQRAIANBEGoQGSIBQff///8HTw0CAkAgAUEKTQRAIAMgAToADyADQQRqIQIMAQsgAUH4////B3EiBEEIahAGIQIg.AyAEQfj///8HazYCDCADIAE2AgggAyACNgIECyABBEAgAiADQRBqIAH8CgAACyABIAJqQQA6AAAgAEF+NgIAIABBBGohACADLAAPQQBOBEAgACADKAIMNgII.IAAgAykCBDcCAAwCCyAAIAMoAgQiACADKAIIEA0gABAFDAELIAIgASgCACAFp2otAAA6AAUgASABKQMQQgF8IgU3AxAgBSABKQMIWQRAIANBEGoQGSIBQff/.//8HTw0CAkAgAUEKTQRAIAMgAToADyADQQRqIQIMAQsgAUH4////B3EiBEEIahAGIQIgAyAEQfj///8HazYCDCADIAE2AgggAyACNgIECyABBEAgAiADQRBq.IAH8CgAACyABIAJqQQA6AAAgAEF+NgIAIABBBGohACADLAAPQQBOBEAgACADKAIMNgIIIAAgAykCBDcCAAwCCyAAIAMoAgQiACADKAIIEA0gABAFDAELIAIg.ASgCACAFp2otAAA6AAYgASABKQMQQgF8IgU3AxAgBSABKQMIWQRAIANBEGoQGSIBQff///8HTw0CAkAgAUEKTQRAIAMgAToADyADQQRqIQIMAQsgAUH4////.B3EiBEEIahAGIQIgAyAEQfj///8HazYCDCADIAE2AgggAyACNgIECyABBEAgAiADQRBqIAH8CgAACyABIAJqQQA6AAAgAEF+NgIAIABBBGohACADLAAPQQBO.BEAgACADKAIMNgIIIAAgAykCBDcCAAwCCyAAIAMoAgQiACADKAIIEA0gABAFDAELIAIgASgCACAFp2otAAA6AAcgASABKQMQQgF8IgU3AxAgBSABKQMIWQRA.IANBBGogA0EQahBlIQEgAEF+NgIAIABBBGohACABLAALQQBOBEAgACABKAIINgIIIAAgASkCADcCAAwCCyAAIAEoAgAgASgCBBANIAEsAAtBAE4NASABKAIA.EAUMAQsgAiABKAIAIAWnai0AADoACCABIAEpAxAiBUIBfCIGNwMQIAEpAwggBUIDfFMEQCADQQRqIANBEGoQZSEBIABBfjYCACAAQQRqIQAgASwAC0EATgRA.IAAgASgCCDYCCCAAIAEpAgA3AgAMAgsgACABKAIAIAEoAgQQDSABLAALQQBODQEgASgCABAFDAELIAIgASgCACAGp2ovAAA7AQogASABKQMQQgJ8NwMQIABC.ADcCCCAAQgA3AgALIANBMGokAA8LECkACzMAIABBADYCACAAIAE2AjggAEIANwMwIAAgBTcDKCAAIAQ6ACAgACADNgIcIAAgAjoAGAvCAQECfwJAIAAgAUcE.QCAAIAEoAgQiAgR/IAAoAgAhAyAAKAIIQQV0IAJJBEAgAwRAIAMQBSAAQQA2AgggAEIANwIAIAEoAgQhAgsgAkEASA0DIAJBAWtBBXZBAWpBACACGyICQQJ0.EAYhAyAAIAI2AgggAEEANgIEIAAgAzYCACABKAIEIQILIAJBAWtBA3ZB/P///wFxQQRqQQAgAhsiAARAIAMgASgCACAA/AoAAAsgASgCBAVBAAs2AgQLDwsQ.BwAL0gQBBH8gASAAIAFGIgQ6AAwCQCAEDQADQCABKAIIIgQtAAwNAQJAAkAgBCgCCCICKAIAIgMgBEYEQAJAIAIoAgQiBUUNACAFLQAMDQAgBEEBOgAMIAIg.ACACRjoADCAFQQE6AAwMAgsCQCAEKAIAIAFGBEAgBCEBDAELIAQgBCgCBCIBKAIAIgA2AgQCQCAARQRAIAEgAjYCCCACIAE2AgAMAQsgACAENgIIIAQoAggi.AygCACABIAM2AgggBEYEQCADIAE2AgAMAQsgAyABNgIECyABIAQ2AgAgBCABNgIIIAEoAggiAigCACEDCyABQQE6AAwgAkEAOgAMIAIgAygCBCIANgIAIAAE.QCAAIAI2AggLIAMgAigCCCIANgIIAkAgACgCACACRgRAIAAgAzYCAAwBCyAAIAM2AgQLIAMgAjYCBCACIAM2AggPCyADRQ0BIAMtAAwNASAEQQE6AAwgAiAA.IAJGOgAMIANBAToADAsgAiIBIABHDQEMAgsLAkAgBCgCACIDIAFHBEAgBCEDDAELIAQgAygCBCIANgIAIAAEQCAAIAQ2AgggBCgCCCECCyADIAI2AggCQCAC.KAIAIARGBEAgAiADNgIADAELIAIgAzYCBAsgAyAENgIEIAQgAzYCCCADKAIIIQILIANBAToADCACQQA6AAwgAiACKAIEIgEoAgAiADYCBCAABEAgACACNgII.CyABIAIoAggiADYCCAJAIAAoAgAgAkYEQCAAIAE2AgAMAQsgACABNgIECyABIAI2AgAgAiABNgIICwuqAQEHfyABRQRAIAJBADYCAA8LQQAgAC0ADGtB/wFx.IQYgACgCBCEEIAAoAgghAyAAKAIAIQgDQAJAIANB/x9LDQAgBEEATA0AIAAgBEEBayIENgIEIAQgCGotAAAgA0EIdHIhAwsgACADQQh2IAZsIgcgA0H/AXEi.CWogAyAGIAdqayAGIAlLIgcbIgM2AgggBUEBdCAHciEFIAFBAWsiAQ0ACyACIAU2AgALoAYBCn8gAiACKAIEIAEoAhAiCmsiB61CIIYgAigCACAKayIErYQ3.AgACQCABKAIQIgYgByAHQR91IgVzIAVrIAQgBEEfdSIFcyAFa2pPIgsEQCAHIQYMAQsCQAJAIARBAE4EQEEBIQlBASEIIAdBAE4NAkEBIQVBfyEJQX8hCCAE.DQEMAgtBfyEFQX8hCUF/IQggB0EATA0BC0F/QQEgB0EATBshCSAFIQgLIAIgBiAJbCIMQQAgBEEBdCAGIAhsIg1rIgRrIAQgCCAJbEEATiIFG2pBAm0iBjYC.BCACQQAgB0EBdCAMayIEayAEIAUbIA1qQQJtIgQ2AgALAkACfwJAAkACQAJAIAQEQCAEQQBIDQEgBkEASA0EQQAgBmshBUEAIARrIQZBAgwFCyAGDQFBASEJ.QQAhBUEAIQZBACEIDAULQQEhCSAGQQBKIgUNAUEDQQAgBRshCCAGIQUgBCEGDAQLIAZBAEwNAQtBACAGayEGIAQhBUEDDAELQQAgBGshBUEBCyEIIAIgBq0g.Ba1CIIaENwIAQQAhCQsCQCADKAIAIAZqIgQgASgCECIHSgRAIAQgASgCBGshBAwBCyAEQQAgB2tODQAgASgCBCAEaiEECwJAIAcgAygCBCAFaiICSARAIAIg.ASgCBGshAgwBCyACQQAgB2tODQAgASgCBCACaiECCwJAIAkEQCACIQEMAQsgAiEBAkACQAJAQQQgCGsiA0EAIAhrIANBBEkbQQFrDgMAAQIDC0EAIARrIQEg.AiEEDAILQQAgAmshAUEAIARrIQQMAQsgBCEBQQAgAmshBAsCQCALBEAgASECDAELAkACQCAEQQBOBEBBASECQQEhBSABQQBODQJBASEDQX8hAkF/IQUgBA0B.DAILQX8hA0F/IQJBfyEFIAFBAEwNAQtBf0EBIAFBAEwbIQIgAyEFCyACIAdsIgZBACAEQQF0IAUgB2wiBGsiA2sgAyACIAVsQQBOIgMbakECbSECQQAgAUEB.dCAGayIBayABIAMbIARqQQJtIQQLIAAgBCAKaq0gAiAKaq1CIIaENwIAC6UEAQh/IAIgAigCBCABKAIQIgprIgetQiCGIAIoAgAgCmsiBK2ENwIAAkAgASgC.ECIGIAcgB0EfdSIFcyAFayAEIARBH3UiBXMgBWtqTyILBEAgByEFDAELAkACQCAEQQBOBEBBASEFQQEhCCAHQQBODQJBASEJQX8hBUF/IQggBA0BDAILQX8h.CUF/IQVBfyEIIAdBAEwNAQtBf0EBIAdBAEwbIQUgCSEICyACIAUgBmwiCUEAIARBAXQgBiAIbCIGayIEayAEIAUgCGxBAE4iCBtqQQJtIgU2AgQgAkEAIAdB.AXQgCWsiAmsgAiAIGyAGakECbSIENgIAIAEoAhAhBgsgAygCBCAFaiECAkAgBiADKAIAIARqIgRIBEAgBCABKAIEayEEDAELIARBACAGa04NACABKAIEIARq.IQQLAkAgAiAGSgRAIAIgASgCBGshAgwBCyACQQAgBmtODQAgASgCBCACaiECCwJAIAsEQCACIQYMAQsCQAJAIARBAE4EQEEBIQFBASEFIAJBAE4NAkEBIQNB.fyEBQX8hBSAEDQEMAgtBfyEDQX8hAUF/IQUgAkEATA0BC0F/QQEgAkEATBshASADIQULIAEgBmwiA0EAIARBAXQgBSAGbCIHayIGayAGIAEgBWxBAE4iARtq.QQJtIQZBACACQQF0IANrIgJrIAIgARsgB2pBAm0hBAsgACAEIApqrSAGIApqrUIghoQ3AgALJQEBfwJAIAEoAjgNACABLQAYQQNHDQAgACABNgIwQQEhAgsg.AgtDAQF/AkAgACgCMEUNACAAKAI0RQ0AIAAoAhxFDQAgACgCIEUNACAAKAIkRQ0AIAAoAihFDQAgACgCTEF/RyEBCyABC+sCAQN/IAAoAgghASAAKAIAIQMC.QCAALQAMQQFGBEACQAJAAkACQCABQX9GDQAgAUEBaiICIAFBAmsgAkEDcBsiAUF/Rg0AIAMoAgwgAUECdGooAgAiAUF/Rw0BCyAAQX82AggMAQsgACABQQFq.IgIgAUECayACQQNwGyIBNgIIIAFBf0cNAQsCf0F/IAAoAgQiAkF/Rg0AGgJAIAJBA3AEQCACQQFrIQIMAQtBfyACQQJqIgJBf0YNARoLQX8gAygCDCACQQJ0.aigCACICQX9GDQAaIAJBAWsgAkEDcA0AGiACQQJqCyEBIABBADoADCAAIAE2AggPCyABIAAoAgRHDQEgAEF/NgIIDwsgAAJ/QX8gAUF/Rg0AGgJAIAFBA3AE.QCABQQFrIQEMAQtBfyABQQJqIgFBf0YNARoLQX8gAygCDCABQQJ0aigCACIBQX9GDQAaIAFBAWsgAUEDcA0AGiABQQJqCzYCCAsLKgEBfwJAIAFFDQAgASgC.OA0AIAEtABhBA0cNACAAIAE2AjxBASECCyACCzMBAX8CQCAAKAI8RQ0AIAAoAixFDQAgACgCMEUNACAAKAI0RQ0AIAAoAjhBAEchAQsgAQs6AQJ+IAIpAwgi.BCACKQMQIgNVBEAgAigCACADp2otAAAhASACIANCAXw3AxAgACABNgIECyADIARTCy4BAX8gACgCECIBBEAgACABNgIUIAEQBQsgACgCACIBBEAgACABNgIE.IAEQBQsLDAAgABCrARogABAFCw4AIABB0ABqEFZB0ABqCykBAX8gACgCBCAALAALIgEgAUEASCIBG0UEQBA8AAsgACgCACAAIAEbC6sDAQV/IAAoAgQiBSAA.LAALIgIiBCAEQQBIGyIEIAFJBEAgASAEayIEBEACfyAEIAAoAggiBkH/////B3FBAWtBCiACQQBIIgEbIgMgBSACIAEbIgFrTQRAIAZBGHYMAQsjAEEgayIC.JAAgAkEUaiAAIAEgBGogA2sgA2oQswEQeCAAKAIAIAAgACwAC0EASBshAwJAIAFFIgUNACAFDQAgAigCFCADIAH8CgAACwJAQQENAEEAIQVBAQ0AIAEgAigC.FGogASADaiAF/AoAAAsgAkF/NgIYIAIgAigCHDYCECACIAIpAhQ3AwggACACQQhqELUBIAJBIGokACAAIAE2AgQgAC0ACwshAiAAKAIAIAAgAsBBAEgbIgUg.AWohAyAEIQIDQCACBEAgA0EAOgAAIAJBAWshAiADQQFqIQMMAQsLIAEgBGohAQJAIAAsAAtBAEgEQCAAIAE2AgQMAQsgACABQf8AcToACwsgASAFakEAOgAA.Cw8LAkAgACwAC0EASARAIAAgATYCBCAAKAIAIQAMAQsgACABQf8AcToACwsgACABakEAOgAACy4BAn8gAUF4cUEIaiICEAYhAyAAIAJBgICAgHhyNgIIIAAg.ATYCBCAAIAM2AgALrw0BDn8jAEEQayIPJAAgACABQQxsaiIJIAkoAgg2AgxBfyACKAIAIgtBA24gC0F/RhshCEEBIQMCQAJAA0ACQCADIg5FBEAgDwJ/QX8g.C0F/Rg0AGiALQQFrIAtBA3ANABogC0ECags2AggCQAJAAkAgDwJ/QX8gDygCCCIEQX9GDQAaIAAoAgQoAgwgBEECdGooAgAhAyAAKAIAIQdBfyEGQX8hBSAE.QQFqIgggBEECayAIQQNwGyIIQQBOBEAgBygCYCAIQQNuIgVBDGxqIAggBUEDbGtBAnRqKAIAIQULAkAgA0F/Rg0AQX9BAiADQQNwGyADaiIIQQBIDQAgBygC.YCAIQQNuIgZBDGxqIAggBkEDbGtBAnRqKAIAIQYLQX8gBSAGRw0AGkF/IQZBf0ECIARBA3AbIARqIgRBAE4EQCAHKAJgIARBA24iBUEMbGogBCAFQQNsa0EC.dGooAgAhBCADQX9GDQMMAgtBfyEEIANBf0cNASADCzYCDAwCCyADQQFqIgUgA0ECayAFQQNwGyIFQQBIDQAgBygCYCAFQQNuIgdBDGxqIAUgB0EDbGtBAnRq.KAIAIQYLIA9BfyADIAQgBkcbNgIMCyAPKAIMQX9GDQEgC0F/Rg0BIAIgC0EBaiIDIAtBAmsgA0EDcBsiAzYCACADQX9GDQEgACgCBCADQQFqIgcgA0ECayAH.QQNwGyIDQX9GDQEoAgwgA0ECdGooAgAiA0F/Rg0BIAIgA0EBaiIEIANBAmsgBEEDcBsiAzYCACADQX9GDQEgA0EDbiEICwJAIAAoAjggCEEDdkH8////AXFq.IgMoAgAiBUEBIAh0IgpxDQAgCSgCDCEGQQAhBAJAA0AgBCEHIAMgBSAKcjYCAAJAIAkoAhAiBSAGSwRAIAYgCDYCACAGQQRqIQYMAQsgBiAJKAIIIgRrIgpB.AnUiDUEBaiIDQYCAgIAETw0GQf////8DIAUgBGsiBUEBdSIMIAMgAyAMSRsgBUH8////B08bIgNBgICAgARPDQcgA0ECdCIMEAYiECAKaiIKIAg2AgAgCiAN.QQJ0ayINIQUgBCIDIAZHBEADQCAFIAMoAgA2AgAgBUEEaiEFIANBBGoiAyAGRw0ACwsgCSAMIBBqNgIQIAkgCkEEaiIGNgIMIAkgDTYCCCAEBEAgBBAFCwsg.CSAGNgIMAkAgBwRAIAIoAgAhBCAHQQFxRQRAQX8hAyAEQX9HBEAgBEEBaiIDIARBAmsgA0EDcBshAwsgAiADNgIADAILIAsgBCAOGyELIAICf0F/IARBf0YN.ABogBEEBayAEQQNwDQAaIARBAmoLIgM2AgAMAQsgAigCACEDCwJAIANBf0YNACAAKAIEKAIMIANBAnRqKAIAIQUgACgCACEKQX8hBEF/IQ0gA0EBaiIMIANB.AmsgDEEDcBsiDEEATgRAIAooAmAgDEEDbiINQQxsaiAMIA1BA2xrQQJ0aigCACENCwJAIAVBf0YNAEF/QQIgBUEDcBsgBWoiDEEASA0AIAooAmAgDEEDbiIE.QQxsaiAMIARBA2xrQQJ0aigCACEECyAEIA1HDQACQEF/QQIgA0EDcBsgA2oiA0EATgRAIAVBf0YNAiAKKAJgIANBA24iBEEMbGogAyAEQQNsa0ECdGooAgAh.BAwBC0F/IQQgBUF/Rg0BCyAFQQFqIgMgBUECayADQQNwGyIDQQBIBH9BfwUgCigCYCADQQNuIgpBDGxqIAMgCkEDbGtBAnRqKAIACyAERw0AIAdBAWohBCAC.IAU2AgAgACgCOCAFQQNuIghBA3ZB/P///wBxaiIDKAIAIgVBASAIdCIKcUUNAQwCCwsgAkF/NgIACyAHIA5yQQFxDQAgACgCOCAJKAIMQQRrIgIoAgAiA0ED.dkH8////AXFqIgQgBCgCAEF+IAN3cTYCACAJIAI2AgwMAQtBACEDIA4NAQsLIAAgAUECdGogCzYCLAJAIAkoAgwiAiAJKAIIIgFGDQAgACgCOCEAQQAhAyAC.IAFrQQJ1IgJBAk8EQCACQQFxIAJBfnEhAkEAIQYDQCAAIAEgA0ECdGoiBygCACIOQQN2Qfz///8BcWoiCSAJKAIAQX4gDndxNgIAIAAgBygCBCIHQQN2Qfz/.//8BcWoiDiAOKAIAQX4gB3dxNgIAIANBAmohAyAGQQJqIgYgAkcNAAtFDQELIAAgASADQQJ0aigCACIBQQN2Qfz///8BcWoiACAAKAIAQX4gAXdxNgIACyAP.QRBqJAAPCxAHAAsQDgAL5AMBBn8gACgCACIGIAEoAgAiAkEDdkH8////AXFqIgEgASgCAEEBIAJ0cjYCACAAKAJAIQUCf0F/IAJBf0YiBA0AGkF/IAJBAWoi.AyACQQJrIANBA3AbIgNBf0YNABogBSgCACADQQJ0aigCAAshASAAKAIMIgMgAUEDdkH8////AXFqIgcgBygCAEEBIAF0cjYCAAJAIARFBEAgAwJ/AkAgAkED.cARAIAJBAWshBAwBC0F/IAJBAmoiBEF/Rg0BGgsgBSgCACAEQQJ0aigCAAsiAUEDdkH8////AXFqIgQgBCgCAEEBIAF0cjYCAEF/IQEgBSgCDCACQQJ0aigC.ACICQX9GDQEgAEEAOgAYIAYgAkEDdkH8////AXFqIgAgACgCAEEBIAJ0cjYCACACQQFqIgAgAkECayAAQQNwGyIAQX9HBEAgBSgCACAAQQJ0aigCACEBCyAD.IAFBA3ZB/P///wFxaiIAIAAoAgBBASABdHI2AgAgAwJ/AkAgAkEDcARAIAJBAWshAQwBC0F/IAJBAmoiAUF/Rg0BGgsgBSgCACABQQJ0aigCAAsiAEEDdkH8.////AXFqIgEgASgCAEEBIAB0cjYCAA8LIAMgAygC/P///wFBgICAgHhyNgL8////AQsLkQkBCX8jAEEgayICJAAgACAAKAI0NgI4IAAgACgCKDYCLAJAIAAo.AkAiAygCHCADKAIYIgFGBEBBASEEDAELIABBKGohCCAAQTRqIQkDQAJAIAEgB0ECdGooAgAiBEF/Rg0AIAIgBjYCCCACIAAoAjgiAzYCDCAAKAI8IQEgAiAJ.NgIYIAIgAkEIajYCFCACIAJBDGo2AhAgAAJ/IAEgA0sEQCADIAY2AgAgA0EEagwBCyACQRBqEAkgAigCDAs2AjggAiAENgIEIAJBADYCAAJAAkAgACgCDCAH.QQN2Qfz///8BcWooAgAgB3ZBAXFFDQBBfyEBAkAgBEEBaiIDIARBAmsgA0EDcBsiA0F/Rg0AIAAoAgAgA0EDdkH8////AXFqKAIAIAN2QQFxDQAgACgCQCgC.DCADQQJ0aigCACIDQX9GDQAgA0EBaiIBIANBAmsgAUEDcBshAQsgAiABNgIAIAFBf0YNAANAIAIgASIDNgIEQX8hAQJAIANBAWoiBSADQQJrIAVBA3AbIgVB.f0YNACAAKAIAIAVBA3ZB/P///wFxaigCACAFdkEBcQ0AIAAoAkAoAgwgBUECdGooAgAiBUF/Rg0AIAVBAWoiASAFQQJrIAFBA3AbIQELIAIgATYCACABIARH.BEAgAUF/Rg0DDAELC0EAIQQMBAsgBCEDCyAAKAIcIANBAnRqIAIoAgg2AgAgAiAAKAIsIgE2AgwgACgCMCEEIAIgCDYCGCACIAJBBGo2AhQgAiACQQxqNgIQ.IAZBAWohBiAAAn8gASAESQRAIAEgAzYCACABQQRqDAELIAJBEGoQCSACKAIMCzYCLCAAKAJAIQMgAigCBCIEQX9GDQACQCAEQQNwBEAgBEEBayEBDAELIARB.AmoiAUF/Rg0BCyADKAIMIAFBAnRqKAIAIgFBf0YNACACIAFBf0ECIAFBA3AbaiIBNgIAIAFBf0YNACABIARGDQADQAJAIAAoAgAgAUEBaiIEIAFBAmsgBEED.cBsiBEEDdkH8////AXFqKAIAIAR2QQFxRQRAIAAoAhwgAUECdGogAigCCDYCAAwBCyACIAY2AgggAiAAKAI4IgM2AgwgACgCPCEBIAIgCTYCGCACIAJBCGo2.AhQgAiACQQxqNgIQIAACfyABIANLBEAgAyAGNgIAIANBBGoMAQsgAkEQahAJIAIoAgwLNgI4IAIgACgCLCIDNgIMIAAoAjAhASACIAg2AhggAiACNgIUIAIg.AkEMajYCECAGQQFqIQYgAAJ/IAEgA0sEQCADIAIoAgA2AgAgA0EEagwBCyACQRBqEAkgAigCDAs2AiwgACgCQCEDIAAoAhwgAigCACIBQQJ0aiACKAIINgIA.IAFBf0YNAgsCQCABQQNwBEAgAUEBayEBDAELIAFBAmoiAUF/Rg0CCyADKAIMIAFBAnRqKAIAIgFBf0YNASACIAFBf0ECIAFBA3AbaiIBNgIAIAFBf0YNASAB.IAIoAgRHDQALC0EBIQQgB0EBaiIHIAMoAhwgAygCGCIBa0ECdUkNAAsLIAJBIGokACAEC/QDAQh/IwBBEGsiCCQAAkACQCABBEAgAEIANwJYIAAoAlQhAiAA.QQA2AlQgAgRAIAIQBQsgAEIANwJMIAAoAkghAiAAQQA2AkggAgRAIAIQBQsgASgCACEDIAEoAgQhAiAIQQA6AA8gACACIANrQQJ1IAhBD2oQGiABKAIYIQMg.ASgCHCECIAhBADoADiAAQQxqIAIgA2tBAnUgCEEOahAaIABBHGogASgCBCABKAIAa0ECdUHs6gAQDwJAIAEoAhwgASgCGGsiBSAAKAI8IAAoAjQiBGtNDQAg.BUEASA0CIAAoAjghBiAFEAYiByAFaiEJIAQgBkcEQCAEIQMgByECA0AgAiADKAIANgIAIAJBBGohAiADQQRqIgMgBkcNAAsLIAAgCTYCPCAAIAcgBiAEa2o2.AjggACAHNgI0IARFDQAgBBAFIAEoAhwgASgCGGshBQsCQCAFIAAoAjAgACgCKCIEa00NACAFQQBIDQMgACgCLCEGIAUQBiIHIAVqIQkgBCAGRwRAIAQhAyAH.IQIDQCACIAMoAgA2AgAgAkEEaiECIANBBGoiAyAGRw0ACwsgACAJNgIwIAAgByAGIARrajYCLCAAIAc2AiggBEUNACAEEAULIABBAToAGCAAIAE2AkALIAhB.EGokAA8LEAcACxAHAAuNAgEFfwJAAkAgAUHWqtWqBUkgASACckEATnEiBkUNACAAIAFBA2wiAUGw6gAQDyAAQQxqIAFBtOoAEA8CQCACIAAoAiAgACgCGCID.a0ECdU0NACACQYCAgIAETw0CIAAoAhwhBCACQQJ0IgEQBiIFIAFqIQcgAyAERwRAIAMhASAFIQIDQCACIAEoAgA2AgAgAkEEaiECIAFBBGoiASAERw0ACwsg.ACAHNgIgIAAgBSAEIANrajYCHCAAIAU2AhggA0UNACADEAULIABCADcCUCAAKAJMIQEgAEEANgJMIAEEQCABEAULIABCADcCRCAAKAJAIQEgAEEANgJAIAFF.DQAgARAFCyAGDwsQBwALWAAgAEEANgI4IABCADcCMCAAQgA3AiggAEIANwIgIABCADcCGCAAQgA3AhAgAEIANwIIIABCADcCACAAQgA3AkAgAEIANwJIIABC.ADcCUCAAIAA2AjwgAAsEAEECC08BA38jAEEQayICJAAgAQRAIAAgASgCABCAASABKAIEIQMgASgCGCEEIAIgAUEUajYCDCACQQxqIAQQTyABEAUgACADEIAB.CyACQRBqJAALawICfwF+AkAgAEEFSw0AIAIpAxAiBSACKQMIWQ0AIAIoAgAgBadqLAAAIQMgAiAFQgF8NwMQIAEgA0EASAR/IABBAWogASACEIEBRQ0BIANB./wBxIAEoAgBBB3RyBSADCzYCAEEBIQQLIAQLEAAgACgCBCAAKAIAa0ECdQsHACAAKAJQCwsAIAAEQCAAEAULC8cBAQZ/IwBBEGsiAiQAIAAoAhgiAwRAIAMi.ASAAKAIcIgRHBEADQCAEQQRrIgQoAgAhASAEQQA2AgAgAQRAIAEoAhAhBSACIAFBDGo2AgwgAkEMaiIGIAUQHiABKAIEIQUgAiABNgIMIAYgBRAhIAEQBQsg.AyAERw0ACyAAKAIYIQELIAAgAzYCHCABEAULIAAoAhAhAyACIABBDGo2AgwgAkEMaiIBIAMQHiAAKAIEIQMgAiAANgIMIAEgAxAhIAJBEGokACAACzcAIABB.ADYCKCAAQeDnADYCACAAQgA3AgQgAEIANwIMIABCADcCFCAAQgA3AhwgAEEAOwEkIAALgAEBA38gAEHg5wA2AgAgACgCFCICBEAgACACNgIYIAIQBQsgACgC.CCICBEAgAiIBIAAoAgwiA0cEQANAIANBBGsiAygCACEBIANBADYCACABBEAgASABKAIAKAIEEQIACyACIANHDQALIAAoAgghAQsgACACNgIMIAEQBQsgABAF.C20BAn9BKBAGIgJBfzYCACACQQhqIgNCADcDECADQQA2AgggA0IANwMAIANCADcDGCAAIAIgACgCACgCEBEEACABKAJYIQAgASACNgJYIAAEQCAAKAIIIgEE.QCAAIAE2AgwgARAFCyAAEAULQQELpAEBBH8gACgCACIEKAIAIgMEQCADIgEgBCgCBCICRwRAA0AgAkEMaygCACIBBEAgAkEIayABNgIAIAEQBQsgAkEcaygC.ACIBBEAgAkEYayABNgIAIAEQBQsgAkEoaygCACIBBEAgAkEkayABNgIAIAEQBQsgAkGMAWsQTiACQZABayIBIQIgASADRw0ACyAAKAIAKAIAIQELIAQgAzYC.BCABEAULCwcAIAAoAggLbAEDfyMAQSBrIgIkACACIAAoAgQiAzYCDCAAKAIIIQQgAiAANgIYIAIgATYCFCACIAJBDGo2AhAgAAJ/IAMgBEkEQCADIAEoAgA2.AgAgA0EEagwBCyACQRBqEAkgAigCDAs2AgQgAkEgaiQAC+4IAgd/An0gAigCACEIIAACfwJAIAEoAgAiBigCBCIBRQ0AIAYoAgACfyABQQFrIAhxIAFpIgVB.AU0NABogCCABIAhLDQAaIAggAXALIgRBAnRqKAIAIgJFDQAgAigCACICRQ0AIAVBAU0EQCABQQFrIQUDQAJAIAggAigCBCIHRwRAIAUgB3EgBEcNBAwBCyAC.KAIIIAhHDQBBAAwECyACKAIAIgINAAsMAQsDQAJAIAggAigCBCIFRwRAIAEgBU0EfyAFIAFwBSAFCyAERw0DDAELIAIoAgggCEcNAEEADAMLIAIoAgAiAg0A.CwtBEBAGIgIgCDYCBCACQQA2AgAgAygCACgCACEDIAJBADYCDCACIAM2AggCQCAGKAIMQQFqsyILIAYqAhAiDCABs5ReRQ0AQQIhBAJAIAEgAUEBa3FBAEcg.AUEDSXIgAUEBdHIiAyALIAyVjfwBIgUgAyAFSxsiA0EBRg0AIAMgA0EBa3FFBEAgAyEEDAELIAMQtwEhBCAGKAIEIQELAkAgASAETwRAIAEgBE0NASAGKAIM.syAGKgIQlY38ASEDIAEgBAJ/AkAgAUEDSQ0AIAFpQQFLDQAgA0EBQSAgA0EBa2drdCADQQJJGwwBCyADELcBCyIDIAMgBEkbIgRNDQELAkACQAJAIAQiBwR/.IARBgICAgARPDQEgBEECdBAGBUEACyEDIAYoAgAhASAGIAM2AgAgAQRAIAEQBQsgBiAHNgIEIAdFDQIgBigCACEJIAdBAnQiAQRAIAlBACAB/AsACyAGKAII.IgFFDQIgBkEIaiEDIAEoAgQhBSAHIAdBAWsiBHFFDQEgBSAHTwRAIAUgB3AhBQsgCSAFQQJ0aiADNgIAA0AgASgCACIERQ0DIAcgBCgCBCIDTQRAIAMgB3Ah.AwsgAyAFRgRAIAQhAQwBCyAJIANBAnRqIgooAgAEQCABIAQoAgA2AgAgBCAKKAIAKAIANgIAIAooAgAgBDYCAAUgCiABNgIAIAQhASADIQULDAALAAsQDgAL.IAkgBCAFcSIFQQJ0aiADNgIAIAEoAgAiA0UNACAHQQFrIQoDQAJAIAUgAygCBCAKcSIERgRAIAMhAQwBCyAJIARBAnRqIgcoAgAEQCABIAMoAgA2AgAgAyAH.KAIAKAIANgIAIAcoAgAgAzYCAAwBCyAHIAE2AgAgAyEBIAQhBQsgASgCACIDDQALCwsgBigCBCIBIAFBAWsiA3FFBEAgAyAIcSEEDAELIAEgCEsEQCAIIQQM.AQsgCCABcCEECwJAIAYoAgAiBSAEQQJ0aiIEKAIAIgNFBEAgAiAGKAIINgIAIAYgAjYCCCAEIAZBCGo2AgAgAigCACIDRQ0BIAMoAgQhAwJAIAEgAUEBayIE.cUUEQCADIARxIQMMAQsgASADSw0AIAMgAXAhAwsgBSADQQJ0aiACNgIADAELIAIgAygCADYCACADIAI2AgALIAYgBigCDEEBajYCDEEBCzoABCAAIAI2AgAL.vhACEH8BfiMAQTBrIgMkACAAKAIIIgIoAgAhBCACKAIEIQIgACgCBCgCLCEHIANBADYCKCADQgA3AyACQAJAAkAgAiAEa0ECdUEDbiICIAcoAmQiCCAHKAJg.IgRrIgtBDG0iBUsEQCAHKAJoIARrQQxtIgYgAk8EQCAIIAIgBWtBDGxqIQIDQCAIIAMoAiA2AgAgCCADKAIkNgIEIAggAygCKDYCCCAIQQxqIgggAkcNAAsg.ByACNgJkDAQLIAJB1qrVqgFPDQFB1arVqgEgBkEBdCIMIAIgAiAMSRsgBkGq1arVAE8bIgxB1qrVqgFPDQIgDEEMbBAGIg8gC2oiBiACIAVrQQxsaiENIAMo.AighBSADKAIkIRAgAygCICERIAYhAgNAIAIgBTYCCCACIBA2AgQgAiARNgIAIAJBDGoiAiANRw0ACyAGIAtBdG1BDGxqIQYgBCAIRwRAIAQhAiAGIQUDQCAF.IAIoAgA2AgAgBSACKAIENgIEIAUgAigCCDYCCCAFQQxqIQUgAkEMaiICIAhHDQALCyAHIA8gDEEMbGo2AmggByANNgJkIAcgBjYCYCAERQ0DIAQQBQwDCyAC.IAVPDQIgByAEIAJBDGxqNgJkDAILEAcACxAOAAsCQCAAKALYASAAKALcAUYEQCAAKAIEIgcoAiwiAigCZCIEIAIoAmAiCUcEQEEBIAQgCWtBDG0iAiACQQFN.GyEIIAAoAggoAgAhDkEAIQIDQCAOIAJBA2wiBkECdGohBSAJIAJBDGxqIgoCfwJAIAJB1arVqgVGBEAgBSgCBCEEQX8hBUEBIQYMAQtBfyEEIAUoAgAhBSAG.QQFqIgtBf0YEQEEAIQYMAQsgACgCCCgCACALQQJ0aigCACEEQX8gBkECaiIGQX9GDQEaCyAAKAIIKAIAIAZBAnRqKAIACzYCCCAKIAQ2AgQgCiAFNgIAIAJB.AWoiAiAIRw0ACwsgBygCBCABNgJQQQEhAgwBCyADQQA2AhggA0IANwIQAn8CQAJAAkAgACgCCCIBKAIEIgIgASgCACIERg0AIAIgBGsiAkEASA0BIAIQBiEK.IAJFDQAgCkEAIAL8CwALIAEoAhwgASgCGCICa0EESA0BA0ACQCACIA5BAnRqKAIAIgRBf0YNAAJAIAAoAnggDkEDdkH8////AXFqKAIAIA52QQFxDQAgACgC.3AEiAiAAKALYASIHRg0AQQEgAiAHa0GQAW0iAiACQQFNGyEIQQAhBSAEQQNwIgJBAEcgBEECaiIGQX9HciELIARBAWsgBiACG0ECdCEMA0ACQCAHIAVBkAFs.aiICKAIQIARBAnQiBiACKAJEKAIAaigCACINQQN2Qfz///8BcWooAgAgDXZBAXFFDQAgAigCICINIAZqKAIAIQ8gBAJ/QX8gC0UNABpBfyABKAIMIAxqKAIA.IgJBf0YNABogAkEBayACQQNwDQAaIAJBAmoLIgJGDQADQEEAIAJBf0YNCBogDyANIAJBAnRqKAIARwRAIAIhBAwECyAEAn8CQCACQQNwBEAgAkEBayEGDAEL.QX8gAkECaiIGQX9GDQEaC0F/IAEoAgwgBkECdGooAgAiAkF/Rg0AGiACQQFrIAJBA3ANABogAkECagsiAkcNAAsLIAVBAWoiBSAIRw0ACwsgCiAEQQJ0aiAJ.IAMoAhBrQQJ1NgIAIAMgBDYCDCADIAk2AhwgAygCGCEBIAMgA0EQajYCKCADIANBDGo2AiQgAyADQRxqNgIgIAMCfyABIAlLBEAgCSAENgIAIAlBBGoMAQsg.A0EgahAcIAMoAhwLIgk2AhQgACgCCCEBAkAgBEEDcARAIARBAWshAgwBCyAEQQJqIgJBf0YNAQsgASgCDCACQQJ0aigCACICQX9GDQAgAkF/QQIgAkEDcBtq.IgJBf0YNACAEIQYgAiAERg0AA0AgAiEFAkACQCAAKALcASICIAAoAtgBIgdGDQBBASACIAdrQZABbSICIAJBAU0bIQhBACECA0AgByACQZABbGooAiAiCyAF.QQJ0IgxqKAIAIAsgBkECdGooAgBGBEAgCCACQQFqIgJHDQEMAgsLIAogDGogCSADKAIQa0ECdTYCACADIAU2AgwgAyAJNgIcIAMoAhghASADIANBEGo2Aigg.AyADQQxqNgIkIAMgA0EcajYCICADAn8gASAJSwRAIAkgBTYCACAJQQRqDAELIANBIGoQHCADKAIcCyIJNgIUIAAoAgghAQwBCyAKIAVBAnRqIAogBkECdGoo.AgA2AgALAkAgBUEDcARAIAVBAWshAgwBCyAFQQJqIgJBf0YNAgsgASgCDCACQQJ0aigCACICQX9GDQEgAkF/QQIgAkEDcBtqIgJBf0YNASAFIQYgAiAERw0A.CwsgDkEBaiIOIAEoAhwgASgCGCICa0ECdUgNAAsMAQsQBwALAkAgACgCBCIGKAIsIgAoAmQiASAAKAJgIgBGDQBBACECIAEgAGtBDG0iAUECTwRAIAFBAXEg.AUF+cSEBQQAhBANAIAogAkEMbCIHaiIIKQIAIRIgACAHaiIHIAgoAgg2AgggByASNwIAIAogAkEBckEMbCIHaiIIKQIAIRIgACAHaiIHIAgoAgg2AgggByAS.NwIAIAJBAmohAiAEQQJqIgQgAUcNAAtFDQELIAogAkEMbCIBaiICKQIAIRIgACABaiIAIAIoAgg2AgggACASNwIACyAGKAIEIAkgAygCEGtBAnU2AlBBAQsh.AiAKBEAgChAFCyADKAIQIgBFDQAgAyAANgIUIAAQBQsgA0EwaiQAIAILVQAgAC0ATEEBRgRAIABBADoATCAAIAApAzggADUCSEIHfEIDiHw3AzgLIAAvASZB.gQRNBEAgAEEAOgCEASAAIAApA3AgADUCgAFCB3xCA4h8NwNwCwuZBgEMfyMAQRBrIgokACAKIAEoAgAiCDYCBEF/IQECQCAIQX9GBEAgCkF/NgIIDAELIAog.CEEBaiIBIAhBAmsgAUEDcBs2AgggCEEDcARAIAhBAWshAQwBCyAIQQJqIQELIAogATYCDCAIQQNuIQ0CQAJAA0ACQAJAIApBBGogDEECdGooAgAiC0F/RwRA.IAAoAggoAgwgC0ECdGooAgAiAUF/Rw0BC0EAIQEgACgC2AEiAiAAKALcAUYNAQNAAkAgAiABQZABbGoiBCgCiAEiAiAEKAKMASIDSQRAIAIgCzYCACACQQRq.IQMMAQsgAiAEKAKEASIGayIJQQJ1IgdBAWoiBUGAgICABE8NBUH/////AyADIAZrIgJBAXUiAyAFIAMgBUsbIAJB/P///wdPGyIDQYCAgIAETw0GIANBAnQi.AhAGIgMgCWoiBSALNgIAIAUgB0ECdGshByAJBEAgByAGIAn8CgAACyAEIAIgA2o2AowBIAQgBUEEaiIDNgKIASAEIAc2AoQBIAZFDQAgBhAFCyAEIAM2AogB.IAFBAWoiASAAKALcASAAKALYASICa0GQAW1JDQALDAELIAhBf0YNACABQQNuIA1JDQBBACEBIAAoAtwBIAAoAtgBRg0AA0AgACgC8AIgAUEEdGoQECAAKALY.ASECBEACQCACIAFBkAFsaiIEKAKIASICIAQoAowBIgNJBEAgAiALNgIAIAJBBGohAwwBCyACIAQoAoQBIgZrIglBAnUiB0EBaiIFQYCAgIAETw0FQf////8D.IAMgBmsiAkEBdSIDIAUgAyAFSxsgAkH8////B08bIgNBgICAgARPDQYgA0ECdCICEAYiAyAJaiIFIAs2AgAgBSAHQQJ0ayEHIAkEQCAHIAYgCfwKAAALIAQg.AiADajYCjAEgBCAFQQRqIgM2AogBIAQgBzYChAEgBkUNACAGEAULIAQgAzYCiAEgACgC2AEhAgsgAUEBaiIBIAAoAtwBIAJrQZABbUkNAAsLIAxBAWoiDEED.Rw0ACyAKQRBqJABBAQ8LEAcACxAOAAuPBgEKfyMAQRBrIgkkACAJIAEoAgAiAjYCBEF/IQMCQCACQX9GBEAgCUF/NgIIDAELIAkgAkEBaiIBIAJBAmsgAUED.cBs2AgggAkEDcARAIAJBAWshAwwBCyACQQJqIQMLIAkgAzYCDAJAAkADQAJAAkAgCUEEaiALQQJ0aigCACIKQX9GBEAgACgC2AEhAyAAKALcASECDAELIAAo.AtgBIQMgACgC3AEhAiAAKAIIKAIMIApBAnRqKAIAQX9GDQBBACEBIAIgA0YNAQNAIAAoAvACIAFBBHRqEBAgACgC2AEhAwRAAkAgAyABQZABbGoiBCgCiAEi.AyAEKAKMASICSQRAIAMgCjYCACADQQRqIQIMAQsgAyAEKAKEASIGayIIQQJ1IgdBAWoiBUGAgICABE8NBkH/////AyACIAZrIgNBAXUiAiAFIAIgBUsbIANB./P///wdPGyICQYCAgIAETw0HIAJBAnQiAxAGIgIgCGoiBSAKNgIAIAUgB0ECdGshByAIBEAgByAGIAj8CgAACyAEIAIgA2o2AowBIAQgBUEEaiICNgKIASAE.IAc2AoQBIAZFDQAgBhAFCyAEIAI2AogBIAAoAtgBIQMLIAFBAWoiASAAKALcASADa0GQAW1JDQALDAELQQAhASACIANGDQADQAJAIAMgAUGQAWxqIgQoAogB.IgMgBCgCjAEiAkkEQCADIAo2AgAgA0EEaiECDAELIAMgBCgChAEiBmsiCEECdSIHQQFqIgVBgICAgARPDQRB/////wMgAiAGayIDQQF1IgIgBSACIAVLGyAD.Qfz///8HTxsiAkGAgICABE8NBSACQQJ0IgMQBiICIAhqIgUgCjYCACAFIAdBAnRrIQcgCARAIAcgBiAI/AoAAAsgBCACIANqNgKMASAEIAVBBGoiAjYCiAEg.BCAHNgKEASAGRQ0AIAYQBQsgBCACNgKIASABQQFqIgEgACgC3AEgACgC2AEiA2tBkAFtSQ0ACwsgC0EBaiILQQNHDQALIAlBEGokAEEBDwsQBwALEA4AC5QL.AQZ/IwBBEGsiBCQAAkACQAJAIAAoAgQiAiAAKAIAIgVrIgdBkAFtIgMgAUkEQCAAKAIIIAVrQZABbSIFIAFPBEAgAiABIANrQZABbGohAQNAIAIQ5gEgAkGQ.AWoiAiABRw0ACyAAIAE2AgQMAgsgAUHyuJwOTw0CQfG4nA4gBUEBdCICIAEgASACSRsgBUG4nI4HTxsiAkHyuJwOTw0DIAQgAkGQAWwiBRAGIgI2AgAgBCAC.IAVqNgIMIAQgAiAHaiICNgIEIAIgASADa0GQAWxqIQEDQCACEOYBIAJBkAFqIgIgAUcNAAsgBCABNgIIIAQoAgQgACIDKAIEIgcgACgCACIAa0Hwfm1BkAFs.aiEFIAAgB0cEQCAAIQIgBSEBA0AgASACKAIANgIAIAEgAigCBDYCBCABIAIoAgg2AgggASACKAIMNgIMIAJBADYCDCACQgA3AgQgASACKAIQNgIQIAEgAigC.FDYCFCABIAIoAhg2AhggAkEANgIYIAJCADcCECACLQAcIQYgAUEANgIoIAFCADcCICABIAY6ABwgASACKAIgNgIgIAEgAigCJDYCJCABIAIoAig2AiggAkEA.NgIoIAJCADcCICABQQA2AjQgAUIANwIsIAEgAigCLDYCLCABIAIoAjA2AjAgASACKAI0NgI0IAJBADYCNCACQgA3AiwgAUEANgJAIAFCADcCOCABIAIoAjg2.AjggASACKAI8NgI8IAEgAigCQDYCQCACQQA2AkAgAkIANwI4IAEgAigCRDYCRCACKAJIIQYgAUEANgJUIAFCADcCTCABIAY2AkggASACKAJMNgJMIAEgAigC.UDYCUCABIAIoAlQ2AlQgAkEANgJUIAJCADcCTCABQQA2AmAgAUIANwJYIAEgAigCWDYCWCABIAIoAlw2AlwgASACKAJgNgJgIAJBADYCYCACQgA3AlggAi0A.ZCEGIAFBADYCcCABQgA3AmggASAGOgBkIAEgAigCaDYCaCABIAIoAmw2AmwgASACKAJwNgJwIAJBADYCcCACQgA3AmggAUEANgJ8IAFCADcCdCABIAIoAnQ2.AnQgASACKAJ4NgJ4IAEgAigCfDYCfCACQQA2AnwgAkIANwJ0IAIoAoABIQYgAUEANgKMASABQgA3AoQBIAEgBjYCgAEgASACKAKEATYChAEgASACKAKIATYC.iAEgASACKAKMATYCjAEgAkEANgKMASACQgA3AoQBIAFBkAFqIQEgAkGQAWoiAiAHRw0ACwNAIAAoAoQBIgEEQCAAIAE2AogBIAEQBQsgACgCdCIBBEAgACAB.NgJ4IAEQBQsgACgCaCIBBEAgACABNgJsIAEQBQsgAEEEahBOIABBkAFqIgAgB0cNAAsgAygCACEACyADKAIIIQEgBCgCCCECIAMgBCgCDDYCCCADIAI2AgQg.AyAFNgIAIAQgATYCDCAEIAA2AgggBCAANgIEIAQgADYCAAJAIAQoAgQiAyAEKAIIIgJGBEAgAiEBDAELA0AgAkEMaygCACIABEAgAkEIayAANgIAIAAQBQsg.AkEcaygCACIABEAgAkEYayAANgIAIAAQBQsgAkEoaygCACIABEAgAkEkayAANgIAIAAQBQsgAkGMAWsQTiACQZABayIBIQIgASADRw0ACwsgBCABNgIIIAQo.AgAiAEUNASAAEAUMAQsgASADTw0AIAIgBSABQZABbGoiAUcEQANAIAJBDGsoAgAiAwRAIAJBCGsgAzYCACADEAULIAJBHGsoAgAiAwRAIAJBGGsgAzYCACAD.EAULIAJBKGsoAgAiAwRAIAJBJGsgAzYCACADEAULIAJBjAFrEE4gAkGQAWsiAiABRw0ACwsgACABNgIECyAEQRBqJAAPCxAHAAsQDgALhgEBA38gACgCACID.IAAoAgQiAUcEQANAIAFBDGsoAgAiAgRAIAFBCGsgAjYCACACEAULIAFBHGsoAgAiAgRAIAFBGGsgAjYCACACEAULIAFBKGsoAgAiAgRAIAFBJGsgAjYCACAC.EAULIAFBjAFrEE4gAUGQAWsiASADRw0ACwsgACADNgIEC/0TAgp/A34jAEHgAGsiCCQAAkAgACgCBCIEKAIgIgIpAwgiDiACKQMQIg1XDQAgAigCACIFIA2n.aiwAACEDIAIgDUIBfCIMNwMQIAwgDlkNACAFIAynai0AACEHIAIgDUICfCIMNwMQAkAgA0EATgRAIAAoAtwBIAAoAtgBIgZrQZABbSADTQ0CIAYgA0GQAWxq.IgYoAgBBAE4NAiAGIAE2AgAMAQsgACgC1AFBAE4NASAAIAE2AtQBCwJAAn8CQAJAAkACQCAELwEkIgZBCHQgBkEIdnJB//8DcUGCAk8EQCAMIA5ZDQcgBSAM.p2otAAAhBSACIA1CA3w3AxAgBUEBSw0HIAdFDQEgBQ0HIANBAE4NAwwHCyAHDQFBACEFCyADQQBIBH8gAEG4AWoFIAAoAtgBIANBkAFsaiICQQA6AGQgAkHo.AGoLIQQgBUEBRw0CIwBB8ABrIgIkACAAKAIEKAIsIQdB+AAQBiIFQgA3AgwgBUGM3wA2AgAgBUEANgIEIAVCADcCFCAFQgA3AhwgBUIANwIkIAVCADcCLCAF.QQA2AjQgBUIANwI4IAVB4OAANgIIIAVCADcCQCAFQgA3AkggBUIANwJQIAVBADYCWCAFQQA2AnQgBSAENgJwIAUgBzYCbCAFQQA2AmggBUIANwJgIAAoAggh.AyACQgA3AjAgAkIANwIoIAJCADcCICACQgA3AhggAkIANwIQIAJCADcCOCACQeDgADYCCCACQgA3AkAgAkIANwJIIAJCADcCUCACQQA2AlggAkEANgJoIAJC.ADcCYCACIAM2AgwgAygCACEGIAMoAgQhCSACQQA6AG8gAkEgaiAJIAZrQQJ1QQNuIAJB7wBqIgYQGiACKAIMIgkoAhghCiAJKAIcIQkgAkEAOgBvIAJBLGog.CSAKa0ECdSAGEBogAiAFNgIcIAIgBzYCGCACIAQ2AhQgAiADNgIQIAVBCGoiAyACQQhqIgQoAhQ2AhQgAyAEKQIMNwIMIAMgBCkCBDcCBCADQRhqIARBGGoQ.aCADQSRqIARBJGoQaAJAIAMgBEYEQCADIAQoAlQ2AlQMAQsgA0EwaiAEKAIwIgcgBCgCNCIGIAYgB2tBAnUQQCADQTxqIAQoAjwiByAEKAJAIgYgBiAHa0EC.dRBAIANByABqIAQoAkgiByAEKAJMIgYgBiAHa0ECdRBAIAMgBCgCVDYCVCAEKAJcIgchCQJAIAcgBCgCWCIHa0ECdSIGIAMoAmAiCiADKAJYIgRrQQJ1TQRA.IAYgAygCXCAEayIKQQJ1SwRAIAoEQCAEIAcgCvwKAAALIAMoAlwhBCAJIAcgCmoiBmsiBwRAIAQgBiAH/AoAAAsgAyAEIAdqNgJcDAILIAkgB2siBgRAIAQg.ByAG/AoAAAsgAyAEIAZqNgJcDAELIAQEQCADIAQ2AlwgBBAFIANBADYCYCADQgA3AlhBACEKCwJAIAZBgICAgARPDQBB/////wMgCkEBdSIEIAYgBCAGSxsg.CkH8////B08bIgRBgICAgARPDQAgAyAEQQJ0IgYQBiIENgJcIAMgBDYCWCADIAQgBmo2AmAgCSAHayIGBEAgBCAHIAb8CgAACyADIAQgBmo2AlwMAQsQBwAL.CyACQeDgADYCCCACKAJgIgMEQCACIAM2AmQgAxAFCyACKAJQIgMEQCACIAM2AlQgAxAFCyACKAJEIgMEQCACIAM2AkggAxAFCyACKAI4IgMEQCACIAM2Ajwg.AxAFCyACQdDiADYCCCACKAIsIgMEQCADEAULIAIoAiAiAwRAIAMQBQsgAkHwAGokACAFDAMLIANBAEgNBAsgACgC2AEhByAEKAIsIQVB0AAQBiICQgA3Agwg.AkGI5QA2AgAgAkEANgIEIAJCADcCFCACQgA3AhwgAkIANwIkIAJCADcCLCACQQA2AjQgAkEANgJMIAIgBTYCRCACQQA2AkAgAkIANwI4IAJB3NwANgIIIAIg.ByADQZABbGoiA0HoAGoiBDYCSCAIIAQ2AhggCCADQQRqIgQ2AhQgCCACNgIgIAggBTYCHCAIQgA3AkggCEIANwJAIAhCADcCOCAIQgA3AjAgCEIANwIoIAhC.ADcCWCAIQgA3AlAgCEHc3AA2AiQgCCAIKQIUNwMAIAggCCkCHDcDCCAIQSRqIgMgBCAIEOsBIAIgAygCFDYCHCACIAMpAgw3AhQgAiADKQIENwIMIAJBIGog.A0EYahBoIAJBLGogA0EkahBoIAMgAkEIakcEQCACQThqIAMoAjAiBSADKAI0IgQgBCAFa0ECdRBACyADEOoBGgwCCwJ/IwBBQGoiAiQAIAAoAgQoAiwhB0HQ.ABAGIgNCADcCDCADQeTiADYCACADQQA2AgQgA0IANwIUIANCADcCHCADQgA3AiQgA0IANwIsIANBADYCNCADQQA2AkwgAyAENgJIIAMgBzYCRCADQQA2AkAg.A0IANwI4IANBiOQANgIIIAAoAgghBSACQgA3AiggAkIANwIgIAJCADcCGCACQgA3AhAgAkIANwIIIAJBADYCOCACQgA3AjAgAkGI5AA2AgAgAiAFNgIEIAUo.AgAhBiAFKAIEIQkgAkEAOgA/IAJBGGogCSAGa0ECdUEDbiACQT9qIgYQGiACKAIEIgkoAhghCiAJKAIcIQkgAkEAOgA/IAJBJGogCSAKa0ECdSAGEBogAiAH.NgIQIAIgBDYCDCACIAU2AgggAiADNgIUIAMgAikCDDcCFCADIAIpAgQ3AgwgAyADNgIcAkACQCACKAIcIgVFDQAgBUEASA0BIAVBAWsiB0EFdkEBaiIGQQJ0.EAYhBCADIAY2AiggA0EANgIkIAMgBDYCICAHQQN2Qfz///8BcUEEaiIHRQ0AIAQgAigCGCAH/AoAAAsgAyAFNgIkAkAgAigCKCIFRQ0AIAVBAEgNASAFQQFr.IgdBBXZBAWoiBkECdBAGIQQgAyAGNgI0IANBADYCMCADIAQ2AiwgB0EDdkH8////AXFBBGoiB0UNACAEIAIoAiQgB/wKAAALIAMgBTYCMCADQThqIAIoAjAi.BSACKAI0IgQgBCAFa0ECdRBAIAJBiOQANgIAIAIoAjAiBQRAIAIgBTYCNCAFEAULIAJB0OIANgIAIAIoAiQiBQRAIAUQBQsgAigCGCIFBEAgBRAFCyACQUBr.JAAgAwwBCxAHAAsLIgJFDQELQcAAEAYgAhCcASECIAAoAgQhAyACIQACQAJAIAFBAE4EQCADKAIMIAMoAggiAmtBAnUgAUwEfyADQQhqIAFBAWoQUiADKAII.BSACCyABQQJ0aiIDKAIAIQIgAyAANgIAIAINAQwCCyAARQ0BCyACIAIoAgAoAgQRAgALIAFBf3NBH3YhCwsgCEHgAGokACALC9ABAQR/IAAoAtgBIgIgACgC.3AFHBEADQAJAIAIgBEGQAWxqKAIAIgJBAEgNACACIAAoAgQiAygCDCADKAIIIgVrQQJ1Tg0AQQAhAyAFIAJBAnRqKAIAIgIgAigCACgCGBEAAEEATA0AA0Ag.AiADIAIoAgAoAhQRAQAgAUcEQCACIAIoAgAoAhgRAAAgA0EBaiIDSg0BDAILCyAAKALYASAEQZABbGpB6ABqDwsgBEEBaiIEIAAoAtwBIAAoAtgBIgJrQZAB.bUkNAAsLIABBuAFqC9UBAQR/IAAoAtgBIgIgACgC3AFHBEADQAJAIAIgBEGQAWxqKAIAIgJBAEgNACACIAAoAgQiAygCDCADKAIIIgVrQQJ1Tg0AQQAhAyAF.IAJBAnRqKAIAIgIgAigCACgCGBEAAEEATA0AA0AgAiADIAIoAgAoAhQRAQAgAUcEQCACIAIoAgAoAhgRAAAgA0EBaiIDSg0BDAILCyAAKALYASAEQZABbGoi.AEEEakEAIAAtAGQbDwsgBEEBaiIEIAAoAtwBIAAoAtgBIgJrQZABbUkNAAsLQQALCwAgACABNgIEQQELpEMCF38DfiAARQRAQQEPCwJAIAIpAxAiGyACKQMI.WQ0AIAIoAgAgG6dqLQAAIQsgAiAbQgF8NwMQAkACQCALDgIAAQILIAAhBiABIQUgAyEIQQAhACMAQUBqIgkkACAJQQA2AjggCUIANwMwIAlCADcDKCAJQgA3.AyAgCUIANwMYIAlCADcDECAJQgA3AwgCQCAJQQhqIgEgAiINEPABRQ0AIAEgAhDvAUUNACAGBEAgCSgCFEUNAQsgDUEAQQAQQRogBgRAIAVBAnQhESAJKAIk.IRQgCSgCGCEVIAkoAjAhFiAJKAI4IQIgCSgCNCELIAVBAEwhFwNAAkAgAkH//wBLBEAgAiEBDAELIAIhASALIgBBAEwNAANAIAkgAEEBayILNgI0IAkgCyAW.ai0AACACQQh0ciIBNgI4IAJBwABPDQEgAEECSCABIQIgCyEARQ0ACwsgCSAUIBUgAUH/H3EiAEECdGooAgAiCkEDdGoiAigCACABQQx2bCAAaiACKAIEayIC.NgI4AkAgFw0AQQAhACAKQSBLDQMgDS0AJEEBcUUNAyAKRQRAIBEEQCAIIARBAnRqQQAgEfwLAAsgBCAFaiEEDAELIApBPnEhGCAKQQFxIRkgBCAFaiEOIA0o.AiAhAyANKAIcIQwgDSgCGCEQA0AgAyEAQQAhAUEAIRNBACEHQQAhDwJAIApBAUcEQANAAkAgDCAQIABBA3ZqIgdNBEBBACEHDAELIActAAAgDSAAQQFqIgM2.AiAgAEEHcXZBAXEhByADIQALIAcgAXQgD3IhB0EAIQ8gDCAQIABBA3ZqIhJLBEAgEi0AACANIABBAWoiAzYCICAAQQdxdkEBcSEPIAMhAAsgAUEBciESIAFB.AmohASAPIBJ0IAdyIQ8gE0ECaiITIBhHDQALIAEhByAZRQ0BCyAMIBAgAEEDdmoiAUsEfyABLQAAIA0gAEEBaiIDNgIgIABBB3F2QQFxBUEACyAHdCAPciEP.CyAIIARBAnRqIA82AgAgBEEBaiIEIA5HDQALIA4hBAsgBSAaaiIaIAZJDQALCyANQQA6ACQgDSANKQMQIA01AiBCB3xCA4h8NwMQQQEhAAsgCSgCJCIBBEAg.CSABNgIoIAEQBQsgCSgCGCIBBEAgCSABNgIcIAEQBQsgCSgCCCIBBEAgCSABNgIMIAEQBQsgCUFAayQAIAAPCwJ/QQAhAQJAAkACQCACKQMQIhsgAikDCFkN.ACACKAIAIBunai0AACELIAIgG0IBfDcDEAJAAkACQAJAAkACQCALQQFrDhIHBwcHBwcHBwABAgMECAgICAUGCyAAIQsgAyENQQAhAyMAQUBqIgQkACAEQQA2.AjggBEIANwMwIARCADcDKCAEQgA3AyAgBEIANwMYIARCADcDECAEQgA3AwgCQAJ/IARBCGohBwJAIAIvASYiAEUNAAJAIABB/wNNBEAgAikDCCACKQMQIhtC.BHxTDQIgByACKAIAIBunaigAACIGNgIMIAIgAikDEEIEfCIbNwMQDAELQQEgB0EMaiACEC5FDQEgAikDECEbIAcoAgwhBgsgBkEGdq0gAikDCCAbfVUNACAH.IAYQDEEBIAcoAgwiCEUNARogAikDECEbIAIpAwghHEEAIQADQCAbIBxZDQEgAigCACIJIBunai0AACEFIAIgG0IBfCIbNwMQIAVBAnYhAQJAAkACQAJAIAVB.A3EiCg4EAgEBAAELIAAgAWoiASAITw0EIAcoAgAhCSAFQfwBcUEEaiIFRQRAIAEhAAwDCyAJIABBAnRqQQAgBfwLACABIQAMAgsgGyAcIBsgHFUbIR1BACEG.A0BBACAbIB1RDQUaIAkgG6dqLQAAIAIgG0IBfCIbNwMQIAZBA3RBBnJ0IAFyIQEgBkEBaiIGIApHDQALCyAHKAIAIgkgAEECdGogATYCAAsgAEEBaiIAIAco.AgwiCEkNAAsgB0EQakGAwAAQDCAHQRxqIAgQMyAIRQ0AIAcoAhwhEEEAIQVBACEAA0AgCSAFQQJ0aiIGKAIAIQogECAFQQN0aiIMIAAiATYCBCAMIAo2AgAg.BigCACIKIABqIgBBgMAASw0BAkAgACABTQ0AIAcoAhAhDEEAIQYgCkEHcSIRBEADQCAMIAFBAnRqIAU2AgAgAUEBaiEBIAZBAWoiBiARRw0ACwsgCkEBa0EG.TQ0AA0AgDCABQQJ0aiIGIAU2AhwgBiAFNgIYIAYgBTYCFCAGIAU2AhAgBiAFNgIMIAYgBTYCCCAGIAU2AgQgBiAFNgIAIAFBCGoiASAARw0ACwsgBUEBaiIF.IAhHDQALIABBgMAARiEPCyAPC0UNACALBEAgBCgCFEUNAQtBACEHIwBBEGsiBSQAAkACQCACLwEmQf8DTQRAIAIpAwgiHSACKQMQIhxCCHwiG1MNAiACKAIA.IBynaikAACEcIAIgGzcDEAwBC0EBIAVBCGogAhAtRQ0BIAIpAxAhGyACKQMIIR0gBSkDCCEcCyAcIB0gG31WDQAgAiAbIBx8NwMQIBynIgBBAEwNACAEIAIo.AgAgG6dqIgE2AjAgBAJ/AkACQAJAAkAgASAAQQFrIgJqIgYtAABBBnZBAWsOAwECAwALIAQgAjYCNCAGLQAAQT9xDAMLIABBAUYNAyAEIABBAmsiADYCNCAA.IAFqLwAAQf//AHEMAgsgAEEDSQ0CIAQgAEEDazYCNCAAIAFqIgBBAmsvAABBCHRBgP7/AXEgAEEDay0AAHIMAQsgAEEESQ0BIAQgAEEEayIANgI0IAAgAWoo.AABB/////wNxCyIAQYCAAmo2AjggAEGAgP4DSSEHCyAFQRBqJAAgB0UNACAEKAI0IQEgBCgCOCECIAQoAiQhBSAEKAIYIQcgBCgCMCEGA0ACQCACQf//AUsE.QCACIQAMAQsgAiEAIAEiA0EATA0AA0AgBCADQQFrIgE2AjQgBCABIAZqLQAAIAJBCHRyIgA2AjggAkGAAU8NASADQQJIIAAhAiABIQNFDQALCyAEIAUgByAA.Qf8/cSICQQJ0aigCACIDQQN0aiIIKAIAIABBDXZsIAJqIAgoAgRrIgI2AjggDSAOQQJ0aiADNgIAQQEhAyAOQQFqIg4gC0cNAAsLIAQoAiQiAARAIAQgADYC.KCAAEAULIAQoAhgiAARAIAQgADYCHCAAEAULIAQoAggiAARAIAQgADYCDCAAEAULIARBQGskACADDAgLIAAhCyADIQ1BACEDIwBBQGoiBCQAIARBADYCOCAE.QgA3AzAgBEIANwMoIARCADcDICAEQgA3AxggBEIANwMQIARCADcDCAJAAn8gBEEIaiEHAkAgAi8BJiIARQ0AAkAgAEH/A00EQCACKQMIIAIpAxAiG0IEfFMN.AiAHIAIoAgAgG6dqKAAAIgY2AgwgAiACKQMQQgR8Ihs3AxAMAQtBASAHQQxqIAIQLkUNASACKQMQIRsgBygCDCEGCyAGQQZ2rSACKQMIIBt9VQ0AIAcgBhAM.QQEgBygCDCIIRQ0BGiACKQMQIRsgAikDCCEcQQAhAANAIBsgHFkNASACKAIAIgkgG6dqLQAAIQUgAiAbQgF8Ihs3AxAgBUECdiEBAkACQAJAAkAgBUEDcSIK.DgQCAQEAAQsgACABaiIBIAhPDQQgBygCACEJIAVB/AFxQQRqIgVFBEAgASEADAMLIAkgAEECdGpBACAF/AsAIAEhAAwCCyAbIBwgGyAcVRshHUEAIQYDQEEA.IBsgHVENBRogCSAbp2otAAAgAiAbQgF8Ihs3AxAgBkEDdEEGcnQgAXIhASAGQQFqIgYgCkcNAAsLIAcoAgAiCSAAQQJ0aiABNgIACyAAQQFqIgAgBygCDCII.SQ0ACyAHQRBqQYCAAhAMIAdBHGogCBAzIAhFDQAgBygCHCEQQQAhBUEAIQADQCAJIAVBAnRqIgYoAgAhCiAQIAVBA3RqIgwgACIBNgIEIAwgCjYCACAGKAIA.IgogAGoiAEGAgAJLDQECQCAAIAFNDQAgBygCECEMQQAhBiAKQQdxIhEEQANAIAwgAUECdGogBTYCACABQQFqIQEgBkEBaiIGIBFHDQALCyAKQQFrQQZNDQAD.QCAMIAFBAnRqIgYgBTYCHCAGIAU2AhggBiAFNgIUIAYgBTYCECAGIAU2AgwgBiAFNgIIIAYgBTYCBCAGIAU2AgAgAUEIaiIBIABHDQALCyAFQQFqIgUgCEcN.AAsgAEGAgAJGIQ8LIA8LRQ0AIAsEQCAEKAIURQ0BC0EAIQcjAEEQayIFJAACQAJAIAIvASZB/wNNBEAgAikDCCIdIAIpAxAiHEIIfCIbUw0CIAIoAgAgHKdq.KQAAIRwgAiAbNwMQDAELQQEgBUEIaiACEC1FDQEgAikDECEbIAIpAwghHSAFKQMIIRwLIBwgHSAbfVYNACACIBsgHHw3AxAgHKciAEEATA0AIAQgAigCACAb.p2oiATYCMCAEAn8CQAJAAkACQCABIABBAWsiAmoiBi0AAEEGdkEBaw4DAQIDAAsgBCACNgI0IAYtAABBP3EMAwsgAEEBRg0DIAQgAEECayIANgI0IAAgAWov.AABB//8AcQwCCyAAQQNJDQIgBCAAQQNrNgI0IAAgAWoiAEECay8AAEEIdEGA/v8BcSAAQQNrLQAAcgwBCyAAQQRJDQEgBCAAQQRrIgA2AjQgACABaigAAEH/.////A3ELIgBBgIAIajYCOCAAQYCA+A9JIQcLIAVBEGokACAHRQ0AIAQoAjQhASAEKAI4IQIgBCgCJCEFIAQoAhghByAEKAIwIQYDQAJAIAJB//8HSwRAIAIh.AAwBCyACIQAgASIDQQBMDQADQCAEIANBAWsiATYCNCAEIAEgBmotAAAgAkEIdHIiADYCOCACQYAETw0BIANBAkggACECIAEhA0UNAAsLIAQgBSAHIABB//8B.cSICQQJ0aigCACIDQQN0aiIIKAIAIABBD3ZsIAJqIAgoAgRrIgI2AjggDSAOQQJ0aiADNgIAQQEhAyAOQQFqIg4gC0cNAAsLIAQoAiQiAARAIAQgADYCKCAA.EAULIAQoAhgiAARAIAQgADYCHCAAEAULIAQoAggiAARAIAQgADYCDCAAEAULIARBQGskACADDAcLIAAhCyADIQ1BACEDIwBBQGoiBCQAIARBADYCOCAEQgA3.AzAgBEIANwMoIARCADcDICAEQgA3AxggBEIANwMQIARCADcDCAJAAn8gBEEIaiEHAkAgAi8BJiIARQ0AAkAgAEH/A00EQCACKQMIIAIpAxAiG0IEfFMNAiAH.IAIoAgAgG6dqKAAAIgY2AgwgAiACKQMQQgR8Ihs3AxAMAQtBASAHQQxqIAIQLkUNASACKQMQIRsgBygCDCEGCyAGQQZ2rSACKQMIIBt9VQ0AIAcgBhAMQQEg.BygCDCIIRQ0BGiACKQMQIRsgAikDCCEcQQAhAANAIBsgHFkNASACKAIAIgkgG6dqLQAAIQUgAiAbQgF8Ihs3AxAgBUECdiEBAkACQAJAAkAgBUEDcSIKDgQC.AQEAAQsgACABaiIBIAhPDQQgBygCACEJIAVB/AFxQQRqIgVFBEAgASEADAMLIAkgAEECdGpBACAF/AsAIAEhAAwCCyAbIBwgGyAcVRshHUEAIQYDQEEAIBsg.HVENBRogCSAbp2otAAAgAiAbQgF8Ihs3AxAgBkEDdEEGcnQgAXIhASAGQQFqIgYgCkcNAAsLIAcoAgAiCSAAQQJ0aiABNgIACyAAQQFqIgAgBygCDCIISQ0A.CyAHQRBqQYCABBAMIAdBHGogCBAzIAhFDQAgBygCHCEQQQAhBUEAIQADQCAJIAVBAnRqIgYoAgAhCiAQIAVBA3RqIgwgACIBNgIEIAwgCjYCACAGKAIAIgog.AGoiAEGAgARLDQECQCAAIAFNDQAgBygCECEMQQAhBiAKQQdxIhEEQANAIAwgAUECdGogBTYCACABQQFqIQEgBkEBaiIGIBFHDQALCyAKQQFrQQZNDQADQCAM.IAFBAnRqIgYgBTYCHCAGIAU2AhggBiAFNgIUIAYgBTYCECAGIAU2AgwgBiAFNgIIIAYgBTYCBCAGIAU2AgAgAUEIaiIBIABHDQALCyAFQQFqIgUgCEcNAAsg.AEGAgARGIQ8LIA8LRQ0AIAsEQCAEKAIURQ0BC0EAIQcjAEEQayIFJAACQAJAIAIvASZB/wNNBEAgAikDCCIdIAIpAxAiHEIIfCIbUw0CIAIoAgAgHKdqKQAA.IRwgAiAbNwMQDAELQQEgBUEIaiACEC1FDQEgAikDECEbIAIpAwghHSAFKQMIIRwLIBwgHSAbfVYNACACIBsgHHw3AxAgHKciAEEATA0AIAQgAigCACAbp2oi.ATYCMCAEAn8CQAJAAkACQCABIABBAWsiAmoiBi0AAEEGdkEBaw4DAQIDAAsgBCACNgI0IAYtAABBP3EMAwsgAEEBRg0DIAQgAEECayIANgI0IAAgAWovAABB.//8AcQwCCyAAQQNJDQIgBCAAQQNrNgI0IAAgAWoiAEECay8AAEEIdEGA/v8BcSAAQQNrLQAAcgwBCyAAQQRJDQEgBCAAQQRrIgA2AjQgACABaigAAEH/////.A3ELIgBBgIAQajYCOCAAQYCA8B9JIQcLIAVBEGokACAHRQ0AIAQoAjQhASAEKAI4IQIgBCgCJCEFIAQoAhghByAEKAIwIQYDQAJAIAJB//8PSwRAIAIhAAwB.CyACIQAgASIDQQBMDQADQCAEIANBAWsiATYCNCAEIAEgBmotAAAgAkEIdHIiADYCOCACQYAITw0BIANBAkggACECIAEhA0UNAAsLIAQgBSAHIABB//8DcSIC.QQJ0aigCACIDQQN0aiIIKAIAIABBEHZsIAJqIAgoAgRrIgI2AjggDSAOQQJ0aiADNgIAQQEhAyAOQQFqIg4gC0cNAAsLIAQoAiQiAARAIAQgADYCKCAAEAUL.IAQoAhgiAARAIAQgADYCHCAAEAULIAQoAggiAARAIAQgADYCDCAAEAULIARBQGskACADDAYLIAAhCyADIQ1BACEDIwBBQGoiBCQAIARBADYCOCAEQgA3AzAg.BEIANwMoIARCADcDICAEQgA3AxggBEIANwMQIARCADcDCAJAAn8gBEEIaiEHAkAgAi8BJiIARQ0AAkAgAEH/A00EQCACKQMIIAIpAxAiG0IEfFMNAiAHIAIo.AgAgG6dqKAAAIgY2AgwgAiACKQMQQgR8Ihs3AxAMAQtBASAHQQxqIAIQLkUNASACKQMQIRsgBygCDCEGCyAGQQZ2rSACKQMIIBt9VQ0AIAcgBhAMQQEgBygC.DCIIRQ0BGiACKQMQIRsgAikDCCEcQQAhAANAIBsgHFkNASACKAIAIgkgG6dqLQAAIQUgAiAbQgF8Ihs3AxAgBUECdiEBAkACQAJAAkAgBUEDcSIKDgQCAQEA.AQsgACABaiIBIAhPDQQgBygCACEJIAVB/AFxQQRqIgVFBEAgASEADAMLIAkgAEECdGpBACAF/AsAIAEhAAwCCyAbIBwgGyAcVRshHUEAIQYDQEEAIBsgHVEN.BRogCSAbp2otAAAgAiAbQgF8Ihs3AxAgBkEDdEEGcnQgAXIhASAGQQFqIgYgCkcNAAsLIAcoAgAiCSAAQQJ0aiABNgIACyAAQQFqIgAgBygCDCIISQ0ACyAH.QRBqQYCAEBAMIAdBHGogCBAzIAhFDQAgBygCHCEQQQAhBUEAIQADQCAJIAVBAnRqIgYoAgAhCiAQIAVBA3RqIgwgACIBNgIEIAwgCjYCACAGKAIAIgogAGoi.AEGAgBBLDQECQCAAIAFNDQAgBygCECEMQQAhBiAKQQdxIhEEQANAIAwgAUECdGogBTYCACABQQFqIQEgBkEBaiIGIBFHDQALCyAKQQFrQQZNDQADQCAMIAFB.AnRqIgYgBTYCHCAGIAU2AhggBiAFNgIUIAYgBTYCECAGIAU2AgwgBiAFNgIIIAYgBTYCBCAGIAU2AgAgAUEIaiIBIABHDQALCyAFQQFqIgUgCEcNAAsgAEGA.gBBGIQ8LIA8LRQ0AIAsEQCAEKAIURQ0BC0EAIQcjAEEQayIFJAACQAJAIAIvASZB/wNNBEAgAikDCCIdIAIpAxAiHEIIfCIbUw0CIAIoAgAgHKdqKQAAIRwg.AiAbNwMQDAELQQEgBUEIaiACEC1FDQEgAikDECEbIAIpAwghHSAFKQMIIRwLIBwgHSAbfVYNACACIBsgHHw3AxAgHKciAEEATA0AIAQgAigCACAbp2oiATYC.MCAEAn8CQAJAAkACQCABIABBAWsiAmoiBi0AAEEGdkEBaw4DAQIDAAsgBCACNgI0IAYtAABBP3EMAwsgAEEBRg0DIAQgAEECayIANgI0IAAgAWovAABB//8A.cQwCCyAAQQNJDQIgBCAAQQNrNgI0IAAgAWoiAEECay8AAEEIdEGA/v8BcSAAQQNrLQAAcgwBCyAAQQRJDQEgBCAAQQRrIgA2AjQgACABaigAAEH/////A3EL.IgBBgIBAazYCOCAAQYCAwP8ASSEHCyAFQRBqJAAgB0UNACAEKAI0IQEgBCgCOCECIAQoAiQhBSAEKAIYIQcgBCgCMCEGA0ACQCACQf//P0sEQCACIQAMAQsg.AiEAIAEiA0EATA0AA0AgBCADQQFrIgE2AjQgBCABIAZqLQAAIAJBCHRyIgA2AjggAkGAIE8NASADQQJIIAAhAiABIQNFDQALCyAEIAUgByAAQf//D3EiAkEC.dGooAgAiA0EDdGoiCCgCACAAQRJ2bCACaiAIKAIEayICNgI4IA0gDkECdGogAzYCAEEBIQMgDkEBaiIOIAtHDQALCyAEKAIkIgAEQCAEIAA2AiggABAFCyAE.KAIYIgAEQCAEIAA2AhwgABAFCyAEKAIIIgAEQCAEIAA2AgwgABAFCyAEQUBrJAAgAwwFCyAAIQsgAyENQQAhAyMAQUBqIgQkACAEQQA2AjggBEIANwMwIARC.ADcDKCAEQgA3AyAgBEIANwMYIARCADcDECAEQgA3AwgCQAJ/IARBCGohBwJAIAIvASYiAEUNAAJAIABB/wNNBEAgAikDCCACKQMQIhtCBHxTDQIgByACKAIA.IBunaigAACIGNgIMIAIgAikDEEIEfCIbNwMQDAELQQEgB0EMaiACEC5FDQEgAikDECEbIAcoAgwhBgsgBkEGdq0gAikDCCAbfVUNACAHIAYQDEEBIAcoAgwi.CEUNARogAikDECEbIAIpAwghHEEAIQADQCAbIBxZDQEgAigCACIJIBunai0AACEFIAIgG0IBfCIbNwMQIAVBAnYhAQJAAkACQAJAIAVBA3EiCg4EAgEBAAEL.IAAgAWoiASAITw0EIAcoAgAhCSAFQfwBcUEEaiIFRQRAIAEhAAwDCyAJIABBAnRqQQAgBfwLACABIQAMAgsgGyAcIBsgHFUbIR1BACEGA0BBACAbIB1RDQUa.IAkgG6dqLQAAIAIgG0IBfCIbNwMQIAZBA3RBBnJ0IAFyIQEgBkEBaiIGIApHDQALCyAHKAIAIgkgAEECdGogATYCAAsgAEEBaiIAIAcoAgwiCEkNAAsgB0EQ.akGAgCAQDCAHQRxqIAgQMyAIRQ0AIAcoAhwhEEEAIQVBACEAA0AgCSAFQQJ0aiIGKAIAIQogECAFQQN0aiIMIAAiATYCBCAMIAo2AgAgBigCACIKIABqIgBB.gIAgSw0BAkAgACABTQ0AIAcoAhAhDEEAIQYgCkEHcSIRBEADQCAMIAFBAnRqIAU2AgAgAUEBaiEBIAZBAWoiBiARRw0ACwsgCkEBa0EGTQ0AA0AgDCABQQJ0.aiIGIAU2AhwgBiAFNgIYIAYgBTYCFCAGIAU2AhAgBiAFNgIMIAYgBTYCCCAGIAU2AgQgBiAFNgIAIAFBCGoiASAARw0ACwsgBUEBaiIFIAhHDQALIABBgIAg.RiEPCyAPC0UNACALBEAgBCgCFEUNAQtBACEHIwBBEGsiBSQAAkACQCACLwEmQf8DTQRAIAIpAwgiHSACKQMQIhxCCHwiG1MNAiACKAIAIBynaikAACEcIAIg.GzcDEAwBC0EBIAVBCGogAhAtRQ0BIAIpAxAhGyACKQMIIR0gBSkDCCEcCyAcIB0gG31WDQAgAiAbIBx8NwMQIBynIgBBAEwNACAEIAIoAgAgG6dqIgE2AjAg.BAJ/AkACQAJAAkAgASAAQQFrIgJqIgYtAABBBnZBAWsOAwECAwALIAQgAjYCNCAGLQAAQT9xDAMLIABBAUYNAyAEIABBAmsiADYCNCAAIAFqLwAAQf//AHEM.AgsgAEEDSQ0CIAQgAEEDazYCNCAAIAFqIgBBAmsvAABBCHRBgP7/AXEgAEEDay0AAHIMAQsgAEEESQ0BIAQgAEEEayIANgI0IAAgAWooAABB/////wNxCyIA.QYCAgAFqNgI4IABBgICA/wFJIQcLIAVBEGokACAHRQ0AIAQoAjQhASAEKAI4IQIgBCgCJCEFIAQoAhghByAEKAIwIQYDQAJAIAJB////AEsEQCACIQAMAQsg.AiEAIAEiA0EATA0AA0AgBCADQQFrIgE2AjQgBCABIAZqLQAAIAJBCHRyIgA2AjggAkGAwABPDQEgA0ECSCAAIQIgASEDRQ0ACwsgBCAFIAcgAEH//x9xIgJB.AnRqKAIAIgNBA3RqIggoAgAgAEETdmwgAmogCCgCBGsiAjYCOCANIA5BAnRqIAM2AgBBASEDIA5BAWoiDiALRw0ACwsgBCgCJCIABEAgBCAANgIoIAAQBQsg.BCgCGCIABEAgBCAANgIcIAAQBQsgBCgCCCIABEAgBCAANgIMIAAQBQsgBEFAayQAIAMMBAsgACACIAMQ7gEhAQsgAQwCCyAAIQsgAyENQQAhAyMAQUBqIgQk.ACAEQQA2AjggBEIANwMwIARCADcDKCAEQgA3AyAgBEIANwMYIARCADcDECAEQgA3AwgCQCAEQQhqIAIQ8AFFDQAgAARAIAQoAhRFDQELIARBCGogAhDvAUUN.ACAEKAI0IQIgBCgCOCEAIAQoAiQhByAEKAIYIQYgBCgCMCEIA0ACQCAAQf//AEsEQCAAIQEMAQsgACEBIAIiA0EATA0AA0AgBCADQQFrIgI2AjQgBCACIAhq.LQAAIABBCHRyIgE2AjggAEHAAE8NASADQQJIIAEhACACIQNFDQALCyAEIAcgBiABQf8fcSIAQQJ0aigCACIDQQN0aiIOKAIAIAFBDHZsIABqIA4oAgRrIgA2.AjggDSAFQQJ0aiADNgIAQQEhAyAFQQFqIgUgC0cNAAsLIAQoAiQiAARAIAQgADYCKCAAEAULIAQoAhgiAARAIAQgADYCHCAAEAULIAQoAggiAARAIAQgADYC.DCAAEAULIARBQGskACADDAELIAAgAiADEO4BCyENCyANC9wBAQJ/IAFFBEBBAA8LQSgQBiIEQQA2AgAgBEEQaiEDAkAgASwAG0EATgRAIAMgASgCGDYCCCAD.IAEpAhA3AgAMAQsgAyABKAIQIAEoAhQQDQsgBEEcaiEDAkAgASwAJ0EATgRAIAMgASgCJDYCCCADIAEpAhw3AgAMAQsgAyABKAIcIAEoAiAQDQsgACABKAIA.IAIQmAEhAyAAIAEoAgQgAhCYASEAIAEtAAwhASAEIAA2AgQgBCADNgIAIAQgAToADCADBEAgAyAENgIICyAABEAgACAENgIICyAECwQAQQMLBABBfwvSBgIK.fwN+AkAgACAAKAIAKAIsEQAAIghBAEwNACABKAIEIAEoAgBrQQJ1IgYhAyMAQUBqIgUkACAFEEMiBCAAKAIIKAI4IAhB/wFxQQVBACAIQZTqAC0AAGysEGdB.4AAQBiAEEGQiBEEBOgBUIAQgBCgCRDYCSCAEIAMQMhogBCAAKAIIKAI8NgI8IAAoAhAhAyAAIAQ2AhAgAwRAIAMQFwsgBUFAayQAIAAoAhAiBSgCUEUNACAF.KAIAKAIAIgNFDQAgAikDCCIPIAIpAxAiDVcNACAGIAhsIQQgAyAFKAIwaiEFIAIoAgAiAyANp2otAAAhBiACIA1CAXwiDjcDEAJ/AkACQCAGBEAgBCAIIAIg.BRCXAUUNBAwBCyAOIA9ZDQMgAyAOp2otAAAhBiACIA1CAnw3AxAgACgCECgCQCIDKAIEIAMoAgBrIQdBlOoALQAAIAZGBEAgByAEQQJ0IgNJDQQgAikDCCAC.KQMQIg0gA60iDnxTDQQgAwRAIAUgAigCACANp2ogA/wKAAALIAIgAikDECAOfDcDEAwBCyAHIAQgBmxJDQMgAikDCCACKQMQIg19IAatIg4gBK1+Uw0DQQEg.BEUNAhpBACEDA0AgAikDCCANIA58UwRAQQAPCyAGBEAgBSADQQJ0aiACKAIAIA2naiAG/AoAAAsgAiACKQMQIA58Ig03AxAgA0EBaiIDIARHDQALDAELIAQN.AEEBDAELAkAgACgCFCIDBEAgAyADKAIAKAIgEQAADQELQQAhBgJAIARBAEwNACAEQQFHBEAgBEEBcSAEQf7///8HcSEKQQAhAwNAIAUgBkECdCIHaiAFIAdq.KAIAIgtBAXZBACALQQFxa3M2AgAgBSAHQQRyIgdqIAUgB2ooAgAiB0EBdkEAIAdBAXFrczYCACAGQQJqIQYgA0ECaiIDIApHDQALRQ0BCyAFIAZBAnQiA2og.AyAFaigCACIDQQF2QQAgA0EBcWtzNgIACwtBAAshBgJAIAAoAhQiA0UNACADIAQgAygCACgCLBEEACAAKAIUIgMgAiADKAIAKAIoEQEARQ0BIAYNACAAKAIU.IgAgBSAFIAQgCCABKAIAIAAoAgAoAjARCABFDQELQQEhDAsgDAtMACAAQgA3AgQgAEH0DzYCACAAQgA3AgwgAEIANwIUIABCADcCHCAAQgA3AiQgAEHMEjYC.ACAAQgA3AiwgAEIANwI0IAAgATYCPCAACywAIAAgATYCBCABKAIEKAIIIAJBAnRqKAIAIQEgACACNgIMIAAgATYCCEEBC6YCAQl/AkACQCAAKAIEIgMgACgC.ACIIRwRAIAMhAgwBCyAAKAIMIgIgACgCCCIGRwRAIAYgAiAGa0ECdUEBakECbUECdGoiBSAGIANrIgRrIQIgBARAIAIgAyAE/AoAAAsgACAFNgIIDAELQQEg.AiAIa0EBdSADIAZGIgUbIgRBgICAgARPDQEgBEECdCICEAYiCSACaiEKIAkgBEEDakF8cWoiAiEHIAVFBEAgAiAGIANraiEHIAIhBCADIQUDQCAEIAUoAgA2.AgAgBUEEaiEFIARBBGoiBCAHRw0ACwsgACAKNgIMIAAgAjYCBCAAIAk2AgAgACAHNgIIIANFDQAgCBAFIAAoAgQhAgsgAkEEayIDIAEoAgA2AgAgACADNgIE.DwsQDgALnQIBCX8CQAJAIAAoAgwiAiAAKAIIIgZHDQAgACgCBCIEIAAoAgAiB0cEQCAEIAQgB2tBAnVBAWpBfm1BAnQiAmohAyAGIARrIgUEQCADIAQgBfwK.AAALIAAgACgCBCACajYCBCADIAVqIQYMAQtBASACIAdrQQF1IAQgBkYiBRsiA0GAgICABE8NASADQQJ0IgIQBiIJIAJqIQogCSADQXxxaiIDIQggBUUEQCAD.IAYgBGtqIQggAyEFIAQhAgNAIAUgAigCADYCACACQQRqIQIgBUEEaiIFIAhHDQALCyAAIAo2AgwgACADNgIEIAAgCTYCACAAIAg2AgggBEUNACAHEAULIAYg.ASgCADYCACAAIAZBBGo2AggPCxAOAAvuAQEDfyAAQYQRNgIAIAAoAjwiAwRAIAMiASAAKAJAIgJHBEADQCACQQRrIgIoAgAhASACQQA2AgAgAQRAIAEQFwsg.AiADRw0ACyAAKAI8IQELIAAgAzYCQCABEAULIAAoAjAiAQRAIAAgATYCNCABEAULIAAoAiQiAwRAIAMiASAAKAIoIgJHBEADQCACQRhrIgIgAigCACgCABEA.ABogAiADRw0ACyAAKAIkIQELIAAgAzYCKCABEAULIABB9A82AgAgACgCECIBBEAgACABNgIUIAEQBQsgACgCBCIBBEAgACABNgIIIAEQBQsgAAuFAgEIfwJA.IAAoAhAiA0UNACAAQRBqIQUgASgCACEBA0AgAygCECIEIAFKBEAgAygCACIDDQEMAgsgASAESgRAIAMoAgQiAw0BDAILCyADIAVGDQAgAygCGCIBRQ0AIANB.FGohByACKAIAIAIgAiwACyIDQQBIIgQbIQUgAigCBCADIAQbIQMDQCAFIAEoAhAgAUEQaiABLAAbIgRBAEgiBhsiCCABKAIUIAQgBhsiBCADIAMgBEsiBhsi.CRATIgpBAEggAyAESSAKGwR/IAEFIAggBSAJEBMiBEEASCAGIAQbQQFHBEAgByACENYBDwsgAUEEagsoAgAiAQ0ACwsgACACENYBC2sCAn8BfgJAIABBBUsN.ACACKQMQIgUgAikDCFkNACACKAIAIAWnaiwAACEDIAIgBUIBfDcDECABIANBAEgEfyAAQQFqIAEgAhCiAUUNASADQf8AcSABKAIAQQd0cgUgAws2AgBBASEE.CyAEC9QDAQh/IABBADYCGCAAQgA3AhAgAEEANgIIIABCADcCACABKAIEIgIgASgCACIDRgRAIABBADYCHCAAQQA2AgwgAA8LAkAgAiADayIBQRRtQc2Zs+YA.SQRAIAAgARAGIgQ2AhQgACAENgIQIAAgASAEajYCGCABQRRrIgEgAUEUcGtBFGoiAQRAIAQgAyAB/AoAAAtBACEDIABBADYCHCAAIAEgBGo2AhQgAQRAIAFB.FG0iAkEDcSEGQQAhAQJAIAJBBE8EQCACQXxxIQkDQCABIAQgA0EUbGoiAigCECACKAIMbCIFIAEgBUsbIgEgAigCJCACKAIgbCIFIAEgBUsbIgEgAigCOCAC.KAI0bCIFIAEgBUsbIgEgAigCTCACKAJIbCICIAEgAksbIQEgA0EEaiEDIAhBBGoiCCAJRw0ACyAGRQ0BCwNAIAEgBCADQRRsaiICKAIQIAIoAgxsIgIgASAC.SxshASADQQFqIQMgB0EBaiIHIAZHDQALCyABRQRAIABBADYCDCAADwsgAUEASA0CIAEQBiEDIAEEQCADQQAgAfwLAAsgACABIANqIgE2AgggACABNgIEIAAg.AzYCAAsgACADNgIMIAAPCxAHAAsQBwAL6BUCEn8CfgJAIAEpAwggASkDECIWQgR8Uw0AIAAgASgCACAWp2ooAAAiBTYCACABIAEpAxAiFkIEfCIXNwMQIAVB.IEsNACABKQMIIBZCCHxTDQAgACABKAIAIBenaigAACIFNgIEIAEgASkDEEIEfDcDECAFRQRAQQEPCyADIAVJDQAgAEEANgIIIABBEGogARA2RQ0AIABBoARq.IAEQCkUNACAAQbQEaiABEApFDQAgAEHIBGogARAKRQ0AIAAoAgQhECACIQgjAEFAaiIEJAAgACIDKAIMIQAgBEEANgIQIANB9ARqIAAgBEEQaiIAEA8gAygC.DCEBIARBADYCECADQYAFaiIRIAEgABAPIAMgAygCjAU2ApAFIARCADcDICAEQgA3AxggBEIANwMQIAAQCyAEKAIUIAQoAiQiACAEKAIgaiIBQdUCbiICQQJ0.aigCACABIAJB1QJsa0EMbGoiAUIANwIEIAEgEDYCAEEBIQUCQCAAQQFqIgJFDQAgA0GMBWohEiADQRBqIRMDQCAEKAIUIgEgBCgCICIHIAJBAWsiC2oiAEHV.Am4iBUECdGooAgAgACAFQdUCbGtBDGxqIgUoAgghACAFKAIEGiAFKAIAIQYgBCALNgIkIAQoAhgiBSABa0ECdUHVAmxBAWtBACABIAVHGyACIAdqa0EBakGq.BU8EQCAFQQRrKAIAEAUgBCAEKAIYQQRrNgIYCyAAIAxHBEAgACAMSwRAQQAhBQwDCwJAIAMoAowFIgwgAygCkAUiAkYNAANAIAJBEGsiASgCACAASQ0BIAMo.AvQEIAJBDGsiBSgCAEECdGogAkEEaygCADYCACABKAIAIABGDQEgAygCgAUgBSgCAEECdGogAkEIaygCADYCACADIAE2ApAFIAEiAiAMRw0ACwsgACEMC0EA.IQUgBiAQSw0BIAMgBiAREMMBIgcgAygCDE8NAQJAAkAgAygCACIJIAdBAnQiCyADKAKABWooAgAiCkYEQCAGRQ0BIAgoAhAhASAIKAIUIQBBACELA0AgACAB.RiEFIAAhAkEAIQcgASEAAkAgBQ0AA0AgCCgCHCEFIAEgB0EUbGoiCSgCACIKLQBURQRAIAooAkQgBUECdGooAgAhBQsgAiEAIAUgCigCUE8NAQJ/IAMoAvQE.IAkoAgRBAnRqIg0gCSgCDCIAQQNLDQAaQQAhASAIKAIMIgIgCSgCEEUNABoDQCAABEAgAiANIAFBAnRqIAD8CgAACyACIAkoAgwiAGohAiABQQFqIgEgCSgC.EEkNAAsgCCgCDAshASAKKAIoIgAEQCAKKAIAKAIAIAAgBWxqIAEgAPwKAAALIAgoAhQiAiEAIAdBAWoiByACIAgoAhAiAWtBFG1JDQALCyAIIAgoAhxBAWo2.AhwgAyADKAIIQQFqNgIIIAYgC0EBaiILRw0ACwwBCwJAAkACQAJAIAZBAk0EQCADKALoBCIBIAc2AgBBASECIAMoAgwiAEEBSw0BDAQLIAMoAgggAygCBEsN.ByAGZyEBQQAhAEEAIQIDQCATIAJBBHRqEBAgAEEBdHIhACACQQFqIgIgAXNBH0cNAAsgBkEBdiIBIABJDQcgASAAayIAIAYgAGsiAkYEQCAAIQEMAwsgAygC.1AQiASADKALMBEYNASABKAIAIAMgAygC2AQiDUEBaiIONgLYBEGAgICAeCANdnEhBgJAIA5BIEYEQCADQQA2AtgEIAMgAUEEajYC1AQgBg0BDAMLIAZFDQIL.IAAhASACIQAMAgsDQCABIAJBAnRqIgUgBUEEaygCACIFQQFqQQAgBSAAQQFrRxs2AgAgAkEBaiICIAMoAgwiAEkNAAsMAgsgAiEBCyAMQX9GDQRBASAJIApB.f3NqdCEFIAQgDDYCACAEIAc2AgQgBCADKAKABSALaigCADYCCCAEIAMoAvQEIAtqKAIANgIMIAQgAygCkAUiAjYCLCADKAKUBSEGIAQgEjYCOCAEIAQ2AjQg.BCAEQSxqNgIwIAMCfyACIAZJBEAgAiAEKQIINwIIIAIgBCkCADcCACACQRBqDAELIARBMGoQGCAEKAIsCzYCkAUgAygCgAUgC2oiAiACKAIAQQFqNgIAIAMo.AvQEIAtqIgIgAigCACAFajYCACABBEAgBCgCJCIGIAQoAiBqIgUgBCgCGCILIAQoAhQiAmtBAnVB1QJsQQFrQQAgAiALRxtGBEAgBEEQahALIAQoAiQiBiAE.KAIgaiEFIAQoAhQhAgsgAiAFQdUCbiILQQJ0aigCACAFIAtB1QJsa0EMbGoiAiAMNgIIIAIgBzYCBCACIAE2AgAgBCAGQQFqNgIkCyAMQQFqIQwgAEUNASAE.KAIkIgUgBCgCIGoiASAEKAIYIgYgBCgCFCICa0ECdUHVAmxBAWtBACACIAZHG0YEQCAEQRBqEAsgBCgCFCECIAQoAiQiBSAEKAIgaiEBCyACIAFB1QJuIgZB.AnRqKAIAIAEgBkHVAmxrQQxsaiIBIAw2AgggASAHNgIEIAEgADYCACAEIAVBAWoiAjYCJAwCC0EAIQsgBkUNAANAIAMoAgwEQCADKAKABSENIAMoAtwEIQEg.AygC6AQhDkEAIQIDQCABIA4gAkECdGoiBSgCAEECdGpBADYCAAJAIAMoAgAiACANIAUoAgBBAnQiB2ooAgAiCUYNACABIAdqIQcgACAJayIAQSAgAygCsAQi.CWsiD0wEQCADKAKsBCIKIAMoAqQERgRAQQAhBQwJCyAHIAooAgAgCXRBICAAa3Y2AgAgAyADKAKwBCAAaiIANgKwBCAAQSBHDQEgA0EANgKwBCADIApBBGo2.AqwEDAELIAMoAqwEIgpBBGoiFCADKAKkBEYEQEEAIQUMCAsgCigCACEVIAMgFDYCrAQgAyAAIA9rIg82ArAEIAcgCigCBEEgIA9rdiAVIAl0QSAgAGt2cjYC.AAsgASAFKAIAQQJ0IgBqIgUgBSgCACADKAL0BCAAaigCAHI2AgAgAkEBaiICIAMoAgxJDQALC0EAIQcCQCAIKAIQIgIgCCgCFEYNAANAIAgoAhwhBSACIAdB.FGxqIgkoAgAiCi0AVEUEQCAKKAJEIAVBAnRqKAIAIQULIAUgCigCUE8NAQJ/IAMoAtwEIAkoAgRBAnRqIg0gCSgCDCIAQQNLDQAaQQAhASAIKAIMIgIgCSgC.EEUNABoDQCAABEAgAiANIAFBAnRqIAD8CgAACyACIAkoAgwiAGohAiABQQFqIgEgCSgCEEkNAAsgCCgCDAshASAKKAIoIgAEQCAKKAIAKAIAIAAgBWxqIAEg.APwKAAALIAdBAWoiByAIKAIUIAgoAhAiAmtBFG1JDQALCyAIIAgoAhxBAWo2AhwgAyADKAIIQQFqNgIIIAtBAWoiCyAGRw0ACwsgBCgCJCECCyACDQALQQEh.BQsgBEEANgIkIAQoAhgiACAEKAIUIgJrQQJ1IgFBA08EQANAIAIoAgAQBSAEIAQoAhRBBGoiAjYCFCAEKAIYIgAgAmtBAnUiAUECSw0ACwtBqgEhAwJAAkAC.QCABQQFrDgIBAAILQdUCIQMLIAQgAzYCIAsgACACRgR/IAAFA0AgAigCABAFIAJBBGoiAiAARw0ACyAEKAIYIQAgBCgCFAshASAEIAAgACABa0F8cWs2Ahgg.BCgCECIABEAgABAFCyAEQUBrJAAgBSEMCyAMC/cVAhF/An4CQCABKQMIIAEpAxAiFUIEfFMNACAAIAEoAgAgFadqKAAAIgU2AgAgASABKQMQIhVCBHwiFjcD.ECAFQSBLDQAgASkDCCAVQgh8Uw0AIAAgASgCACAWp2ooAAAiBTYCBCABIAEpAxBCBHw3AxAgBUUEQEEBDwsgAyAFSQ0AIABBADYCCCAAQRBqIAEQNkUNACAA.QaAEaiABEApFDQAgAEG0BGogARAKRQ0AIABByARqIAEQCkUNACAAKAIEIRAgAiEJIwBBQGoiBCQAIAAiAygCDCEAIARBADYCECADQfQEaiAAIARBEGoiABAP.IAMoAgwhASAEQQA2AhAgA0GABWogASAAEA8gAyADKAKMBTYCkAUgBEIANwMgIARCADcDGCAEQgA3AxAgABALIAQoAhQgBCgCJCIAIAQoAiBqIgFB1QJuIgJB.AnRqKAIAIAEgAkHVAmxrQQxsaiIBQgA3AgQgASAQNgIAQQEhBQJAIABBAWoiAkUNACADQYwFaiERIANBEGohEgNAIAQoAhQiASAEKAIgIgsgAkEBayIIaiIA.QdUCbiIFQQJ0aigCACAAIAVB1QJsa0EMbGoiBSgCCCEAIAUoAgQhByAFKAIAIQYgBCAINgIkIAQoAhgiBSABa0ECdUHVAmxBAWtBACABIAVHGyACIAtqa0EB.akGqBU8EQCAFQQRrKAIAEAUgBCAEKAIYQQRrNgIYCyAAIAxHBEAgACAMSwRAQQAhBQwDCwJAIAMoAowFIgwgAygCkAUiAkYNAANAIAJBEGsiASgCACAASQ0B.IAMoAvQEIAJBDGsiBSgCAEECdGogAkEEaygCADYCACABKAIAIABGDQEgAygCgAUgBSgCAEECdGogAkEIaygCADYCACADIAE2ApAFIAEiAiAMRw0ACwsgACEM.CyAGIBBLBEBBACEFDAILQQAhBSAHQQFqQQAgByADKAIMIgBBAWtHGyIHIABPDQECQAJAIAMoAgAiCCAHQQJ0IgsgAygCgAVqKAIAIgpGBEAgBkUNASAJKAIQ.IQEgCSgCFCEAQQAhCwNAIAAgAUYhBSAAIQJBACEHIAEhAAJAIAUNAANAIAkoAhwhBSABIAdBFGxqIggoAgAiCi0AVEUEQCAKKAJEIAVBAnRqKAIAIQULIAIh.ACAFIAooAlBPDQECfyADKAL0BCAIKAIEQQJ0aiINIAgoAgwiAEEDSw0AGkEAIQEgCSgCDCICIAgoAhBFDQAaA0AgAARAIAIgDSABQQJ0aiAA/AoAAAsgAiAI.KAIMIgBqIQIgAUEBaiIBIAgoAhBJDQALIAkoAgwLIQEgCigCKCIABEAgCigCACgCACAAIAVsaiABIAD8CgAACyAJKAIUIgIhACAHQQFqIgcgAiAJKAIQIgFr.QRRtSQ0ACwsgCSAJKAIcQQFqNgIcIAMgAygCCEEBajYCCCAGIAtBAWoiC0cNAAsMAQsCQAJAAkACQCAGQQJNBEAgAygC6AQiASAHNgIAQQEhAiADKAIMIgBB.AUsNAQwECyADKAIIIAMoAgRLDQcgBmchAUEAIQBBACECA0AgEiACQQR0ahAQIABBAXRyIQAgAkEBaiICIAFzQR9HDQALIAZBAXYiASAASQ0HIAEgAGsiACAG.IABrIgJGBEAgACEBDAMLIAMoAtQEIgEgAygCzARGDQEgASgCACADIAMoAtgEIg1BAWoiDjYC2ARBgICAgHggDXZxIQYCQCAOQSBGBEAgA0EANgLYBCADIAFB.BGo2AtQEIAYNAQwDCyAGRQ0CCyAAIQEgAiEADAILA0AgASACQQJ0aiIFIAVBBGsoAgAiBUEBakEAIAUgAEEBa0cbNgIAIAJBAWoiAiADKAIMIgBJDQALDAIL.IAIhAQsgDEF/Rg0EQQEgCCAKQX9zanQhBSAEIAw2AgAgBCAHNgIEIAQgAygCgAUgC2ooAgA2AgggBCADKAL0BCALaigCADYCDCAEIAMoApAFIgI2AiwgAygC.lAUhBiAEIBE2AjggBCAENgI0IAQgBEEsajYCMCADAn8gAiAGSQRAIAIgBCkCCDcCCCACIAQpAgA3AgAgAkEQagwBCyAEQTBqEBggBCgCLAs2ApAFIAMoAoAF.IAtqIgIgAigCAEEBajYCACADKAL0BCALaiICIAIoAgAgBWo2AgAgAQRAIAQoAiQiBiAEKAIgaiIFIAQoAhgiCyAEKAIUIgJrQQJ1QdUCbEEBa0EAIAIgC0cb.RgRAIARBEGoQCyAEKAIkIgYgBCgCIGohBSAEKAIUIQILIAIgBUHVAm4iC0ECdGooAgAgBSALQdUCbGtBDGxqIgIgDDYCCCACIAc2AgQgAiABNgIAIAQgBkEB.ajYCJAsgDEEBaiEMIABFDQEgBCgCJCIFIAQoAiBqIgEgBCgCGCIGIAQoAhQiAmtBAnVB1QJsQQFrQQAgAiAGRxtGBEAgBEEQahALIAQoAhQhAiAEKAIkIgUg.BCgCIGohAQsgAiABQdUCbiIGQQJ0aigCACABIAZB1QJsa0EMbGoiASAMNgIIIAEgBzYCBCABIAA2AgAgBCAFQQFqIgI2AiQMAgtBACELIAZFDQADQCADKAIM.BEAgAygCgAUhDSADKALcBCEBIAMoAugEIQ5BACECA0AgASAOIAJBAnRqIgUoAgBBAnRqQQA2AgACQCADKAIAIgAgDSAFKAIAQQJ0IgdqKAIAIghGDQAgASAH.aiEHIAAgCGsiAEEgIAMoArAEIghrIg9MBEAgAygCrAQiCiADKAKkBEYEQEEAIQUMCQsgByAKKAIAIAh0QSAgAGt2NgIAIAMgAygCsAQgAGoiADYCsAQgAEEg.Rw0BIANBADYCsAQgAyAKQQRqNgKsBAwBCyADKAKsBCIKQQRqIhMgAygCpARGBEBBACEFDAgLIAooAgAhFCADIBM2AqwEIAMgACAPayIPNgKwBCAHIAooAgRB.ICAPa3YgFCAIdEEgIABrdnI2AgALIAEgBSgCAEECdCIAaiIFIAUoAgAgAygC9AQgAGooAgByNgIAIAJBAWoiAiADKAIMSQ0ACwtBACEHAkAgCSgCECICIAko.AhRGDQADQCAJKAIcIQUgAiAHQRRsaiIIKAIAIgotAFRFBEAgCigCRCAFQQJ0aigCACEFCyAFIAooAlBPDQECfyADKALcBCAIKAIEQQJ0aiINIAgoAgwiAEED.Sw0AGkEAIQEgCSgCDCICIAgoAhBFDQAaA0AgAARAIAIgDSABQQJ0aiAA/AoAAAsgAiAIKAIMIgBqIQIgAUEBaiIBIAgoAhBJDQALIAkoAgwLIQEgCigCKCIA.BEAgCigCACgCACAAIAVsaiABIAD8CgAACyAHQQFqIgcgCSgCFCAJKAIQIgJrQRRtSQ0ACwsgCSAJKAIcQQFqNgIcIAMgAygCCEEBajYCCCALQQFqIgsgBkcN.AAsLIAQoAiQhAgsgAg0AC0EBIQULIARBADYCJCAEKAIYIgAgBCgCFCICa0ECdSIBQQNPBEADQCACKAIAEAUgBCAEKAIUQQRqIgI2AhQgBCgCGCIAIAJrQQJ1.IgFBAksNAAsLQaoBIQMCQAJAAkAgAUEBaw4CAQACC0HVAiEDCyAEIAM2AiALIAAgAkYEfyAABQNAIAIoAgAQBSACQQRqIgIgAEcNAAsgBCgCGCEAIAQoAhQL.IQEgBCAAIAAgAWtBfHFrNgIYIAQoAhAiAARAIAAQBQsgBEFAayQAIAUhDAsgDAvwFQIRfwJ+AkAgASkDCCABKQMQIhVCBHxTDQAgACABKAIAIBWnaigAACIF.NgIAIAEgASkDECIVQgR8IhY3AxAgBUEgSw0AIAEpAwggFUIIfFMNACAAIAEoAgAgFqdqKAAAIgU2AgQgASABKQMQQgR8NwMQIAVFBEBBAQ8LIAMgBUkNACAA.QQA2AgggAEEQaiABEDZFDQAgAEGgBGogARAKRQ0AIABBtARqIAEQCkUNACAAQcgEaiABEApFDQAgACgCBCEQIAIhCSMAQUBqIgQkACAAIgMoAgwhACAEQQA2.AhAgA0H0BGogACAEQRBqIgAQDyADKAIMIQEgBEEANgIQIANBgAVqIAEgABAPIAMgAygCjAU2ApAFIARCADcDICAEQgA3AxggBEIANwMQIAAQCyAEKAIUIAQo.AiQiACAEKAIgaiIBQdUCbiICQQJ0aigCACABIAJB1QJsa0EMbGoiAUIANwIEIAEgEDYCAEEBIQUCQCAAQQFqIgJFDQAgA0GMBWohESADQRBqIRIDQCAEKAIU.IgEgBCgCICILIAJBAWsiCGoiAEHVAm4iBUECdGooAgAgACAFQdUCbGtBDGxqIgUoAgghACAFKAIEIQcgBSgCACEGIAQgCDYCJCAEKAIYIgUgAWtBAnVB1QJs.QQFrQQAgASAFRxsgAiALamtBAWpBqgVPBEAgBUEEaygCABAFIAQgBCgCGEEEazYCGAsgACAMRwRAIAAgDEsEQEEAIQUMAwsCQCADKAKMBSIMIAMoApAFIgJG.DQADQCACQRBrIgEoAgAgAEkNASADKAL0BCACQQxrIgUoAgBBAnRqIAJBBGsoAgA2AgAgASgCACAARg0BIAMoAoAFIAUoAgBBAnRqIAJBCGsoAgA2AgAgAyAB.NgKQBSABIgIgDEcNAAsLIAAhDAtBACEFIAYgEEsNASAHQQFqQQAgByADKAIMIgBBAWtHGyIHIABPDQECQAJAIAMoAgAiCCAHQQJ0IgsgAygCgAVqKAIAIgpG.BEAgBkUNASAJKAIQIQEgCSgCFCEAQQAhCwNAIAAgAUYhBSAAIQJBACEHIAEhAAJAIAUNAANAIAkoAhwhBSABIAdBFGxqIggoAgAiCi0AVEUEQCAKKAJEIAVB.AnRqKAIAIQULIAIhACAFIAooAlBPDQECfyADKAL0BCAIKAIEQQJ0aiINIAgoAgwiAEEDSw0AGkEAIQEgCSgCDCICIAgoAhBFDQAaA0AgAARAIAIgDSABQQJ0.aiAA/AoAAAsgAiAIKAIMIgBqIQIgAUEBaiIBIAgoAhBJDQALIAkoAgwLIQEgCigCKCIABEAgCigCACgCACAAIAVsaiABIAD8CgAACyAJKAIUIgIhACAHQQFq.IgcgAiAJKAIQIgFrQRRtSQ0ACwsgCSAJKAIcQQFqNgIcIAMgAygCCEEBajYCCCAGIAtBAWoiC0cNAAsMAQsCQAJAAkACQCAGQQJNBEAgAygC6AQiASAHNgIA.QQEhAiADKAIMIgBBAUsNAQwECyADKAIIIAMoAgRLDQcgBmchAUEAIQBBACECA0AgEiACQQR0ahAQIABBAXRyIQAgAkEBaiICIAFzQR9HDQALIAZBAXYiASAA.SQ0HIAEgAGsiACAGIABrIgJGBEAgACEBDAMLIAMoAtQEIgEgAygCzARGDQEgASgCACADIAMoAtgEIg1BAWoiDjYC2ARBgICAgHggDXZxIQYCQCAOQSBGBEAg.A0EANgLYBCADIAFBBGo2AtQEIAYNAQwDCyAGRQ0CCyAAIQEgAiEADAILA0AgASACQQJ0aiIFIAVBBGsoAgAiBUEBakEAIAUgAEEBa0cbNgIAIAJBAWoiAiAD.KAIMIgBJDQALDAILIAIhAQsgDEF/Rg0EQQEgCCAKQX9zanQhBSAEIAw2AgAgBCAHNgIEIAQgAygCgAUgC2ooAgA2AgggBCADKAL0BCALaigCADYCDCAEIAMo.ApAFIgI2AiwgAygClAUhBiAEIBE2AjggBCAENgI0IAQgBEEsajYCMCADAn8gAiAGSQRAIAIgBCkCCDcCCCACIAQpAgA3AgAgAkEQagwBCyAEQTBqEBggBCgC.LAs2ApAFIAMoAoAFIAtqIgIgAigCAEEBajYCACADKAL0BCALaiICIAIoAgAgBWo2AgAgAQRAIAQoAiQiBiAEKAIgaiIFIAQoAhgiCyAEKAIUIgJrQQJ1QdUC.bEEBa0EAIAIgC0cbRgRAIARBEGoQCyAEKAIkIgYgBCgCIGohBSAEKAIUIQILIAIgBUHVAm4iC0ECdGooAgAgBSALQdUCbGtBDGxqIgIgDDYCCCACIAc2AgQg.AiABNgIAIAQgBkEBajYCJAsgDEEBaiEMIABFDQEgBCgCJCIFIAQoAiBqIgEgBCgCGCIGIAQoAhQiAmtBAnVB1QJsQQFrQQAgAiAGRxtGBEAgBEEQahALIAQo.AhQhAiAEKAIkIgUgBCgCIGohAQsgAiABQdUCbiIGQQJ0aigCACABIAZB1QJsa0EMbGoiASAMNgIIIAEgBzYCBCABIAA2AgAgBCAFQQFqIgI2AiQMAgtBACEL.IAZFDQADQCADKAIMBEAgAygCgAUhDSADKALcBCEBIAMoAugEIQ5BACECA0AgASAOIAJBAnRqIgUoAgBBAnRqQQA2AgACQCADKAIAIgAgDSAFKAIAQQJ0Igdq.KAIAIghGDQAgASAHaiEHIAAgCGsiAEEgIAMoArAEIghrIg9MBEAgAygCrAQiCiADKAKkBEYEQEEAIQUMCQsgByAKKAIAIAh0QSAgAGt2NgIAIAMgAygCsAQg.AGoiADYCsAQgAEEgRw0BIANBADYCsAQgAyAKQQRqNgKsBAwBCyADKAKsBCIKQQRqIhMgAygCpARGBEBBACEFDAgLIAooAgAhFCADIBM2AqwEIAMgACAPayIP.NgKwBCAHIAooAgRBICAPa3YgFCAIdEEgIABrdnI2AgALIAEgBSgCAEECdCIAaiIFIAUoAgAgAygC9AQgAGooAgByNgIAIAJBAWoiAiADKAIMSQ0ACwtBACEH.AkAgCSgCECICIAkoAhRGDQADQCAJKAIcIQUgAiAHQRRsaiIIKAIAIgotAFRFBEAgCigCRCAFQQJ0aigCACEFCyAFIAooAlBPDQECfyADKALcBCAIKAIEQQJ0.aiINIAgoAgwiAEEDSw0AGkEAIQEgCSgCDCICIAgoAhBFDQAaA0AgAARAIAIgDSABQQJ0aiAA/AoAAAsgAiAIKAIMIgBqIQIgAUEBaiIBIAgoAhBJDQALIAko.AgwLIQEgCigCKCIABEAgCigCACgCACAAIAVsaiABIAD8CgAACyAHQQFqIgcgCSgCFCAJKAIQIgJrQRRtSQ0ACwsgCSAJKAIcQQFqNgIcIAMgAygCCEEBajYC.CCALQQFqIgsgBkcNAAsLIAQoAiQhAgsgAg0AC0EBIQULIARBADYCJCAEKAIYIgAgBCgCFCICa0ECdSIBQQNPBEADQCACKAIAEAUgBCAEKAIUQQRqIgI2AhQg.BCgCGCIAIAJrQQJ1IgFBAksNAAsLQaoBIQMCQAJAAkAgAUEBaw4CAQACC0HVAiEDCyAEIAM2AiALIAAgAkYEfyAABQNAIAIoAgAQBSACQQRqIgIgAEcNAAsg.BCgCGCEAIAQoAhQLIQEgBCAAIAAgAWtBfHFrNgIYIAQoAhAiAARAIAAQBQsgBEFAayQAIAUhDAsgDAu/FQIRfwJ+AkAgASkDCCABKQMQIhVCBHxTDQAgACAB.KAIAIBWnaigAACIFNgIAIAEgASkDECIVQgR8IhY3AxAgBUEgSw0AIAEpAwggFUIIfFMNACAAIAEoAgAgFqdqKAAAIgU2AgQgASABKQMQQgR8NwMQIAVFBEBB.AQ8LIAMgBUkNACAAQQA2AgggAEEQaiABEAhFDQAgAEEgaiABEApFDQAgAEE0aiABEApFDQAgAEHIAGogARAKRQ0AIAAoAgQhECACIQkjAEHQAGsiBCQAIAAi.AygCDCEAIARBADYCICADQfQAaiAAIARBIGoiABAPIAMoAgwhASAEQQA2AiAgA0GAAWogASAAEA8gAyADKAKMATYCkAEgBEIANwMwIARCADcDKCAEQgA3AyAg.ABALIAQoAiQgBCgCNCIAIAQoAjBqIgFB1QJuIgJBAnRqKAIAIAEgAkHVAmxrQQxsaiIBQgA3AgQgASAQNgIAQQEhBgJAIABBAWoiAEUNACADQYwBaiERIANB.EGohEgNAIAQoAiQiAiAEKAIwIgYgAEEBayIHaiIBQdUCbiIFQQJ0aigCACABIAVB1QJsa0EMbGoiBSgCCCEBIAUoAgQhCyAFKAIAIQggBCAHNgI0IAQoAigi.BSACa0ECdUHVAmxBAWtBACACIAVHGyAAIAZqa0EBakGqBU8EQCAFQQRrKAIAEAUgBCAEKAIoQQRrNgIoCyABIAxHBEAgASAMSwRAQQAhBgwDCwJAIAMoAowB.IgUgAygCkAEiAEYNAANAIABBEGsiAigCACABSQ0BIAMoAnQgAEEMayIGKAIAQQJ0aiAAQQRrKAIANgIAIAIoAgAgAUYNASADKAKAASAGKAIAQQJ0aiAAQQhr.KAIANgIAIAMgAjYCkAEgAiIAIAVHDQALCyABIQwLIAggEEsEQEEAIQYMAgtBACEGIAtBAWpBACALIAMoAgwiAEEBa0cbIgsgAE8NAQJAIAMoAgAiByALQQJ0.IgUgAygCgAFqKAIAIgpGBEAgCEUNASAJKAIQIQUgCSgCFCEBQQAhCwNAIAEgBUYhAiABIQBBACEGIAUhAQJAIAINAANAIAkoAhwhAiAFIAZBFGxqIgcoAgAi.Ci0AVEUEQCAKKAJEIAJBAnRqKAIAIQILIAAhASACIAooAlBPDQECfyADKAJ0IAcoAgRBAnRqIg0gBygCDCIBQQNLDQAaQQAhBSAJKAIMIgAgBygCEEUNABoD.QCABBEAgACANIAVBAnRqIAH8CgAACyAAIAcoAgwiAWohACAFQQFqIgUgBygCEEkNAAsgCSgCDAshASAKKAIoIgAEQCAKKAIAKAIAIAAgAmxqIAEgAPwKAAAL.IAkoAhQiACEBIAZBAWoiBiAAIAkoAhAiBWtBFG1JDQALCyAJIAkoAhxBAWo2AhwgAyADKAIIQQFqNgIIIAggC0EBaiILRw0ACwwBCwJAAkACQAJAIAhBAk0E.QCADKAJoIgIgCzYCAEEBIQAgAygCDCIBQQFLDQEMBAsgAygCCCADKAIESw0GIARBADYCHCASIAhnQR9zIARBHGoQaiAIQQF2IgAgBCgCHCIBSQ0GIAAgAWsi.ACAIIABrIgFGBEAgACECDAMLIAMoAlQiAiADKAJMRg0BIAIoAgAgAyADKAJYIg1BAWoiDjYCWEGAgICAeCANdnEhCAJAIA5BIEYEQCADQQA2AlggAyACQQRq.NgJUIAgNAQwDCyAIRQ0CCyAAIQIgASEADAILA0AgAiAAQQJ0aiIFIAVBBGsoAgAiBUEBakEAIAUgAUEBa0cbNgIAIABBAWoiACADKAIMIgFJDQALDAILIAEh.AgsgDEF/Rg0DQQEgByAKQX9zanQhBiAEIAw2AgwgBCALNgIQIAQgAygCgAEgBWooAgA2AhQgBCADKAJ0IAVqKAIANgIYIAQgAygCkAEiATYCPCADKAKUASEI.IAQgETYCSCAEIARBDGo2AkQgBCAEQTxqNgJAIAMCfyABIAhJBEAgASAEKQIUNwIIIAEgBCkCDDcCACABQRBqDAELIARBQGsQGCAEKAI8CzYCkAEgAygCgAEg.BWoiASABKAIAQQFqNgIAIAMoAnQgBWoiASABKAIAIAZqNgIAIAIEQCAEKAI0IgYgBCgCMGoiBSAEKAIoIgggBCgCJCIBa0ECdUHVAmxBAWtBACABIAhHG0YE.QCAEQSBqEAsgBCgCNCIGIAQoAjBqIQUgBCgCJCEBCyABIAVB1QJuIghBAnRqKAIAIAUgCEHVAmxrQQxsaiIBIAw2AgggASALNgIEIAEgAjYCACAEIAZBAWo2.AjQLIAxBAWohDCAARQ0BIAQoAjQiBiAEKAIwaiIFIAQoAigiAiAEKAIkIgFrQQJ1QdUCbEEBa0EAIAEgAkcbRgRAIARBIGoQCyAEKAI0IgYgBCgCMGohBSAE.KAIkIQELIAEgBUHVAm4iAkECdGooAgAgBSACQdUCbGtBDGxqIgEgDDYCCCABIAs2AgQgASAANgIAIAQgBkEBajYCNAwBC0EAIQsgCEUNAANAIAMoAgwEQCAD.KAKAASENIAMoAlwhAiADKAJoIQ5BACEAA0AgAiAOIABBAnRqIgUoAgBBAnRqQQA2AgACQCADKAIAIgEgDSAFKAIAQQJ0IgZqKAIAIgdGDQAgAiAGaiEGIAEg.B2siAUEgIAMoAjAiB2siD0wEQCADKAIsIgogAygCJEYEQEEAIQYMCAsgBiAKKAIAIAd0QSAgAWt2NgIAIAMgAygCMCABaiIBNgIwIAFBIEcNASADQQA2AjAg.AyAKQQRqNgIsDAELIAMoAiwiCkEEaiITIAMoAiRGBEBBACEGDAcLIAooAgAhFCADIBM2AiwgAyABIA9rIg82AjAgBiAKKAIEQSAgD2t2IBQgB3RBICABa3Zy.NgIACyACIAUoAgBBAnQiAWoiBSAFKAIAIAMoAnQgAWooAgByNgIAIABBAWoiACADKAIMSQ0ACwtBACEGAkAgCSgCECIAIAkoAhRGDQADQCAJKAIcIQIgACAG.QRRsaiIHKAIAIgotAFRFBEAgCigCRCACQQJ0aigCACECCyACIAooAlBPDQECfyADKAJcIAcoAgRBAnRqIg0gBygCDCIBQQNLDQAaQQAhBSAJKAIMIgAgBygC.EEUNABoDQCABBEAgACANIAVBAnRqIAH8CgAACyAAIAcoAgwiAWohACAFQQFqIgUgBygCEEkNAAsgCSgCDAshASAKKAIoIgAEQCAKKAIAKAIAIAAgAmxqIAEg.APwKAAALIAZBAWoiBiAJKAIUIAkoAhAiAGtBFG1JDQALCyAJIAkoAhxBAWo2AhwgAyADKAIIQQFqNgIIIAtBAWoiCyAIRw0ACwsgBCgCNCIADQALQQEhBgsg.BEEANgI0IAQoAigiASAEKAIkIgBrQQJ1IgVBA08EQANAIAAoAgAQBSAEIAQoAiRBBGoiADYCJCAEKAIoIgEgAGtBAnUiBUECSw0ACwtBqgEhAgJAAkACQCAF.QQFrDgIBAAILQdUCIQILIAQgAjYCMAsgACABRgR/IAEFA0AgACgCABAFIABBBGoiACABRw0ACyAEKAIoIQEgBCgCJAshACAEIAEgASAAa0F8cWs2AiggBCgC.ICIABEAgABAFCyAEQdAAaiQACyAGC7gVAhF/An4CQCABKQMIIAEpAxAiFUIEfFMNACAAIAEoAgAgFadqKAAAIgU2AgAgASABKQMQIhVCBHwiFjcDECAFQSBL.DQAgASkDCCAVQgh8Uw0AIAAgASgCACAWp2ooAAAiBTYCBCABIAEpAxBCBHw3AxAgBUUEQEEBDwsgAyAFSQ0AIABBADYCCCAAQRBqIAEQCEUNACAAQSBqIAEQ.CkUNACAAQTRqIAEQCkUNACAAQcgAaiABEApFDQAgACgCBCEQIAIhCSMAQdAAayIEJAAgACIDKAIMIQAgBEEANgIgIANB9ABqIAAgBEEgaiIAEA8gAygCDCEB.IARBADYCICADQYABaiABIAAQDyADIAMoAowBNgKQASAEQgA3AzAgBEIANwMoIARCADcDICAAEAsgBCgCJCAEKAI0IgAgBCgCMGoiAUHVAm4iAkECdGooAgAg.ASACQdUCbGtBDGxqIgFCADcCBCABIBA2AgBBASEGAkAgAEEBaiIARQ0AIANBjAFqIREgA0EQaiESA0AgBCgCJCICIAQoAjAiBiAAQQFrIgdqIgFB1QJuIgVB.AnRqKAIAIAEgBUHVAmxrQQxsaiIFKAIIIQEgBSgCBCELIAUoAgAhCCAEIAc2AjQgBCgCKCIFIAJrQQJ1QdUCbEEBa0EAIAIgBUcbIAAgBmprQQFqQaoFTwRA.IAVBBGsoAgAQBSAEIAQoAihBBGs2AigLIAEgDEcEQCABIAxLBEBBACEGDAMLAkAgAygCjAEiBSADKAKQASIARg0AA0AgAEEQayICKAIAIAFJDQEgAygCdCAA.QQxrIgYoAgBBAnRqIABBBGsoAgA2AgAgAigCACABRg0BIAMoAoABIAYoAgBBAnRqIABBCGsoAgA2AgAgAyACNgKQASACIgAgBUcNAAsLIAEhDAtBACEGIAgg.EEsNASALQQFqQQAgCyADKAIMIgBBAWtHGyILIABPDQECQCADKAIAIgcgC0ECdCIFIAMoAoABaigCACIKRgRAIAhFDQEgCSgCECEFIAkoAhQhAUEAIQsDQCAB.IAVGIQIgASEAQQAhBiAFIQECQCACDQADQCAJKAIcIQIgBSAGQRRsaiIHKAIAIgotAFRFBEAgCigCRCACQQJ0aigCACECCyAAIQEgAiAKKAJQTw0BAn8gAygC.dCAHKAIEQQJ0aiINIAcoAgwiAUEDSw0AGkEAIQUgCSgCDCIAIAcoAhBFDQAaA0AgAQRAIAAgDSAFQQJ0aiAB/AoAAAsgACAHKAIMIgFqIQAgBUEBaiIFIAco.AhBJDQALIAkoAgwLIQEgCigCKCIABEAgCigCACgCACAAIAJsaiABIAD8CgAACyAJKAIUIgAhASAGQQFqIgYgACAJKAIQIgVrQRRtSQ0ACwsgCSAJKAIcQQFq.NgIcIAMgAygCCEEBajYCCCAIIAtBAWoiC0cNAAsMAQsCQAJAAkACQCAIQQJNBEAgAygCaCICIAs2AgBBASEAIAMoAgwiAUEBSw0BDAQLIAMoAgggAygCBEsN.BiAEQQA2AhwgEiAIZ0EfcyAEQRxqEGogCEEBdiIAIAQoAhwiAUkNBiAAIAFrIgAgCCAAayIBRgRAIAAhAgwDCyADKAJUIgIgAygCTEYNASACKAIAIAMgAygC.WCINQQFqIg42AlhBgICAgHggDXZxIQgCQCAOQSBGBEAgA0EANgJYIAMgAkEEajYCVCAIDQEMAwsgCEUNAgsgACECIAEhAAwCCwNAIAIgAEECdGoiBSAFQQRr.KAIAIgVBAWpBACAFIAFBAWtHGzYCACAAQQFqIgAgAygCDCIBSQ0ACwwCCyABIQILIAxBf0YNA0EBIAcgCkF/c2p0IQYgBCAMNgIMIAQgCzYCECAEIAMoAoAB.IAVqKAIANgIUIAQgAygCdCAFaigCADYCGCAEIAMoApABIgE2AjwgAygClAEhCCAEIBE2AkggBCAEQQxqNgJEIAQgBEE8ajYCQCADAn8gASAISQRAIAEgBCkC.FDcCCCABIAQpAgw3AgAgAUEQagwBCyAEQUBrEBggBCgCPAs2ApABIAMoAoABIAVqIgEgASgCAEEBajYCACADKAJ0IAVqIgEgASgCACAGajYCACACBEAgBCgC.NCIGIAQoAjBqIgUgBCgCKCIIIAQoAiQiAWtBAnVB1QJsQQFrQQAgASAIRxtGBEAgBEEgahALIAQoAjQiBiAEKAIwaiEFIAQoAiQhAQsgASAFQdUCbiIIQQJ0.aigCACAFIAhB1QJsa0EMbGoiASAMNgIIIAEgCzYCBCABIAI2AgAgBCAGQQFqNgI0CyAMQQFqIQwgAEUNASAEKAI0IgYgBCgCMGoiBSAEKAIoIgIgBCgCJCIB.a0ECdUHVAmxBAWtBACABIAJHG0YEQCAEQSBqEAsgBCgCNCIGIAQoAjBqIQUgBCgCJCEBCyABIAVB1QJuIgJBAnRqKAIAIAUgAkHVAmxrQQxsaiIBIAw2Aggg.ASALNgIEIAEgADYCACAEIAZBAWo2AjQMAQtBACELIAhFDQADQCADKAIMBEAgAygCgAEhDSADKAJcIQIgAygCaCEOQQAhAANAIAIgDiAAQQJ0aiIFKAIAQQJ0.akEANgIAAkAgAygCACIBIA0gBSgCAEECdCIGaigCACIHRg0AIAIgBmohBiABIAdrIgFBICADKAIwIgdrIg9MBEAgAygCLCIKIAMoAiRGBEBBACEGDAgLIAYg.CigCACAHdEEgIAFrdjYCACADIAMoAjAgAWoiATYCMCABQSBHDQEgA0EANgIwIAMgCkEEajYCLAwBCyADKAIsIgpBBGoiEyADKAIkRgRAQQAhBgwHCyAKKAIA.IRQgAyATNgIsIAMgASAPayIPNgIwIAYgCigCBEEgIA9rdiAUIAd0QSAgAWt2cjYCAAsgAiAFKAIAQQJ0IgFqIgUgBSgCACADKAJ0IAFqKAIAcjYCACAAQQFq.IgAgAygCDEkNAAsLQQAhBgJAIAkoAhAiACAJKAIURg0AA0AgCSgCHCECIAAgBkEUbGoiBygCACIKLQBURQRAIAooAkQgAkECdGooAgAhAgsgAiAKKAJQTw0B.An8gAygCXCAHKAIEQQJ0aiINIAcoAgwiAUEDSw0AGkEAIQUgCSgCDCIAIAcoAhBFDQAaA0AgAQRAIAAgDSAFQQJ0aiAB/AoAAAsgACAHKAIMIgFqIQAgBUEB.aiIFIAcoAhBJDQALIAkoAgwLIQEgCigCKCIABEAgCigCACgCACAAIAJsaiABIAD8CgAACyAGQQFqIgYgCSgCFCAJKAIQIgBrQRRtSQ0ACwsgCSAJKAIcQQFq.NgIcIAMgAygCCEEBajYCCCALQQFqIgsgCEcNAAsLIAQoAjQiAA0AC0EBIQYLIARBADYCNCAEKAIoIgEgBCgCJCIAa0ECdSIFQQNPBEADQCAAKAIAEAUgBCAE.KAIkQQRqIgA2AiQgBCgCKCIBIABrQQJ1IgVBAksNAAsLQaoBIQICQAJAAkAgBUEBaw4CAQACC0HVAiECCyAEIAI2AjALIAAgAUYEfyABBQNAIAAoAgAQBSAA.QQRqIgAgAUcNAAsgBCgCKCEBIAQoAiQLIQAgBCABIAEgAGtBfHFrNgIoIAQoAiAiAARAIAAQBQsgBEHQAGokAAsgBgvQFgIQfwJ+AkAgASkDCCABKQMQIhRC.BHxTDQAgACABKAIAIBSnaigAACIHNgIAIAEgASkDECIVQgR8IhQ3AxAgB0EgSw0AIAEpAwggFUIIfFMNACAAIAEoAgAgFKdqKAAAIgc2AgQgASABKQMQQgR8.NwMQIAdFBEBBAQ8LIAMgB0kNACAAQQA2AgggAEEQaiABEApFDQAgAEEkaiABEApFDQAgAEE4aiABEApFDQAgAEHMAGogARAKRQ0AIAAoAgQhEiACIQgjAEFA.aiIFJAAgACIEKAIMIQAgBUEANgIQIARB+ABqIAAgBUEQaiIBEA8gBCgCDCEAIAVBADYCECAEQYQBaiAAIAEQDyAEIAQoApABNgKUASAFQgA3AyAgBUIANwMY.IAVCADcDECABEAsgBSgCFCAFKAIkIgIgBSgCIGoiAUHVAm4iAEECdGooAgAgASAAQdUCbGtBDGxqIgBCADcCBCAAIBI2AgBBASEHAkAgAkEBaiIBRQ0AIARB.kAFqIRMDQCAFKAIUIgcgBSgCICIGIAFBAWsiA2oiAkHVAm4iAEECdGooAgAgAiAAQdUCbGtBDGxqIgAoAgghAiAAKAIEIQsgACgCACEMIAUgAzYCJCAFKAIY.IgAgB2tBAnVB1QJsQQFrQQAgACAHRxsgASAGamtBAWpBqgVPBEAgAEEEaygCABAFIAUgBSgCGEEEazYCGAsgAiAORwRAIAIgDksEQEEAIQcMAwsCQCAEKAKQ.ASIGIAQoApQBIgFGDQADQCABQRBrIgAoAgAgAkkNASAEKAJ4IAFBDGsiAygCAEECdGogAUEEaygCADYCACAAKAIAIAJGDQEgBCgChAEgAygCAEECdGogAUEI.aygCADYCACAEIAA2ApQBIAAiASAGRw0ACwsgAiEOCyAMIBJLBEBBACEHDAILQQAhByALQQFqQQAgCyAEKAIMIgBBAWtHGyIPIABPDQECQAJAIAQoAgAiCSAP.QQJ0IhAgBCgChAFqIgooAgAiC0YEQCAMRQ0BIAgoAhAhBiAIKAIUIQADQCAAIAZGIQIgACEBQQAhAyAGIQACQCACDQADQCAIKAIcIQIgBiADQRRsaiIJKAIA.IgotAFRFBEAgCigCRCACQQJ0aigCACECCyABIQAgAiAKKAJQTw0BAn8gBCgCeCAJKAIEQQJ0aiILIAkoAgwiAEEDSw0AGkEAIQYgCCgCDCIBIAkoAhBFDQAa.A0AgAARAIAEgCyAGQQJ0aiAA/AoAAAsgASAJKAIMIgBqIQEgBkEBaiIGIAkoAhBJDQALIAgoAgwLIQAgCigCKCIBBEAgCigCACgCACABIAJsaiAAIAH8CgAA.CyAIKAIUIgEhACADQQFqIgMgASAIKAIQIgZrQRRtSQ0ACwsgCCAIKAIcQQFqNgIcIAQgBCgCCEEBajYCCCAMIAdBAWoiB0cNAAsMAQsCQAJAAkACQCAMQQJN.BEAgBCgCbCIDIA82AgBBASEBIAQoAgwiAEEBSw0BDAQLIAQoAgggBCgCBEsNBwJAAkACQCAMZ0EfcyINQSAgBCgCICIGayICTARAIAQoAhwiAyAEKAIURg0C.IAMoAgAgBCAGIA1qIgA2AiAgBnRBICANa3YhAiAAQSBHDQEgBEEANgIgIAQgA0EEajYCHAwBCyAEKAIcIgNBBGoiACAEKAIURg0BIAMoAgAhASAEIAA2Ahwg.BCANIAJrIgA2AiAgAygCBEEgIABrdiABIAZ0QSAgDWt2ciECCyAMQQF2IgMgAkkNCQwBCyAMQQF2IQNBACECCyADIAJrIgIgDCACayIARgRAIAIhAwwDCyAE.KAJYIg0gBCgCUEYNASANKAIAIAQgBCgCXCIDQQFqIgE2AlxBgICAgHggA3ZxIQMCQCABQSBGBEAgBEEANgJcIAQgDUEEajYCWCADDQEMAwsgA0UNAgsgAiED.IAAhAgwCCwNAIAMgAUECdGoiAiACQQRrKAIAIgJBAWpBACACIABBAWtHGzYCACABQQFqIgEgBCgCDCIASQ0ACwwCCyAAIQMLIA5Bf0YNBEEBIAkgC0F/c2p0.IQEgBSAONgIAIAUgDzYCBCAFIAooAgA2AgggBSAEKAJ4IBBqKAIANgIMIAUgBCgClAEiBjYCLCAEKAKYASEAIAUgEzYCOCAFIAU2AjQgBSAFQSxqNgIwIAQC.fyAAIAZLBEAgBiAFKQIINwIIIAYgBSkCADcCACAGQRBqDAELIAVBMGoQGCAFKAIsCzYClAEgBCgChAEgEGoiACAAKAIAQQFqNgIAIAQoAnggEGoiACAAKAIA.IAFqNgIAIAMEQCAFKAIkIgcgBSgCIGoiBiAFKAIYIgEgBSgCFCIAa0ECdUHVAmxBAWtBACAAIAFHG0YEQCAFQRBqEAsgBSgCJCIHIAUoAiBqIQYgBSgCFCEA.CyAAIAZB1QJuIgFBAnRqKAIAIAYgAUHVAmxrQQxsaiIAIA42AgggACAPNgIEIAAgAzYCACAFIAdBAWo2AiQLIA5BAWohDiACRQ0BIAUoAiQiByAFKAIgaiIG.IAUoAhgiASAFKAIUIgBrQQJ1QdUCbEEBa0EAIAAgAUcbRgRAIAVBEGoQCyAFKAIkIgcgBSgCIGohBiAFKAIUIQALIAAgBkHVAm4iAUECdGooAgAgBiABQdUC.bGtBDGxqIgAgDjYCCCAAIA82AgQgACACNgIAIAUgB0EBaiIBNgIkDAILIAxFDQADQCAEKAIMBEAgBCgChAEhCyAEKAJgIQ8gBCgCbCEGQQAhAQNAIA8gBiAB.QQJ0aiIQKAIAQQJ0akEANgIAAkAgBCgCACIDIAsgECgCAEECdCICaigCACIARg0AIAIgD2ohDSADIABrIhFBICAEKAI0IglrIgNMBEAgBCgCMCICIAQoAihG.BEBBACEHDAkLIA0gAigCACAJdEEgIBFrdjYCACAEIAQoAjQgEWoiADYCNCAAQSBHDQEgBEEANgI0IAQgAkEEajYCMAwBCyAEKAIwIgpBBGoiACAEKAIoRgRA.QQAhBwwICyAKKAIAIQIgBCAANgIwIAQgESADayIANgI0IA0gCigCBEEgIABrdiACIAl0QSAgEWt2cjYCAAsgDyAQKAIAQQJ0IgJqIgAgACgCACAEKAJ4IAJq.KAIAcjYCACABQQFqIgEgBCgCDEkNAAsLQQAhAwJAIAgoAhAiASAIKAIURg0AA0AgCCgCHCECIAEgA0EUbGoiCSgCACIKLQBURQRAIAooAkQgAkECdGooAgAh.AgsgAiAKKAJQTw0BAn8gBCgCYCAJKAIEQQJ0aiILIAkoAgwiAEEDSw0AGkEAIQYgCCgCDCIBIAkoAhBFDQAaA0AgAARAIAEgCyAGQQJ0aiAA/AoAAAsgASAJ.KAIMIgBqIQEgBkEBaiIGIAkoAhBJDQALIAgoAgwLIQAgCigCKCIBBEAgCigCACgCACABIAJsaiAAIAH8CgAACyADQQFqIgMgCCgCFCAIKAIQIgFrQRRtSQ0A.CwsgCCAIKAIcQQFqNgIcIAQgBCgCCEEBajYCCCAHQQFqIgcgDEcNAAsLIAUoAiQhAQsgAQ0AC0EBIQcLIAVBADYCJCAFKAIYIgAgBSgCFCIBa0ECdSIGQQNP.BEADQCABKAIAEAUgBSAFKAIUQQRqIgE2AhQgBSgCGCIAIAFrQQJ1IgZBAksNAAsLQaoBIQICQAJAAkAgBkEBaw4CAQACC0HVAiECCyAFIAI2AiALIAAgAUYE.fyAABQNAIAEoAgAQBSABQQRqIgEgAEcNAAsgBSgCGCEAIAUoAhQLIQEgBSAAIAAgAWtBfHFrNgIYIAUoAhAiAARAIAAQBQsgBUFAayQAIAchBgsgBgvJFgIQ.fwJ+AkAgASkDCCABKQMQIhRCBHxTDQAgACABKAIAIBSnaigAACIHNgIAIAEgASkDECIVQgR8IhQ3AxAgB0EgSw0AIAEpAwggFUIIfFMNACAAIAEoAgAgFKdq.KAAAIgc2AgQgASABKQMQQgR8NwMQIAdFBEBBAQ8LIAMgB0kNACAAQQA2AgggAEEQaiABEApFDQAgAEEkaiABEApFDQAgAEE4aiABEApFDQAgAEHMAGogARAK.RQ0AIAAoAgQhEiACIQgjAEFAaiIFJAAgACIEKAIMIQAgBUEANgIQIARB+ABqIAAgBUEQaiIBEA8gBCgCDCEAIAVBADYCECAEQYQBaiAAIAEQDyAEIAQoApAB.NgKUASAFQgA3AyAgBUIANwMYIAVCADcDECABEAsgBSgCFCAFKAIkIgIgBSgCIGoiAUHVAm4iAEECdGooAgAgASAAQdUCbGtBDGxqIgBCADcCBCAAIBI2AgBB.ASEHAkAgAkEBaiIBRQ0AIARBkAFqIRMDQCAFKAIUIgcgBSgCICIGIAFBAWsiA2oiAkHVAm4iAEECdGooAgAgAiAAQdUCbGtBDGxqIgAoAgghAiAAKAIEIQsg.ACgCACEMIAUgAzYCJCAFKAIYIgAgB2tBAnVB1QJsQQFrQQAgACAHRxsgASAGamtBAWpBqgVPBEAgAEEEaygCABAFIAUgBSgCGEEEazYCGAsgAiAORwRAIAIg.DksEQEEAIQcMAwsCQCAEKAKQASIGIAQoApQBIgFGDQADQCABQRBrIgAoAgAgAkkNASAEKAJ4IAFBDGsiAygCAEECdGogAUEEaygCADYCACAAKAIAIAJGDQEg.BCgChAEgAygCAEECdGogAUEIaygCADYCACAEIAA2ApQBIAAiASAGRw0ACwsgAiEOC0EAIQcgDCASSw0BIAtBAWpBACALIAQoAgwiAEEBa0cbIg8gAE8NAQJA.AkAgBCgCACIJIA9BAnQiECAEKAKEAWoiCigCACILRgRAIAxFDQEgCCgCECEGIAgoAhQhAANAIAAgBkYhAiAAIQFBACEDIAYhAAJAIAINAANAIAgoAhwhAiAG.IANBFGxqIgkoAgAiCi0AVEUEQCAKKAJEIAJBAnRqKAIAIQILIAEhACACIAooAlBPDQECfyAEKAJ4IAkoAgRBAnRqIgsgCSgCDCIAQQNLDQAaQQAhBiAIKAIM.IgEgCSgCEEUNABoDQCAABEAgASALIAZBAnRqIAD8CgAACyABIAkoAgwiAGohASAGQQFqIgYgCSgCEEkNAAsgCCgCDAshACAKKAIoIgEEQCAKKAIAKAIAIAEg.AmxqIAAgAfwKAAALIAgoAhQiASEAIANBAWoiAyABIAgoAhAiBmtBFG1JDQALCyAIIAgoAhxBAWo2AhwgBCAEKAIIQQFqNgIIIAwgB0EBaiIHRw0ACwwBCwJA.AkACQAJAIAxBAk0EQCAEKAJsIgMgDzYCAEEBIQEgBCgCDCIAQQFLDQEMBAsgBCgCCCAEKAIESw0HAkACQAJAIAxnQR9zIg1BICAEKAIgIgZrIgJMBEAgBCgC.HCIDIAQoAhRGDQIgAygCACAEIAYgDWoiADYCICAGdEEgIA1rdiECIABBIEcNASAEQQA2AiAgBCADQQRqNgIcDAELIAQoAhwiA0EEaiIAIAQoAhRGDQEgAygC.ACEBIAQgADYCHCAEIA0gAmsiADYCICADKAIEQSAgAGt2IAEgBnRBICANa3ZyIQILIAxBAXYiAyACSQ0JDAELIAxBAXYhA0EAIQILIAMgAmsiAiAMIAJrIgBG.BEAgAiEDDAMLIAQoAlgiDSAEKAJQRg0BIA0oAgAgBCAEKAJcIgNBAWoiATYCXEGAgICAeCADdnEhAwJAIAFBIEYEQCAEQQA2AlwgBCANQQRqNgJYIAMNAQwD.CyADRQ0CCyACIQMgACECDAILA0AgAyABQQJ0aiICIAJBBGsoAgAiAkEBakEAIAIgAEEBa0cbNgIAIAFBAWoiASAEKAIMIgBJDQALDAILIAAhAwsgDkF/Rg0E.QQEgCSALQX9zanQhASAFIA42AgAgBSAPNgIEIAUgCigCADYCCCAFIAQoAnggEGooAgA2AgwgBSAEKAKUASIGNgIsIAQoApgBIQAgBSATNgI4IAUgBTYCNCAF.IAVBLGo2AjAgBAJ/IAAgBksEQCAGIAUpAgg3AgggBiAFKQIANwIAIAZBEGoMAQsgBUEwahAYIAUoAiwLNgKUASAEKAKEASAQaiIAIAAoAgBBAWo2AgAgBCgC.eCAQaiIAIAAoAgAgAWo2AgAgAwRAIAUoAiQiByAFKAIgaiIGIAUoAhgiASAFKAIUIgBrQQJ1QdUCbEEBa0EAIAAgAUcbRgRAIAVBEGoQCyAFKAIkIgcgBSgC.IGohBiAFKAIUIQALIAAgBkHVAm4iAUECdGooAgAgBiABQdUCbGtBDGxqIgAgDjYCCCAAIA82AgQgACADNgIAIAUgB0EBajYCJAsgDkEBaiEOIAJFDQEgBSgC.JCIHIAUoAiBqIgYgBSgCGCIBIAUoAhQiAGtBAnVB1QJsQQFrQQAgACABRxtGBEAgBUEQahALIAUoAiQiByAFKAIgaiEGIAUoAhQhAAsgACAGQdUCbiIBQQJ0.aigCACAGIAFB1QJsa0EMbGoiACAONgIIIAAgDzYCBCAAIAI2AgAgBSAHQQFqIgE2AiQMAgsgDEUNAANAIAQoAgwEQCAEKAKEASELIAQoAmAhDyAEKAJsIQZB.ACEBA0AgDyAGIAFBAnRqIhAoAgBBAnRqQQA2AgACQCAEKAIAIgMgCyAQKAIAQQJ0IgJqKAIAIgBGDQAgAiAPaiENIAMgAGsiEUEgIAQoAjQiCWsiA0wEQCAE.KAIwIgIgBCgCKEYEQEEAIQcMCQsgDSACKAIAIAl0QSAgEWt2NgIAIAQgBCgCNCARaiIANgI0IABBIEcNASAEQQA2AjQgBCACQQRqNgIwDAELIAQoAjAiCkEE.aiIAIAQoAihGBEBBACEHDAgLIAooAgAhAiAEIAA2AjAgBCARIANrIgA2AjQgDSAKKAIEQSAgAGt2IAIgCXRBICARa3ZyNgIACyAPIBAoAgBBAnQiAmoiACAA.KAIAIAQoAnggAmooAgByNgIAIAFBAWoiASAEKAIMSQ0ACwtBACEDAkAgCCgCECIBIAgoAhRGDQADQCAIKAIcIQIgASADQRRsaiIJKAIAIgotAFRFBEAgCigC.RCACQQJ0aigCACECCyACIAooAlBPDQECfyAEKAJgIAkoAgRBAnRqIgsgCSgCDCIAQQNLDQAaQQAhBiAIKAIMIgEgCSgCEEUNABoDQCAABEAgASALIAZBAnRq.IAD8CgAACyABIAkoAgwiAGohASAGQQFqIgYgCSgCEEkNAAsgCCgCDAshACAKKAIoIgEEQCAKKAIAKAIAIAEgAmxqIAAgAfwKAAALIANBAWoiAyAIKAIUIAgo.AhAiAWtBFG1JDQALCyAIIAgoAhxBAWo2AhwgBCAEKAIIQQFqNgIIIAdBAWoiByAMRw0ACwsgBSgCJCEBCyABDQALQQEhBwsgBUEANgIkIAUoAhgiACAFKAIU.IgFrQQJ1IgZBA08EQANAIAEoAgAQBSAFIAUoAhRBBGoiATYCFCAFKAIYIgAgAWtBAnUiBkECSw0ACwtBqgEhAgJAAkACQCAGQQFrDgIBAAILQdUCIQILIAUg.AjYCIAsgACABRgR/IAAFA0AgASgCABAFIAFBBGoiASAARw0ACyAFKAIYIQAgBSgCFAshASAFIAAgACABa0F8cWs2AhggBSgCECIABEAgABAFCyAFQUBrJAAg.ByEGCyAGCzcBAn8gAEHk9gA2AgAgACgCBCICQQRrIgEgASgCAEEBayIBNgIAIAFBAEgEQCACQQxrEAULIAAL3QEBCH8CQCAAKAIIIgMoAgQgAygCACIFayIE.QQJ1IgZBAWoiAUGAgICABEkEQEH/////AyADKAIIIAVrIgJBAXUiByABIAEgB0kbIAJB/P///wdPGyICQYCAgIAETw0BIAAoAgQhASACQQJ0IgcQBiECIAEo.AgAhCCABQQA2AgAgAiAEaiIBIAg2AgAgASAGQQJ0ayEGIAQEQCAGIAUgBPwKAAALIAMgAiAHajYCCCADIAFBBGoiBDYCBCADIAY2AgAgBQRAIAUQBQsgACgC.ACAENgIADwsQBwALEA4AC9cCAgl9An8CQCACKAIcQQlHDQAgAi0AGEEDRw0AIAAoAgQiAEECa0EcSw0AQQEhDCACKAJQIg1FDQBDAAAAQEEBIAB0QQJrs5Uh.CCACKAIAKAIAIAIoAjBqIQIgASgCACgCACABKAIwaiEAQQAhAQNAQwAAAAAhA0MAAAAAIQlDAAAAACEKIAAoAgSyIAiUQwAAgL+SIgRDAAAAAEMAAIA/IAAo.AgCyIAiUQwAAgL+SIgWLkyAEi5MiBowgBkMAAAAAXhsiByAHjCILIARDAAAAAF0bkiIEIASUIAYgBpQgBSAHIAsgBUMAAAAAXRuSIgUgBZSSkiIHu0SN7bWg.98awPmNFBEAgBEMAAIA/IAeRlSIDlCEKIAUgA5QhCSAGIAOUIQMLIABBCGohACACIAo4AAggAiAJOAAEIAIgAzgAACACQQxqIQIgAUEBaiIBIA1HDQALCyAM.C5oBACAAQQE6ADUCQCACIAAoAgRHDQAgAEEBOgA0AkAgACgCECICRQRAIABBATYCJCAAIAM2AhggACABNgIQIANBAUcNAiAAKAIwQQFGDQEMAgsgASACRgRA.IAAoAhgiAkECRgRAIAAgAzYCGCADIQILIAAoAjBBAUcNAiACQQFGDQEMAgsgACAAKAIkQQFqNgIkCyAAQQE6ADYLC3YBAX8gACgCJCIDRQRAIAAgAjYCGCAA.IAE2AhAgAEEBNgIkIAAgACgCODYCFA8LAkACQCAAKAIUIAAoAjhHDQAgACgCECABRw0AIAAoAhhBAkcNASAAIAI2AhgPCyAAQQE6ADYgAEECNgIYIAAgA0EB.ajYCJAsLAgALsgEBAX8jAEEgayIHJAAgB0EUaiAAIAEgAmoQswEQeCAAKAIAIAAgACwAC0EASBshAgJAIAVFIgENACABDQAgBygCFCAGIAX8CgAACyADIARr.IQECQCADIARGDQAgAUUNACAHKAIUIAVqIAIgBGogAfwKAAALIAcgASAFaiIBNgIYIAcoAhQgAWpBADoAACAHIAcoAhw2AhAgByAHKQIUNwMIIAAgB0EIahC1.ASAHQSBqJAALUQECfyAAQeT2ADYCACABEBkiA0ENahAGIgJBADYCCCACIAM2AgQgAiADNgIAIAJBDGohAiADQQFqIgMEQCACIAEgA/wKAAALIAAgAjYCBCAA.C0wBAX8gAUH3////B08EQBA8AAtB9v///wcgAUEKIAAoAghB/////wdxQQFrIAAsAAtBAE4bIgBBAXQiAiABIAJLGyAAQfP///8DSxsLXgEBfyMAQRBrIgIk.ACABQff///8HSQRAAkAgAUEKTQRAIAAgAToACwwBCyACQQRqIAEQeCAAIAIoAgw2AgggACACKQIENwIAIAAoAgAhAAsgAkEQaiQAIAAPCxA8AAsuACAALAAL.QQBIBEAgACgCCBogACgCABAFCyAAIAEoAgg2AgggACABKQIANwIAC2gBA38jAEEQayIDJAAgA0EAOgAOIAEgAGtBAnUhASACKAIAIQQDQCABBEAgASABQQF2.IgJBf3NqIAIgACACQQJ0aiICKAIAIARJIgUbIQEgAkEEaiAAIAUbIQAMAQsLIANBEGokACAAC+IMAQl/IwBBEGsiBCQAIAQgADYCDAJAIABB0wFNBEBBkO8A.QdDwACAEQQxqELYBKAIAIQAMAQsgAEF8TwRAEL0BAAsgBCAAIABB0gFuIgZB0gFsIgBrNgIIQdDwAEGQ8gAgBEEIahC2ASIBKAIAIABqIQAgAUHQ8ABrQQJ1.IQcDQEEFIQMgBSEBAkACQANAIAEhBSADQS9GBEBB0wEhAwNAIAAgA24iASADSQ0GIAAgASADbEYNAyAAIANBCmoiAW4iAiABSQ0GIAAgASACbEYNAyAAIANB.DGoiAW4iAiABSQ0GIAAgASACbEYNAyAAIANBEGoiAW4iAiABSQ0GIAAgASACbEYNAyAAIANBEmoiAW4iAiABSQ0GIAAgASACbEYNAyAAIANBFmoiAW4iAiAB.SQ0GIAAgASACbEYNAyAAIANBHGoiAW4iAiABSQ0GIAAgASACbEYNAyAAIANBHmoiAW4iAiABSQ0GIAAgASACbEYNAyAAIANBJGoiAW4iAiABSQ0GIAAgASAC.bEYNAyAAIANBKGoiAW4iAiABSQ0GIAAgASACbEYNAyAAIANBKmoiAW4iAiABSQ0GIAAgASACbEYNAyAAIANBLmoiAW4iAiABSQ0GIAAgASACbEYNAyAAIANB.NGoiAW4iAiABSQ0GIAAgASACbEYNAyAAIANBOmoiAW4iAiABSQ0GIAAgASACbEYNAyAAIANBPGoiAW4iAiABSQ0GIAAgASACbEYNAyAAIANBwgBqIgFuIgIg.AUkNBiAAIAEgAmxGDQMgACADQcYAaiIBbiICIAFJDQYgACABIAJsRg0DIAAgA0HIAGoiAW4iAiABSQ0GIAAgASACbEYNAyAAIANBzgBqIgFuIgIgAUkNBiAA.IAEgAmxGDQMgACADQdIAaiIBbiICIAFJDQYgACABIAJsRg0DIAAgA0HYAGoiAW4iAiABSQ0GIAAgASACbEYNAyAAIANB4ABqIgFuIgIgAUkNBiAAIAEgAmxG.DQMgACADQeQAaiIBbiICIAFJDQYgACABIAJsRg0DIAAgA0HmAGoiAW4iAiABSQ0GIAAgASACbEYNAyAAIANB6gBqIgFuIgIgAUkNBiAAIAEgAmxGDQMgACAD.QewAaiIBbiICIAFJDQYgACABIAJsRg0DIAAgA0HwAGoiAW4iAiABSQ0GIAAgASACbEYNAyAAIANB+ABqIgFuIgIgAUkNBiAAIAEgAmxGDQMgACADQf4AaiIB.biICIAFJDQYgACABIAJsRg0DIAAgA0GCAWoiAW4iAiABSQ0GIAAgASACbEYNAyAAIANBiAFqIgFuIgIgAUkNBiAAIAEgAmxGDQMgACADQYoBaiIBbiICIAFJ.DQYgACABIAJsRg0DIAAgA0GOAWoiAW4iAiABSQ0GIAAgASACbEYNAyAAIANBlAFqIgFuIgIgAUkNBiAAIAEgAmxGDQMgACADQZYBaiIBbiICIAFJDQYgACAB.IAJsRg0DIAAgA0GcAWoiAW4iAiABSQ0GIAAgASACbEYNAyAAIANBogFqIgFuIgIgAUkNBiAAIAEgAmxGDQMgACADQaYBaiIBbiICIAFJDQYgACABIAJsRg0D.IAAgA0GoAWoiAW4iAiABSQ0GIAAgASACbEYNAyAAIANBrAFqIgFuIgIgAUkNBiAAIAEgAmxGDQMgACADQbIBaiIBbiICIAFJDQYgACABIAJsRg0DIAAgA0G0.AWoiAW4iAiABSQ0GIAAgASACbEYNAyAAIANBugFqIgFuIgIgAUkNBiAAIAEgAmxGDQMgACADQb4BaiIBbiICIAFJDQYgACABIAJsRg0DIAAgA0HAAWoiAW4i.AiABSQ0GIAAgASACbEYNAyAAIANBxAFqIgFuIgIgAUkNBiAAIAEgAmxGDQMgACADQcYBaiIBbiICIAFJDQYgACABIAJsRg0DIAAgA0HQAWoiAW4iAiABSQ0G.IANB0gFqIQMgACABIAJsRw0ACwwCCyAAIANBAnQoApBvIgFuIgIgAU8hCCABIAJsIQkgASACSyICRQRAIAUgACAIGyEBIANBAWohAyAAIAlHDQELCyAAIAlH.DQEgAg0BC0EAIAdBAWoiACAAQTBGIgAbIgdBAnQoAtBwIAAgBmoiBkHSAWxqIQAMAQsLIAUgACAIGyEACyAEQRBqJAAgAAuZAgAgAEUEQEEADwsCfwJAIAAE.fyABQf8ATQ0BAkBBsPoAKAIAKAIARQRAIAFBgH9xQYC/A0YNAwwBCyABQf8PTQRAIAAgAUE/cUGAAXI6AAEgACABQQZ2QcABcjoAAEECDAQLIAFBgEBxQYDA.A0cgAUGAsANPcUUEQCAAIAFBP3FBgAFyOgACIAAgAUEMdkHgAXI6AAAgACABQQZ2QT9xQYABcjoAAUEDDAQLIAFBgIAEa0H//z9NBEAgACABQT9xQYABcjoA.AyAAIAFBEnZB8AFyOgAAIAAgAUEGdkE/cUGAAXI6AAIgACABQQx2QT9xQYABcjoAAUEEDAQLC0GA+wBBGTYCAEF/BUEBCwwBCyAAIAE6AABBAQsLtAIAAkAC.QAJAAkACQAJAAkACQAJAAkACQCABQQlrDhIACAkKCAkBAgMECgkKCggJBQYHCyACIAIoAgAiAUEEajYCACAAIAEoAgA2AgAPCyACIAIoAgAiAUEEajYCACAA.IAEyAQA3AwAPCyACIAIoAgAiAUEEajYCACAAIAEzAQA3AwAPCyACIAIoAgAiAUEEajYCACAAIAEwAAA3AwAPCyACIAIoAgAiAUEEajYCACAAIAExAAA3AwAP.CyACIAIoAgBBB2pBeHEiAUEIajYCACAAIAErAwA5AwAPCwALDwsgAiACKAIAIgFBBGo2AgAgACABNAIANwMADwsgAiACKAIAIgFBBGo2AgAgACABNQIANwMA.DwsgAiACKAIAQQdqQXhxIgFBCGo2AgAgACABKQMANwMACwQAQQELbwEFfyAAKAIAIgMsAABBMGsiAUEJSwRAQQAPCwNAQX8hBCACQcyZs+YATQRAQX8gASAC.QQpsIgVqIAEgBUH/////B3NLGyEECyAAIANBAWoiBTYCACADLAABIAQhAiAFIQNBMGsiAUEKSQ0ACyACC5MVAhJ/A34jAEFAaiIGJAAgBiABNgI8IAZBKWoh.FCAGQSdqIRUgBkEoaiEQAkACQAJAAkADQEEAIQEDQCABIAtB/////wdzSg0CIAEgC2ohCyAGKAI8IgohAQJAAkACQAJAIAotAAAiBwRAA0ACQAJAIAdB/wFx.IgVFBEAgASEIDAELIAVBJUcNASABIQcDQCAHLQABQSVHBEAgByEIDAILIAFBAWohASAHLQACIAdBAmoiCCEHQSVGDQALCyAGIAg2AjwgASAKayIBIAtB////./wdzIhZKDQkgAARAIAAgCiABED4LIAENByAIQQFqIQFBfyEPAkAgCCwAAUEwayIFQQlLDQAgCC0AAkEkRw0AIAhBA2ohAUEBIREgBSEPCyAGIAE2AjxBACEM.AkAgASwAACIHQSBrIghBH0sEQCABIQUMAQsgASEFQQEgCHQiCEGJ0QRxRQ0AA0AgBiABQQFqIgU2AjwgCCAMciEMIAEsAAEiB0EgayIIQSBPDQEgBSEBQQEg.CHQiCEGJ0QRxDQALCwJAIAdBKkYEQAJ/AkAgBSwAAUEwayIBQQlLDQAgBS0AAkEkRw0AAn8gAEUEQCAEIAFBAnRqQQo2AgBBAAwBCyADIAFBA3RqKAIACyEN.IAVBA2ohAUEBDAELIBENBiAFQQFqIQEgAEUEQCAGIAE2AjxBACERQQAhDQwDCyACIAIoAgAiBUEEajYCACAFKAIAIQ1BAAshESAGIAE2AjwgDUEATg0BQQAg.DWshDSAMQYDAAHIhDAwBCyAGQTxqELsBIg1BAEgNCiAGKAI8IQELQQAhBUF/IQkCf0EAIAEtAABBLkcNABogAS0AAUEqRgRAAn8CQCABLAACQTBrIgdBCUsN.ACABLQADQSRHDQAgAUEEaiEBAn8gAEUEQCAEIAdBAnRqQQo2AgBBAAwBCyADIAdBA3RqKAIACwwBCyARDQYgAUECaiEBQQAgAEUNABogAiACKAIAIgdBBGo2.AgAgBygCAAshCSAGIAE2AjwgCUEATgwBCyAGIAFBAWo2AjwgBkE8ahC7ASEJIAYoAjwhAUEBCyESA0AgBSEOQRwhCCABIhMsAAAiBUH7AGtBRkkNCyABQQFq.IQEgDkE6bCAFakHv6gBqLQAAIgVBAWtB/wFxQQhJDQALIAYgATYCPAJAIAVBG0cEQCAFRQ0MIA9BAE4EQCAARQRAIAQgD0ECdGogBTYCAAwMCyAGIAMgD0ED.dGopAwA3AzAMAgsgAEUNCCAGQTBqIAUgAhC5AQwBCyAPQQBODQtBACEBIABFDQgLIAAtAABBIHENCyAMQf//e3EiByAMIAxBgMAAcRshBUEAIQxB6wghDyAQ.IQgCQAJAAn8CQAJAAkACQAJAAkACfwJAAkACQAJAAkACQAJAIBMtAAAiE8AiAUFTcSABIBNBD3FBA0YbIAEgDhsiAUHYAGsOIQQWFhYWFhYWFhAWCQYQEBAW.BhYWFhYCBQMWFgoWARYWBAALAkAgAUHBAGsOBxAWCxYQEBAACyABQdMARg0LDBULIAYpAzAhGEHrCAwFC0EAIQECQAJAAkACQAJAAkACQCAODggAAQIDBBwF.BhwLIAYoAjAgCzYCAAwbCyAGKAIwIAs2AgAMGgsgBigCMCALrDcDAAwZCyAGKAIwIAs7AQAMGAsgBigCMCALOgAADBcLIAYoAjAgCzYCAAwWCyAGKAIwIAus.NwMADBULQQggCSAJQQhNGyEJIAVBCHIhBUH4ACEBCyAQIQcgBikDMCIYIhdCAFIEQCABQSBxIQoDQCAHQQFrIgcgF6dBD3EtAIBvIApyOgAAIBdCBIgiF0IA.Ug0ACwsgByEKIBhQDQMgBUEIcUUNAyABQQR2QesIaiEPQQIhDAwDCyAQIQEgBikDMCIYIhdCAFIEQANAIAFBAWsiASAXp0EHcUEwcjoAACAXQgOIIhdCAFIN.AAsLIAEhCiAFQQhxRQ0CIAkgFCABayIBIAEgCUgbIQkMAgsgBikDMCIYQgBTBEAgBkIAIBh9Ihg3AzBBASEMQesIDAELIAVBgBBxBEBBASEMQewIDAELQe0I.QesIIAVBAXEiDBsLIQ8gECEBIBgiF0KAgICAEFoEQANAIAFBAWsiASAXIhkgF0IKgCIXQgp+fadBMHI6AAAgGUL/////nwFWDQALCyAXpyEHIBdCCloEQANA.IAFBAWsiASAHIgogB0EKbiIHQQpsa0EwcjoAACAKQeMASw0ACwsgBwRAIAFBAWsiASAHQTByOgAACyABIQoLIBIgCUEASHENESAFQf//e3EgBSASGyEFAkAg.GEIAUg0AIAkNACAQIQpBACEJDA4LIAkgGFAgECAKa2oiASABIAlIGyEJDA0LIAYtADAhAQwLCwJ/Qf////8HIAkgCUH/////B08bIg4iBUEARyEIAkACQAJA.IAYoAjAiAUGBDSABGyIKIgFBA3FFDQAgBUUNAANAIAEtAABFDQIgBUEBayIFQQBHIQggAUEBaiIBQQNxRQ0BIAUNAAsLIAhFDQECQCABLQAARQ0AIAVBBEkN.AANAQYCChAggASgCACIIayAIckGAgYKEeHFBgIGChHhHDQIgAUEEaiEBIAVBBGsiBUEDSw0ACwsgBUUNAQsDQCABIAEtAABFDQIaIAFBAWohASAFQQFrIgUN.AAsLQQALIgEgCmsgDiABGyIBIApqIQggCUEATgRAIAchBSABIQkMDAsgByEFIAEhCSAILQAADQ8MCwsgBikDMCIXQgBSDQFBACEBDAkLIAkEQCAGKAIwDAIL.QQAhASAAQSAgDUEAIAUQLwwCCyAGQQA2AgwgBiAXPgIIIAYgBkEIaiIBNgIwQX8hCSABCyEHQQAhAQNAAkAgBygCACIKRQ0AIAZBBGogChC4ASIKQQBIDQ8g.CiAJIAFrSw0AIAdBBGohByABIApqIgEgCUkNAQsLQT0hCCABQQBIDQwgAEEgIA0gASAFEC8gAUUEQEEAIQEMAQtBACEIIAYoAjAhBwNAIAcoAgAiCkUNASAG.QQRqIgkgChC4ASIKIAhqIgggAUsNASAAIAkgChA+IAdBBGohByABIAhLDQALCyAAQSAgDSABIAVBgMAAcxAvIA0gASABIA1IGyEBDAgLIBIgCUEASHENCUE9.IQggBisDMAALIAEtAAEhByABQQFqIQEMAAsACyAADQkgEUUNA0EBIQEDQCAEIAFBAnRqKAIAIgAEQCADIAFBA3RqIAAgAhC5AUEBIQsgAUEBaiIBQQpHDQEM.CwsLIAFBCk8EQEEBIQsMCgsDQCAEIAFBAnRqKAIADQFBASELIAFBAWoiAUEKRw0ACwwJC0EcIQgMBgsgBiABOgAnQQEhCSAVIQogByEFCyAJIAggCmsiDiAJ.IA5KGyIJIAxB/////wdzSg0DQT0hCCANIAkgDGoiByAHIA1IGyIBIBZLDQQgAEEgIAEgByAFEC8gACAPIAwQPiAAQTAgASAHIAVBgIAEcxAvIABBMCAJIA5B.ABAvIAAgCiAOED4gAEEgIAEgByAFQYDAAHMQLwwBCwsLQQAhCwwDC0E9IQgLQYD7ACAINgIAC0F/IQsLIAZBQGskACALCwUAEAQAC9gCAQN/IwBBEGsiBCQA.IAQgATYCDCMAQdABayICJAAgAiABNgLMASACQaABaiIBQQBBKPwLACACIAIoAswBNgLIAUEAIAAgAkHIAWogAkHQAGogARC8AUEASAR/QX8FQaD5AEGg+QAo.AgAiAUFfcTYCAAJ/AkACQEHQ+QAoAgBFBEBB0PkAQdAANgIAQbz5AEEANgIAQbD5AEIANwMAQcz5ACgCACEDQcz5ACACNgIADAELQbD5ACgCAA0BC0F/QaD5.ABDBAQ0BGgtBoPkAIAAgAkHIAWogAkHQAGogAkGgAWoQvAELIQAgAwR/QaD5AEEAQQBBxPkAKAIAEQMAGkHQ+QBBADYCAEHM+QAgAzYCAEG8+QBBADYCAEG0.+QAoAgAaQbD5AEIANwMAQQAFIAALGkGg+QBBoPkAKAIAIAFBIHFyNgIAQQALGiACQdABaiQAIARBEGokAAsaACABIAAgASACEMABIgBGBEAPCyAAIAFuGgvJ.AQEDfwJAIAIoAhAiAwR/IAMFIAIQwQENASACKAIQCyACKAIUIgRrIAFJBEAgAiAAIAEgAigCJBEDAA8LAkACQCACKAJQQQBIDQAgAUUNACABIQMDQCAAIANq.IgVBAWstAABBCkcEQCADQQFrIgMNAQwCCwsgAiAAIAMgAigCJBEDACIEIANJDQIgASADayEBIAIoAhQhBAwBCyAAIQVBACEDCyABBEAgBCAFIAH8CgAACyAC.IAIoAhQgAWo2AhQgASADaiEECyAEC1kBAX8gACAAKAJIIgFBAWsgAXI2AkggACgCACIBQQhxBEAgACABQSByNgIAQX8PCyAAQgA3AgQgACAAKAIsIgE2Ahwg.ACABNgIUIAAgASAAKAIwajYCEEEAC+SNAQIWfwJ+IwBBoAVrIhQkAAJAIAEpAwggASkDECIZQgR8Uw0AIAAgASgCACAZp2ooAAAiBTYCACABIAEpAxAiGUIE.fCIaNwMQIAVBH0sNACABKQMIIBlCCHxTDQAgACABKAIAIBqnaigAADYCBCABIAEpAxAiGUIEfCIaNwMQIAEpAwggGUIIfFMNACAAIAEoAgAgGqdqKAAAIgY2.AgwgASABKQMQIhlCBHwiGjcDECAAKAIUIgVBACAFIAZHGw0AIAEpAwggGUIIfFMNACAAIAEoAgAgGqdqKAAAIgU2AhAgASABKQMQQgR8NwMQIAVBB08EQCAU.IAU2AgBB5A0gFBC+AQwBCyAUIAI2ApwFAkAgBkUNAAJAIAYgAigCCCACKAIAIgVrQQxtTQ0AIAZB1qrVqgFJBEAgAigCBCERIAZBDGwiBhAGIgQgBmohAyAE.IBEgBWsiBmoiByAGQXRtQQxsaiEKIAUgEUcEQCAFIQYgCiEEA0AgBCAGKAIANgIAIAQgBigCBDYCBCAEIAYoAgg2AgggBEEMaiEEIAZBDGoiBiARRw0ACwsg.AiADNgIIIAIgBzYCBCACIAo2AgAgBUUNASAFEAUMAQsQBwALAkACQAJAAkACQAJAAkAgACgCEA4HAAECAwQFBggLIBRBBGpBAxA5IQQgFEGcBWohEQJAIAEp.AwggASkDECIZQgR8Uw0AIAQgASgCACAZp2ooAAAiBTYCACABIAEpAxAiGUIEfCIaNwMQIAVBIEsNACABKQMIIBlCCHxTDQAgBCABKAIAIBqnaigAACIFNgIE.IAEgASkDEEIEfDcDECAFRQ0AIARBADYCCCAEQRBqIAEQCkUNACAEQSRqIAEQCkUNACAEQThqIAEQCkUNACAEQcwAaiABEApFDQAgBCgCBCENQQAhCiMAQUBq.IgMkACAEKAIMIQEgA0EANgIQIARB+ABqIAEgA0EQaiIBEA8gBCgCDCEFIANBADYCECAEQYQBaiAFIAEQDyAEIAQoApABNgKUASADQgA3AyAgA0IANwMYIANC.ADcDECABEAsgAygCFCADKAIkIgEgAygCIGoiBUHVAm4iBkECdGooAgAgBSAGQdUCbGtBDGxqIgVCADcCBCAFIA02AgACQCABQQFqIgFFDQAgBEGQAWohFgNA.IAMoAhQiBiADKAIgIgwgAUEBayILaiIFQdUCbiIHQQJ0aigCACAFIAdB1QJsa0EMbGoiBygCCCEFIAcoAgQhCSAHKAIAIQggAyALNgIkIAMoAhgiByAGa0EC.dUHVAmxBAWtBACAGIAdHGyABIAxqa0EBakGqBU8EQCAHQQRrKAIAEAUgAyADKAIYQQRrNgIYCyAFIApHBEAgBSAKSw0CAkAgBCgCkAEiCiAEKAKUASIBRg0A.A0AgAUEQayIGKAIAIAVJDQEgBCgCeCABQQxrIgcoAgBBAnRqIAFBBGsoAgA2AgAgBigCACAFRg0BIAQoAoQBIAcoAgBBAnRqIAFBCGsoAgA2AgAgBCAGNgKU.ASAGIgEgCkcNAAsLIAUhCgtBACEGIAggDUsNASAJQQFqQQAgCSAEKAIMIgFBAWtHGyIJIAFPDQECQAJAIAQoAgAiDCAJQQJ0IgcgBCgChAFqIgsoAgAiDkYE.QCAIRQ0BA0AgAyAEKAJ4IgEoAgAiBzYCMCADIAEoAgQiCTYCNCADIAEoAggiDDYCOCADIBEoAgAiBSgCBCIBNgIsIAUoAgghCyADIAU2AgggAyADQTBqNgIE.IAMgA0EsajYCACAFAn8gASALSQRAIAEgDDYCCCABIAk2AgQgASAHNgIAIAFBDGoMAQsgAxAUIAMoAiwLNgIEIAQgBCgCCEEBajYCCCAIIAZBAWoiBkcNAAsM.AQsCQAJAAkACQCAIQQJNBEAgBCgCbCIFIAk2AgBBASEBIAQoAgwiB0EBSw0BDAQLIAQoAgggBCgCBEsNBwJAAkACQCAIZ0EfcyIBQSAgBCgCICIFayIQTARA.IAQoAhwiBiAEKAIURg0CIAYoAgAgBCABIAVqIg82AiAgBXRBICABa3YhBSAPQSBHDQEgBEEANgIgIAQgBkEEajYCHAwBCyAEKAIcIgZBBGoiDyAEKAIURg0B.IAYoAgAhEiAEIA82AhwgBCABIBBrIhA2AiAgBigCBEEgIBBrdiASIAV0QSAgAWt2ciEFCyAIQQF2IgEgBUkNCQwBCyAIQQF2IQFBACEFCyABIAVrIgUgCCAF.ayIGRgRAIAUhAQwDCyAEKAJYIgEgBCgCUEYNASABKAIAIAQgBCgCXCIQQQFqIg82AlxBgICAgHggEHZxIQgCQCAPQSBGBEAgBEEANgJcIAQgAUEEajYCWCAI.DQEMAwsgCEUNAgsgBSEBIAYhBQwCCwNAIAUgAUECdGoiBiAGQQRrKAIAIgZBAWpBACAGIAdBAWtHGzYCACABQQFqIgEgBCgCDCIHSQ0ACwwCCyAGIQELIApB.f0YNBEEBIAwgDkF/c2p0IQggAyAKNgIAIAMgCTYCBCADIAsoAgA2AgggAyAEKAJ4IAdqKAIANgIMIAMgBCgClAEiBjYCLCAEKAKYASEMIAMgFjYCOCADIAM2.AjQgAyADQSxqNgIwIAQCfyAGIAxJBEAgBiADKQIINwIIIAYgAykCADcCACAGQRBqDAELIANBMGoQGCADKAIsCzYClAEgBCgChAEgB2oiBiAGKAIAQQFqNgIA.IAQoAnggB2oiBiAGKAIAIAhqNgIAIAEEQCADKAIkIgggAygCIGoiBiADKAIYIgwgAygCFCIHa0ECdUHVAmxBAWtBACAHIAxHG0YEQCADQRBqEAsgAygCFCEH.IAMoAiQiCCADKAIgaiEGCyAHIAZB1QJuIgxBAnRqKAIAIAYgDEHVAmxrQQxsaiIGIAo2AgggBiAJNgIEIAYgATYCACADIAhBAWo2AiQLIApBAWohCiAFRQ0B.IAMoAiQiCCADKAIgaiIGIAMoAhgiASADKAIUIgdrQQJ1QdUCbEEBa0EAIAEgB0cbRgRAIANBEGoQCyADKAIUIQcgAygCJCIIIAMoAiBqIQYLIAcgBkHVAm4i.AUECdGooAgAgBiABQdUCbGtBDGxqIgEgCjYCCCABIAk2AgQgASAFNgIAIAMgCEEBaiIBNgIkDAILQQAhBiAIRQ0AA0AgBCgCDARAIAQoAoQBIRAgBCgCYCEH.IAQoAmwhD0EAIQEDQCAHIA8gAUECdGoiCSgCAEECdGpBADYCAAJAIAQoAgAiBSAQIAkoAgBBAnQiDGooAgAiC0YNACAHIAxqIQwgBSALayIFQSAgBCgCNCIL.ayISTARAIAQoAjAiDiAEKAIoRg0IIAwgDigCACALdEEgIAVrdjYCACAEIAQoAjQgBWoiBTYCNCAFQSBHDQEgBEEANgI0IAQgDkEEajYCMAwBCyAEKAIwIg5B.BGoiEyAEKAIoRg0HIA4oAgAhFSAEIBM2AjAgBCAFIBJrIhI2AjQgDCAOKAIEQSAgEmt2IBUgC3RBICAFa3ZyNgIACyAHIAkoAgBBAnQiBWoiCSAJKAIAIAQo.AnggBWooAgByNgIAIAFBAWoiASAEKAIMSQ0ACwsgAyAEKAJgIgEoAgAiBzYCMCADIAEoAgQiCTYCNCADIAEoAggiDDYCOCADIBEoAgAiBSgCBCIBNgIsIAUo.AgghCyADIAU2AgggAyADQTBqNgIEIAMgA0EsajYCACAFAn8gASALSQRAIAEgDDYCCCABIAk2AgQgASAHNgIAIAFBDGoMAQsgAxAUIAMoAiwLNgIEIAQgBCgC.CEEBajYCCCAGQQFqIgYgCEcNAAsLIAMoAiQhAQsgAQ0ACwsgA0EANgIkIAMoAhgiASADKAIUIgVrQQJ1IgdBA08EQANAIAUoAgAQBSADIAMoAhRBBGoiBTYC.FCADKAIYIgEgBWtBAnUiB0ECSw0ACwtBqgEhCAJAAkACQCAHQQFrDgIBAAILQdUCIQgLIAMgCDYCIAsgASAFRgR/IAEFA0AgBSgCABAFIAVBBGoiBSABRw0A.CyADKAIYIQEgAygCFAshBSADIAEgASAFa0F8cWs2AhggAygCECIBBEAgARAFCyADQUBrJAALIAQQOgwGCyAUQQRqQQMQOSEEIBRBnAVqIRECQCABKQMIIAEp.AxAiGUIEfFMNACAEIAEoAgAgGadqKAAAIgU2AgAgASABKQMQIhlCBHwiGjcDECAFQSBLDQAgASkDCCAZQgh8Uw0AIAQgASgCACAap2ooAAAiBTYCBCABIAEp.AxBCBHw3AxAgBUUNACAEQQA2AgggBEEQaiABEApFDQAgBEEkaiABEApFDQAgBEE4aiABEApFDQAgBEHMAGogARAKRQ0AIAQoAgQhDUEAIQojAEFAaiIDJAAg.BCgCDCEBIANBADYCECAEQfgAaiABIANBEGoiARAPIAQoAgwhBSADQQA2AhAgBEGEAWogBSABEA8gBCAEKAKQATYClAEgA0IANwMgIANCADcDGCADQgA3AxAg.ARALIAMoAhQgAygCJCIBIAMoAiBqIgVB1QJuIgZBAnRqKAIAIAUgBkHVAmxrQQxsaiIFQgA3AgQgBSANNgIAAkAgAUEBaiIBRQ0AIARBkAFqIRYDQCADKAIU.IgYgAygCICIMIAFBAWsiC2oiBUHVAm4iB0ECdGooAgAgBSAHQdUCbGtBDGxqIgcoAgghBSAHKAIEIQkgBygCACEIIAMgCzYCJCADKAIYIgcgBmtBAnVB1QJs.QQFrQQAgBiAHRxsgASAMamtBAWpBqgVPBEAgB0EEaygCABAFIAMgAygCGEEEazYCGAsgBSAKRwRAIAUgCksNAgJAIAQoApABIgogBCgClAEiAUYNAANAIAFB.EGsiBigCACAFSQ0BIAQoAnggAUEMayIHKAIAQQJ0aiABQQRrKAIANgIAIAYoAgAgBUYNASAEKAKEASAHKAIAQQJ0aiABQQhrKAIANgIAIAQgBjYClAEgBiIB.IApHDQALCyAFIQoLIAggDUsNAUEAIQYgCUEBakEAIAkgBCgCDCIBQQFrRxsiCSABTw0BAkACQCAEKAIAIgwgCUECdCIHIAQoAoQBaiILKAIAIg5GBEAgCEUN.AQNAIAMgBCgCeCIBKAIAIgc2AjAgAyABKAIEIgk2AjQgAyABKAIIIgw2AjggAyARKAIAIgUoAgQiATYCLCAFKAIIIQsgAyAFNgIIIAMgA0EwajYCBCADIANB.LGo2AgAgBQJ/IAEgC0kEQCABIAw2AgggASAJNgIEIAEgBzYCACABQQxqDAELIAMQFCADKAIsCzYCBCAEIAQoAghBAWo2AgggCCAGQQFqIgZHDQALDAELAkAC.QAJAAkAgCEECTQRAIAQoAmwiBSAJNgIAQQEhASAEKAIMIgdBAUsNAQwECyAEKAIIIAQoAgRLDQcCQAJAAkAgCGdBH3MiAUEgIAQoAiAiBWsiEEwEQCAEKAIc.IgYgBCgCFEYNAiAGKAIAIAQgASAFaiIPNgIgIAV0QSAgAWt2IQUgD0EgRw0BIARBADYCICAEIAZBBGo2AhwMAQsgBCgCHCIGQQRqIg8gBCgCFEYNASAGKAIA.IRIgBCAPNgIcIAQgASAQayIQNgIgIAYoAgRBICAQa3YgEiAFdEEgIAFrdnIhBQsgCEEBdiIBIAVJDQkMAQsgCEEBdiEBQQAhBQsgASAFayIFIAggBWsiBkYE.QCAFIQEMAwsgBCgCWCIBIAQoAlBGDQEgASgCACAEIAQoAlwiEEEBaiIPNgJcQYCAgIB4IBB2cSEIAkAgD0EgRgRAIARBADYCXCAEIAFBBGo2AlggCA0BDAML.IAhFDQILIAUhASAGIQUMAgsDQCAFIAFBAnRqIgYgBkEEaygCACIGQQFqQQAgBiAHQQFrRxs2AgAgAUEBaiIBIAQoAgwiB0kNAAsMAgsgBiEBCyAKQX9GDQRB.ASAMIA5Bf3NqdCEIIAMgCjYCACADIAk2AgQgAyALKAIANgIIIAMgBCgCeCAHaigCADYCDCADIAQoApQBIgY2AiwgBCgCmAEhDCADIBY2AjggAyADNgI0IAMg.A0EsajYCMCAEAn8gBiAMSQRAIAYgAykCCDcCCCAGIAMpAgA3AgAgBkEQagwBCyADQTBqEBggAygCLAs2ApQBIAQoAoQBIAdqIgYgBigCAEEBajYCACAEKAJ4.IAdqIgYgBigCACAIajYCACABBEAgAygCJCIIIAMoAiBqIgYgAygCGCIMIAMoAhQiB2tBAnVB1QJsQQFrQQAgByAMRxtGBEAgA0EQahALIAMoAhQhByADKAIk.IgggAygCIGohBgsgByAGQdUCbiIMQQJ0aigCACAGIAxB1QJsa0EMbGoiBiAKNgIIIAYgCTYCBCAGIAE2AgAgAyAIQQFqNgIkCyAKQQFqIQogBUUNASADKAIk.IgggAygCIGoiBiADKAIYIgEgAygCFCIHa0ECdUHVAmxBAWtBACABIAdHG0YEQCADQRBqEAsgAygCFCEHIAMoAiQiCCADKAIgaiEGCyAHIAZB1QJuIgFBAnRq.KAIAIAYgAUHVAmxrQQxsaiIBIAo2AgggASAJNgIEIAEgBTYCACADIAhBAWoiATYCJAwCC0EAIQYgCEUNAANAIAQoAgwEQCAEKAKEASEQIAQoAmAhByAEKAJs.IQ9BACEBA0AgByAPIAFBAnRqIgkoAgBBAnRqQQA2AgACQCAEKAIAIgUgECAJKAIAQQJ0IgxqKAIAIgtGDQAgByAMaiEMIAUgC2siBUEgIAQoAjQiC2siEkwE.QCAEKAIwIg4gBCgCKEYNCCAMIA4oAgAgC3RBICAFa3Y2AgAgBCAEKAI0IAVqIgU2AjQgBUEgRw0BIARBADYCNCAEIA5BBGo2AjAMAQsgBCgCMCIOQQRqIhMg.BCgCKEYNByAOKAIAIRUgBCATNgIwIAQgBSASayISNgI0IAwgDigCBEEgIBJrdiAVIAt0QSAgBWt2cjYCAAsgByAJKAIAQQJ0IgVqIgkgCSgCACAEKAJ4IAVq.KAIAcjYCACABQQFqIgEgBCgCDEkNAAsLIAMgBCgCYCIBKAIAIgc2AjAgAyABKAIEIgk2AjQgAyABKAIIIgw2AjggAyARKAIAIgUoAgQiATYCLCAFKAIIIQsg.AyAFNgIIIAMgA0EwajYCBCADIANBLGo2AgAgBQJ/IAEgC0kEQCABIAw2AgggASAJNgIEIAEgBzYCACABQQxqDAELIAMQFCADKAIsCzYCBCAEIAQoAghBAWo2.AgggBkEBaiIGIAhHDQALCyADKAIkIQELIAENAAsLIANBADYCJCADKAIYIgEgAygCFCIFa0ECdSIHQQNPBEADQCAFKAIAEAUgAyADKAIUQQRqIgU2AhQgAygC.GCIBIAVrQQJ1IgdBAksNAAsLQaoBIQgCQAJAAkAgB0EBaw4CAQACC0HVAiEICyADIAg2AiALIAEgBUYEfyABBQNAIAUoAgAQBSAFQQRqIgUgAUcNAAsgAygC.GCEBIAMoAhQLIQUgAyABIAEgBWtBfHFrNgIYIAMoAhAiAQRAIAEQBQsgA0FAayQACyAEEDoMBQsgFEEEakEDEDchBCAUQZwFaiERAkAgASkDCCABKQMQIhlC.BHxTDQAgBCABKAIAIBmnaigAACIFNgIAIAEgASkDECIZQgR8Iho3AxAgBUEgSw0AIAEpAwggGUIIfFMNACAEIAEoAgAgGqdqKAAAIgU2AgQgASABKQMQQgR8.NwMQIAVFDQAgBEEANgIIIARBEGoiECABEAhFDQAgBEEgaiABEApFDQAgBEE0aiABEApFDQAgBEHIAGogARAKRQ0AIAQoAgQhDUEAIQojAEHQAGsiAyQAIAQo.AgwhASADQQA2AiAgBEH0AGogASADQSBqIgEQDyAEKAIMIQUgA0EANgIgIARBgAFqIAUgARAPIAQgBCgCjAE2ApABIANCADcDMCADQgA3AyggA0IANwMgIAEQ.CyADKAIkIAMoAjQiASADKAIwaiIFQdUCbiIGQQJ0aigCACAFIAZB1QJsa0EMbGoiBUIANwIEIAUgDTYCAAJAIAFBAWoiAUUNACAEQYwBaiEWA0AgAygCJCIG.IAMoAjAiDCABQQFrIgtqIgVB1QJuIgdBAnRqKAIAIAUgB0HVAmxrQQxsaiIHKAIIIQUgBygCBCEJIAcoAgAhCCADIAs2AjQgAygCKCIHIAZrQQJ1QdUCbEEB.a0EAIAYgB0cbIAEgDGprQQFqQaoFTwRAIAdBBGsoAgAQBSADIAMoAihBBGs2AigLIAUgCkcEQCAFIApLDQICQCAEKAKMASIKIAQoApABIgFGDQADQCABQRBr.IgYoAgAgBUkNASAEKAJ0IAFBDGsiBygCAEECdGogAUEEaygCADYCACAGKAIAIAVGDQEgBCgCgAEgBygCAEECdGogAUEIaygCADYCACAEIAY2ApABIAYiASAK.Rw0ACwsgBSEKC0EAIQYgCCANSw0BIAlBAWpBACAJIAQoAgwiAUEBa0cbIgkgAU8NAQJAIAQoAgAiDCAJQQJ0IgcgBCgCgAFqKAIAIgtGBEAgCEUNAQNAIAMg.BCgCdCIBKAIAIgc2AkAgAyABKAIEIgk2AkQgAyABKAIIIgw2AkggAyARKAIAIgUoAgQiATYCPCAFKAIIIQsgAyAFNgIQIAMgA0FAazYCDCADIANBPGo2Aggg.BQJ/IAEgC0kEQCABIAw2AgggASAJNgIEIAEgBzYCACABQQxqDAELIANBCGoQFCADKAI8CzYCBCAEIAQoAghBAWo2AgggCCAGQQFqIgZHDQALDAELAkACQAJA.AkAgCEECTQRAIAQoAmgiBSAJNgIAQQEhASAEKAIMIgdBAUsNAQwECyAEKAIIIAQoAgRLDQYgA0EANgIcIBAgCGdBH3MgA0EcahBqIAhBAXYiASADKAIcIgVJ.DQYgASAFayIFIAggBWsiBkYEQCAFIQEMAwsgBCgCVCIBIAQoAkxGDQEgASgCACAEIAQoAlgiDkEBaiIPNgJYQYCAgIB4IA52cSEIAkAgD0EgRgRAIARBADYC.WCAEIAFBBGo2AlQgCA0BDAMLIAhFDQILIAUhASAGIQUMAgsDQCAFIAFBAnRqIgYgBkEEaygCACIGQQFqQQAgBiAHQQFrRxs2AgAgAUEBaiIBIAQoAgwiB0kN.AAsMAgsgBiEBCyAKQX9GDQNBASAMIAtBf3NqdCEIIAMgCjYCCCADIAk2AgwgAyAEKAKAASAHaigCADYCECADIAQoAnQgB2ooAgA2AhQgAyAEKAKQASIGNgI8.IAQoApQBIQwgAyAWNgJIIAMgA0EIajYCRCADIANBPGo2AkAgBAJ/IAYgDEkEQCAGIAMpAhA3AgggBiADKQIINwIAIAZBEGoMAQsgA0FAaxAYIAMoAjwLNgKQ.ASAEKAKAASAHaiIGIAYoAgBBAWo2AgAgBCgCdCAHaiIGIAYoAgAgCGo2AgAgAQRAIAMoAjQiCCADKAIwaiIGIAMoAigiDCADKAIkIgdrQQJ1QdUCbEEBa0EA.IAcgDEcbRgRAIANBIGoQCyADKAIkIQcgAygCNCIIIAMoAjBqIQYLIAcgBkHVAm4iDEECdGooAgAgBiAMQdUCbGtBDGxqIgYgCjYCCCAGIAk2AgQgBiABNgIA.IAMgCEEBajYCNAsgCkEBaiEKIAVFDQEgAygCNCIIIAMoAjBqIgYgAygCKCIBIAMoAiQiB2tBAnVB1QJsQQFrQQAgASAHRxtGBEAgA0EgahALIAMoAiQhByAD.KAI0IgggAygCMGohBgsgByAGQdUCbiIBQQJ0aigCACAGIAFB1QJsa0EMbGoiASAKNgIIIAEgCTYCBCABIAU2AgAgAyAIQQFqNgI0DAELQQAhBiAIRQ0AA0Ag.BCgCDARAIAQoAoABIQ8gBCgCXCEHIAQoAmghEkEAIQEDQCAHIBIgAUECdGoiCSgCAEECdGpBADYCAAJAIAQoAgAiBSAPIAkoAgBBAnQiDGooAgAiC0YNACAH.IAxqIQwgBSALayIFQSAgBCgCMCILayITTARAIAQoAiwiDiAEKAIkRg0HIAwgDigCACALdEEgIAVrdjYCACAEIAQoAjAgBWoiBTYCMCAFQSBHDQEgBEEANgIw.IAQgDkEEajYCLAwBCyAEKAIsIg5BBGoiFSAEKAIkRg0GIA4oAgAhFyAEIBU2AiwgBCAFIBNrIhM2AjAgDCAOKAIEQSAgE2t2IBcgC3RBICAFa3ZyNgIACyAH.IAkoAgBBAnQiBWoiCSAJKAIAIAQoAnQgBWooAgByNgIAIAFBAWoiASAEKAIMSQ0ACwsgAyAEKAJcIgEoAgAiBzYCQCADIAEoAgQiCTYCRCADIAEoAggiDDYC.SCADIBEoAgAiBSgCBCIBNgI8IAUoAgghCyADIAU2AhAgAyADQUBrNgIMIAMgA0E8ajYCCCAFAn8gASALSQRAIAEgDDYCCCABIAk2AgQgASAHNgIAIAFBDGoM.AQsgA0EIahAUIAMoAjwLNgIEIAQgBCgCCEEBajYCCCAGQQFqIgYgCEcNAAsLIAMoAjQiAQ0ACwsgA0EANgI0IAMoAigiASADKAIkIgVrQQJ1IgdBA08EQANA.IAUoAgAQBSADIAMoAiRBBGoiBTYCJCADKAIoIgEgBWtBAnUiB0ECSw0ACwtBqgEhCAJAAkACQCAHQQFrDgIBAAILQdUCIQgLIAMgCDYCMAsgASAFRgR/IAEF.A0AgBSgCABAFIAVBBGoiBSABRw0ACyADKAIoIQEgAygCJAshBSADIAEgASAFa0F8cWs2AiggAygCICIBBEAgARAFCyADQdAAaiQACyAEEDgMBAsgFEEEakED.EDchBCAUQZwFaiERAkAgASkDCCABKQMQIhlCBHxTDQAgBCABKAIAIBmnaigAACIFNgIAIAEgASkDECIZQgR8Iho3AxAgBUEgSw0AIAEpAwggGUIIfFMNACAE.IAEoAgAgGqdqKAAAIgU2AgQgASABKQMQQgR8NwMQIAVFDQAgBEEANgIIIARBEGoiECABEAhFDQAgBEEgaiABEApFDQAgBEE0aiABEApFDQAgBEHIAGogARAK.RQ0AIAQoAgQhDUEAIQojAEHQAGsiAyQAIAQoAgwhASADQQA2AiAgBEH0AGogASADQSBqIgEQDyAEKAIMIQUgA0EANgIgIARBgAFqIAUgARAPIAQgBCgCjAE2.ApABIANCADcDMCADQgA3AyggA0IANwMgIAEQCyADKAIkIAMoAjQiASADKAIwaiIFQdUCbiIGQQJ0aigCACAFIAZB1QJsa0EMbGoiBUIANwIEIAUgDTYCAAJA.IAFBAWoiAUUNACAEQYwBaiEWA0AgAygCJCIGIAMoAjAiDCABQQFrIgtqIgVB1QJuIgdBAnRqKAIAIAUgB0HVAmxrQQxsaiIHKAIIIQUgBygCBCEJIAcoAgAh.CCADIAs2AjQgAygCKCIHIAZrQQJ1QdUCbEEBa0EAIAYgB0cbIAEgDGprQQFqQaoFTwRAIAdBBGsoAgAQBSADIAMoAihBBGs2AigLIAUgCkcEQCAFIApLDQIC.QCAEKAKMASIKIAQoApABIgFGDQADQCABQRBrIgYoAgAgBUkNASAEKAJ0IAFBDGsiBygCAEECdGogAUEEaygCADYCACAGKAIAIAVGDQEgBCgCgAEgBygCAEEC.dGogAUEIaygCADYCACAEIAY2ApABIAYiASAKRw0ACwsgBSEKCyAIIA1LDQFBACEGIAlBAWpBACAJIAQoAgwiAUEBa0cbIgkgAU8NAQJAIAQoAgAiDCAJQQJ0.IgcgBCgCgAFqKAIAIgtGBEAgCEUNAQNAIAMgBCgCdCIBKAIAIgc2AkAgAyABKAIEIgk2AkQgAyABKAIIIgw2AkggAyARKAIAIgUoAgQiATYCPCAFKAIIIQsg.AyAFNgIQIAMgA0FAazYCDCADIANBPGo2AgggBQJ/IAEgC0kEQCABIAw2AgggASAJNgIEIAEgBzYCACABQQxqDAELIANBCGoQFCADKAI8CzYCBCAEIAQoAghB.AWo2AgggCCAGQQFqIgZHDQALDAELAkACQAJAAkAgCEECTQRAIAQoAmgiBSAJNgIAQQEhASAEKAIMIgdBAUsNAQwECyAEKAIIIAQoAgRLDQYgA0EANgIcIBAg.CGdBH3MgA0EcahBqIAhBAXYiASADKAIcIgVJDQYgASAFayIFIAggBWsiBkYEQCAFIQEMAwsgBCgCVCIBIAQoAkxGDQEgASgCACAEIAQoAlgiDkEBaiIPNgJY.QYCAgIB4IA52cSEIAkAgD0EgRgRAIARBADYCWCAEIAFBBGo2AlQgCA0BDAMLIAhFDQILIAUhASAGIQUMAgsDQCAFIAFBAnRqIgYgBkEEaygCACIGQQFqQQAg.BiAHQQFrRxs2AgAgAUEBaiIBIAQoAgwiB0kNAAsMAgsgBiEBCyAKQX9GDQNBASAMIAtBf3NqdCEIIAMgCjYCCCADIAk2AgwgAyAEKAKAASAHaigCADYCECAD.IAQoAnQgB2ooAgA2AhQgAyAEKAKQASIGNgI8IAQoApQBIQwgAyAWNgJIIAMgA0EIajYCRCADIANBPGo2AkAgBAJ/IAYgDEkEQCAGIAMpAhA3AgggBiADKQII.NwIAIAZBEGoMAQsgA0FAaxAYIAMoAjwLNgKQASAEKAKAASAHaiIGIAYoAgBBAWo2AgAgBCgCdCAHaiIGIAYoAgAgCGo2AgAgAQRAIAMoAjQiCCADKAIwaiIG.IAMoAigiDCADKAIkIgdrQQJ1QdUCbEEBa0EAIAcgDEcbRgRAIANBIGoQCyADKAIkIQcgAygCNCIIIAMoAjBqIQYLIAcgBkHVAm4iDEECdGooAgAgBiAMQdUC.bGtBDGxqIgYgCjYCCCAGIAk2AgQgBiABNgIAIAMgCEEBajYCNAsgCkEBaiEKIAVFDQEgAygCNCIIIAMoAjBqIgYgAygCKCIBIAMoAiQiB2tBAnVB1QJsQQFr.QQAgASAHRxtGBEAgA0EgahALIAMoAiQhByADKAI0IgggAygCMGohBgsgByAGQdUCbiIBQQJ0aigCACAGIAFB1QJsa0EMbGoiASAKNgIIIAEgCTYCBCABIAU2.AgAgAyAIQQFqNgI0DAELQQAhBiAIRQ0AA0AgBCgCDARAIAQoAoABIQ8gBCgCXCEHIAQoAmghEkEAIQEDQCAHIBIgAUECdGoiCSgCAEECdGpBADYCAAJAIAQo.AgAiBSAPIAkoAgBBAnQiDGooAgAiC0YNACAHIAxqIQwgBSALayIFQSAgBCgCMCILayITTARAIAQoAiwiDiAEKAIkRg0HIAwgDigCACALdEEgIAVrdjYCACAE.IAQoAjAgBWoiBTYCMCAFQSBHDQEgBEEANgIwIAQgDkEEajYCLAwBCyAEKAIsIg5BBGoiFSAEKAIkRg0GIA4oAgAhFyAEIBU2AiwgBCAFIBNrIhM2AjAgDCAO.KAIEQSAgE2t2IBcgC3RBICAFa3ZyNgIACyAHIAkoAgBBAnQiBWoiCSAJKAIAIAQoAnQgBWooAgByNgIAIAFBAWoiASAEKAIMSQ0ACwsgAyAEKAJcIgEoAgAi.BzYCQCADIAEoAgQiCTYCRCADIAEoAggiDDYCSCADIBEoAgAiBSgCBCIBNgI8IAUoAgghCyADIAU2AhAgAyADQUBrNgIMIAMgA0E8ajYCCCAFAn8gASALSQRA.IAEgDDYCCCABIAk2AgQgASAHNgIAIAFBDGoMAQsgA0EIahAUIAMoAjwLNgIEIAQgBCgCCEEBajYCCCAGQQFqIgYgCEcNAAsLIAMoAjQiAQ0ACwsgA0EANgI0.IAMoAigiASADKAIkIgVrQQJ1IgdBA08EQANAIAUoAgAQBSADIAMoAiRBBGoiBTYCJCADKAIoIgEgBWtBAnUiB0ECSw0ACwtBqgEhCAJAAkACQCAHQQFrDgIB.AAILQdUCIQgLIAMgCDYCMAsgASAFRgR/IAEFA0AgBSgCABAFIAVBBGoiBSABRw0ACyADKAIoIQEgAygCJAshBSADIAEgASAFa0F8cWs2AiggAygCICIBBEAg.ARAFCyADQdAAaiQACyAEEDgMAwsgFEEEakEDECchBCAUQZwFaiERAkAgASkDCCABKQMQIhlCBHxTDQAgBCABKAIAIBmnaigAACIFNgIAIAEgASkDECIZQgR8.Iho3AxAgBUEgSw0AIAEpAwggGUIIfFMNACAEIAEoAgAgGqdqKAAAIgU2AgQgASABKQMQQgR8NwMQIAVFDQAgBEEANgIIIARBEGoiECABEDZFDQAgBEGgBGog.ARAKRQ0AIARBtARqIAEQCkUNACAEQcgEaiABEApFDQAgBCgCBCEMQQAhCiMAQUBqIgMkACAEKAIMIQEgA0EANgIQIARB9ARqIAEgA0EQaiIBEA8gBCgCDCEF.IANBADYCECAEQYAFaiAFIAEQDyAEIAQoAowFNgKQBSADQgA3AyAgA0IANwMYIANCADcDECABEAsgAygCFCADKAIkIgEgAygCIGoiBUHVAm4iBkECdGooAgAg.BSAGQdUCbGtBDGxqIgVCADcCBCAFIAw2AgACQCABQQFqIgZFDQAgBEGMBWohFgNAIAMoAhQiBSADKAIgIg0gBkEBayILaiIBQdUCbiIHQQJ0aigCACABIAdB.1QJsa0EMbGoiBygCCCEBIAcoAgQhCSAHKAIAIQggAyALNgIkIAMoAhgiByAFa0ECdUHVAmxBAWtBACAFIAdHGyAGIA1qa0EBakGqBU8EQCAHQQRrKAIAEAUg.AyADKAIYQQRrNgIYCyABIApHBEAgASAKSw0CAkAgBCgCjAUiCiAEKAKQBSIGRg0AA0AgBkEQayIFKAIAIAFJDQEgBCgC9AQgBkEMayIHKAIAQQJ0aiAGQQRr.KAIANgIAIAUoAgAgAUYNASAEKAKABSAHKAIAQQJ0aiAGQQhrKAIANgIAIAQgBTYCkAUgBSIGIApHDQALCyABIQoLQQAhByAIIAxLDQEgCUEBakEAIAkgBCgC.DCIBQQFrRxsiCSABTw0BAkACQCAEKAIAIgsgCUECdCINIAQoAoAFaigCACIORgRAIAhFDQEDQCADIAQoAvQEIgEoAgAiBjYCMCADIAEoAgQiCTYCNCADIAEo.AggiDTYCOCADIBEoAgAiBSgCBCIBNgIsIAUoAgghCyADIAU2AgggAyADQTBqNgIEIAMgA0EsajYCACAFAn8gASALSQRAIAEgDTYCCCABIAk2AgQgASAGNgIA.IAFBDGoMAQsgAxAUIAMoAiwLNgIEIAQgBCgCCEEBajYCCCAIIAdBAWoiB0cNAAsMAQsCQAJAAkACQCAIQQJNBEAgBCgC6AQiBSAJNgIAQQEhBiAEKAIMIgFB.AUsNAQwECyAEKAIIIAQoAgRLDQcgCGchBUEAIQFBACEGA0AgECAGQQR0ahAQIAFBAXRyIQEgBkEBaiIGIAVzQR9HDQALIAhBAXYiBSABSQ0HIAUgAWsiASAI.IAFrIgZGBEAgASEFDAMLIAQoAtQEIgUgBCgCzARGDQEgBSgCACAEIAQoAtgEIghBAWoiDzYC2ARBgICAgHggCHZxIQcCQCAPQSBGBEAgBEEANgLYBCAEIAVB.BGo2AtQEIAcNAQwDCyAHRQ0CCyABIQUgBiEBDAILA0AgBSAGQQJ0aiIHIAdBBGsoAgAiB0EBakEAIAcgAUEBa0cbNgIAIAZBAWoiBiAEKAIMIgFJDQALDAIL.IAYhBQsgCkF/Rg0EQQEgCyAOQX9zanQhByADIAo2AgAgAyAJNgIEIAMgBCgCgAUgDWooAgA2AgggAyAEKAL0BCANaigCADYCDCADIAQoApAFIgY2AiwgBCgC.lAUhCCADIBY2AjggAyADNgI0IAMgA0EsajYCMCAEAn8gBiAISQRAIAYgAykCCDcCCCAGIAMpAgA3AgAgBkEQagwBCyADQTBqEBggAygCLAs2ApAFIAQoAoAF.IA1qIgYgBigCAEEBajYCACAEKAL0BCANaiIGIAYoAgAgB2o2AgAgBQRAIAMoAiQiCCADKAIgaiIHIAMoAhgiDSADKAIUIgZrQQJ1QdUCbEEBa0EAIAYgDUcb.RgRAIANBEGoQCyADKAIkIgggAygCIGohByADKAIUIQYLIAYgB0HVAm4iDUECdGooAgAgByANQdUCbGtBDGxqIgYgCjYCCCAGIAk2AgQgBiAFNgIAIAMgCEEB.ajYCJAsgCkEBaiEKIAFFDQEgAygCJCIIIAMoAiBqIgcgAygCGCIFIAMoAhQiBmtBAnVB1QJsQQFrQQAgBSAGRxtGBEAgA0EQahALIAMoAiQiCCADKAIgaiEH.IAMoAhQhBgsgBiAHQdUCbiIFQQJ0aigCACAHIAVB1QJsa0EMbGoiBSAKNgIIIAUgCTYCBCAFIAE2AgAgAyAIQQFqIgY2AiQMAgtBACEHIAhFDQADQCAEKAIM.BEAgBCgCgAUhDyAEKALcBCEFIAQoAugEIRJBACEGA0AgBSASIAZBAnRqIgkoAgBBAnRqQQA2AgACQCAEKAIAIgEgDyAJKAIAQQJ0Ig1qKAIAIgtGDQAgBSAN.aiENIAEgC2siAUEgIAQoArAEIgtrIhNMBEAgBCgCrAQiDiAEKAKkBEYNCCANIA4oAgAgC3RBICABa3Y2AgAgBCAEKAKwBCABaiIBNgKwBCABQSBHDQEgBEEA.NgKwBCAEIA5BBGo2AqwEDAELIAQoAqwEIg5BBGoiFSAEKAKkBEYNByAOKAIAIRcgBCAVNgKsBCAEIAEgE2siEzYCsAQgDSAOKAIEQSAgE2t2IBcgC3RBICAB.a3ZyNgIACyAFIAkoAgBBAnQiAWoiCSAJKAIAIAQoAvQEIAFqKAIAcjYCACAGQQFqIgYgBCgCDEkNAAsLIAMgBCgC3AQiASgCACIGNgIwIAMgASgCBCIJNgI0.IAMgASgCCCINNgI4IAMgESgCACIFKAIEIgE2AiwgBSgCCCELIAMgBTYCCCADIANBMGo2AgQgAyADQSxqNgIAIAUCfyABIAtJBEAgASANNgIIIAEgCTYCBCAB.IAY2AgAgAUEMagwBCyADEBQgAygCLAs2AgQgBCAEKAIIQQFqNgIIIAdBAWoiByAIRw0ACwsgAygCJCEGCyAGDQALCyADQQA2AiQgAygCGCIGIAMoAhQiBWtB.AnUiAUEDTwRAA0AgBSgCABAFIAMgAygCFEEEaiIFNgIUIAMoAhgiBiAFa0ECdSIBQQJLDQALC0GqASEIAkACQAJAIAFBAWsOAgEAAgtB1QIhCAsgAyAINgIg.CyAFIAZGBH8gBgUDQCAFKAIAEAUgBUEEaiIFIAZHDQALIAMoAhghBiADKAIUCyEBIAMgBiAGIAFrQXxxazYCGCADKAIQIgEEQCABEAULIANBQGskAAsgBBAo.DAILIBRBBGpBAxAnIQQgFEGcBWohEQJAIAEpAwggASkDECIZQgR8Uw0AIAQgASgCACAZp2ooAAAiBTYCACABIAEpAxAiGUIEfCIaNwMQIAVBIEsNACABKQMI.IBlCCHxTDQAgBCABKAIAIBqnaigAACIFNgIEIAEgASkDEEIEfDcDECAFRQ0AIARBADYCCCAEQRBqIhAgARA2RQ0AIARBoARqIAEQCkUNACAEQbQEaiABEApF.DQAgBEHIBGogARAKRQ0AIAQoAgQhDEEAIQojAEFAaiIDJAAgBCgCDCEBIANBADYCECAEQfQEaiABIANBEGoiARAPIAQoAgwhBSADQQA2AhAgBEGABWogBSAB.EA8gBCAEKAKMBTYCkAUgA0IANwMgIANCADcDGCADQgA3AxAgARALIAMoAhQgAygCJCIBIAMoAiBqIgVB1QJuIgZBAnRqKAIAIAUgBkHVAmxrQQxsaiIFQgA3.AgQgBSAMNgIAAkAgAUEBaiIGRQ0AIARBjAVqIRYDQCADKAIUIgUgAygCICINIAZBAWsiC2oiAUHVAm4iB0ECdGooAgAgASAHQdUCbGtBDGxqIgcoAgghASAH.KAIEIQkgBygCACEIIAMgCzYCJCADKAIYIgcgBWtBAnVB1QJsQQFrQQAgBSAHRxsgBiANamtBAWpBqgVPBEAgB0EEaygCABAFIAMgAygCGEEEazYCGAsgASAK.RwRAIAEgCksNAgJAIAQoAowFIgogBCgCkAUiBkYNAANAIAZBEGsiBSgCACABSQ0BIAQoAvQEIAZBDGsiBygCAEECdGogBkEEaygCADYCACAFKAIAIAFGDQEg.BCgCgAUgBygCAEECdGogBkEIaygCADYCACAEIAU2ApAFIAUiBiAKRw0ACwsgASEKCyAIIAxLDQFBACEHIAlBAWpBACAJIAQoAgwiAUEBa0cbIgkgAU8NAQJA.AkAgBCgCACILIAlBAnQiDSAEKAKABWooAgAiDkYEQCAIRQ0BA0AgAyAEKAL0BCIBKAIAIgY2AjAgAyABKAIEIgk2AjQgAyABKAIIIg02AjggAyARKAIAIgUo.AgQiATYCLCAFKAIIIQsgAyAFNgIIIAMgA0EwajYCBCADIANBLGo2AgAgBQJ/IAEgC0kEQCABIA02AgggASAJNgIEIAEgBjYCACABQQxqDAELIAMQFCADKAIs.CzYCBCAEIAQoAghBAWo2AgggCCAHQQFqIgdHDQALDAELAkACQAJAAkAgCEECTQRAIAQoAugEIgUgCTYCAEEBIQYgBCgCDCIBQQFLDQEMBAsgBCgCCCAEKAIE.Sw0HIAhnIQVBACEBQQAhBgNAIBAgBkEEdGoQECABQQF0ciEBIAZBAWoiBiAFc0EfRw0ACyAIQQF2IgUgAUkNByAFIAFrIgEgCCABayIGRgRAIAEhBQwDCyAE.KALUBCIFIAQoAswERg0BIAUoAgAgBCAEKALYBCIIQQFqIg82AtgEQYCAgIB4IAh2cSEHAkAgD0EgRgRAIARBADYC2AQgBCAFQQRqNgLUBCAHDQEMAwsgB0UN.AgsgASEFIAYhAQwCCwNAIAUgBkECdGoiByAHQQRrKAIAIgdBAWpBACAHIAFBAWtHGzYCACAGQQFqIgYgBCgCDCIBSQ0ACwwCCyAGIQULIApBf0YNBEEBIAsg.DkF/c2p0IQcgAyAKNgIAIAMgCTYCBCADIAQoAoAFIA1qKAIANgIIIAMgBCgC9AQgDWooAgA2AgwgAyAEKAKQBSIGNgIsIAQoApQFIQggAyAWNgI4IAMgAzYC.NCADIANBLGo2AjAgBAJ/IAYgCEkEQCAGIAMpAgg3AgggBiADKQIANwIAIAZBEGoMAQsgA0EwahAYIAMoAiwLNgKQBSAEKAKABSANaiIGIAYoAgBBAWo2AgAg.BCgC9AQgDWoiBiAGKAIAIAdqNgIAIAUEQCADKAIkIgggAygCIGoiByADKAIYIg0gAygCFCIGa0ECdUHVAmxBAWtBACAGIA1HG0YEQCADQRBqEAsgAygCJCII.IAMoAiBqIQcgAygCFCEGCyAGIAdB1QJuIg1BAnRqKAIAIAcgDUHVAmxrQQxsaiIGIAo2AgggBiAJNgIEIAYgBTYCACADIAhBAWo2AiQLIApBAWohCiABRQ0B.IAMoAiQiCCADKAIgaiIHIAMoAhgiBSADKAIUIgZrQQJ1QdUCbEEBa0EAIAUgBkcbRgRAIANBEGoQCyADKAIkIgggAygCIGohByADKAIUIQYLIAYgB0HVAm4i.BUECdGooAgAgByAFQdUCbGtBDGxqIgUgCjYCCCAFIAk2AgQgBSABNgIAIAMgCEEBaiIGNgIkDAILQQAhByAIRQ0AA0AgBCgCDARAIAQoAoAFIQ8gBCgC3AQh.BSAEKALoBCESQQAhBgNAIAUgEiAGQQJ0aiIJKAIAQQJ0akEANgIAAkAgBCgCACIBIA8gCSgCAEECdCINaigCACILRg0AIAUgDWohDSABIAtrIgFBICAEKAKw.BCILayITTARAIAQoAqwEIg4gBCgCpARGDQggDSAOKAIAIAt0QSAgAWt2NgIAIAQgBCgCsAQgAWoiATYCsAQgAUEgRw0BIARBADYCsAQgBCAOQQRqNgKsBAwB.CyAEKAKsBCIOQQRqIhUgBCgCpARGDQcgDigCACEXIAQgFTYCrAQgBCABIBNrIhM2ArAEIA0gDigCBEEgIBNrdiAXIAt0QSAgAWt2cjYCAAsgBSAJKAIAQQJ0.IgFqIgkgCSgCACAEKAL0BCABaigCAHI2AgAgBkEBaiIGIAQoAgxJDQALCyADIAQoAtwEIgEoAgAiBjYCMCADIAEoAgQiCTYCNCADIAEoAggiDTYCOCADIBEo.AgAiBSgCBCIBNgIsIAUoAgghCyADIAU2AgggAyADQTBqNgIEIAMgA0EsajYCACAFAn8gASALSQRAIAEgDTYCCCABIAk2AgQgASAGNgIAIAFBDGoMAQsgAxAU.IAMoAiwLNgIEIAQgBCgCCEEBajYCCCAHQQFqIgcgCEcNAAsLIAMoAiQhBgsgBg0ACwsgA0EANgIkIAMoAhgiBiADKAIUIgVrQQJ1IgFBA08EQANAIAUoAgAQ.BSADIAMoAhRBBGoiBTYCFCADKAIYIgYgBWtBAnUiAUECSw0ACwtBqgEhCAJAAkACQCABQQFrDgIBAAILQdUCIQgLIAMgCDYCIAsgBSAGRgR/IAYFA0AgBSgC.ABAFIAVBBGoiBSAGRw0ACyADKAIYIQYgAygCFAshASADIAYgBiABa0F8cWs2AhggAygCECIBBEAgARAFCyADQUBrJAALIAQQKAwBCyAUQQRqQQMQJyEEIBRB.nAVqIRECQCABKQMIIAEpAxAiGUIEfFMNACAEIAEoAgAgGadqKAAAIgU2AgAgASABKQMQIhlCBHwiGjcDECAFQSBLDQAgASkDCCAZQgh8Uw0AIAQgASgCACAa.p2ooAAAiBTYCBCABIAEpAxBCBHw3AxAgBUUNACAEQQA2AgggBEEQaiIPIAEQNkUNACAEQaAEaiABEApFDQAgBEG0BGogARAKRQ0AIARByARqIAEQCkUNACAE.KAIEIQxBACEKIwBBQGoiAyQAIAQoAgwhASADQQA2AhAgBEH0BGogASADQRBqIgEQDyAEKAIMIQUgA0EANgIQIARBgAVqIhYgBSABEA8gBCAEKAKMBTYCkAUg.A0IANwMgIANCADcDGCADQgA3AxAgARALIAMoAhQgAygCJCIBIAMoAiBqIgVB1QJuIgZBAnRqKAIAIAUgBkHVAmxrQQxsaiIFQgA3AgQgBSAMNgIAAkAgAUEB.aiIGRQ0AIARBjAVqIRADQCADKAIUIgUgAygCICIJIAZBAWsiDWoiAUHVAm4iB0ECdGooAgAgASAHQdUCbGtBDGxqIgcoAgghASAHKAIEGiAHKAIAIQggAyAN.NgIkIAMoAhgiByAFa0ECdUHVAmxBAWtBACAFIAdHGyAGIAlqa0EBakGqBU8EQCAHQQRrKAIAEAUgAyADKAIYQQRrNgIYCyABIApHBEAgASAKSw0CAkAgBCgC.jAUiCiAEKAKQBSIGRg0AA0AgBkEQayIFKAIAIAFJDQEgBCgC9AQgBkEMayIHKAIAQQJ0aiAGQQRrKAIANgIAIAUoAgAgAUYNASAEKAKABSAHKAIAQQJ0aiAG.QQhrKAIANgIAIAQgBTYCkAUgBSIGIApHDQALCyABIQoLQQAhByAIIAxLDQEgBCAIIBYQwwEiCSAEKAIMTw0BAkACQCAEKAIAIgsgCUECdCINIAQoAoAFaigC.ACIORgRAIAhFDQEDQCADIAQoAvQEIgEoAgAiBjYCMCADIAEoAgQiCTYCNCADIAEoAggiDTYCOCADIBEoAgAiBSgCBCIBNgIsIAUoAgghCyADIAU2AgggAyAD.QTBqNgIEIAMgA0EsajYCACAFAn8gASALSQRAIAEgDTYCCCABIAk2AgQgASAGNgIAIAFBDGoMAQsgAxAUIAMoAiwLNgIEIAQgBCgCCEEBajYCCCAIIAdBAWoi.B0cNAAsMAQsCQAJAAkACQCAIQQJNBEAgBCgC6AQiBSAJNgIAQQEhBiAEKAIMIgFBAUsNAQwECyAEKAIIIAQoAgRLDQcgCGchBUEAIQFBACEGA0AgDyAGQQR0.ahAQIAFBAXRyIQEgBkEBaiIGIAVzQR9HDQALIAhBAXYiBSABSQ0HIAUgAWsiASAIIAFrIgZGBEAgASEFDAMLIAQoAtQEIgUgBCgCzARGDQEgBSgCACAEIAQo.AtgEIghBAWoiEjYC2ARBgICAgHggCHZxIQcCQCASQSBGBEAgBEEANgLYBCAEIAVBBGo2AtQEIAcNAQwDCyAHRQ0CCyABIQUgBiEBDAILA0AgBSAGQQJ0aiIH.IAdBBGsoAgAiB0EBakEAIAcgAUEBa0cbNgIAIAZBAWoiBiAEKAIMIgFJDQALDAILIAYhBQsgCkF/Rg0EQQEgCyAOQX9zanQhByADIAo2AgAgAyAJNgIEIAMg.BCgCgAUgDWooAgA2AgggAyAEKAL0BCANaigCADYCDCADIAQoApAFIgY2AiwgBCgClAUhCCADIBA2AjggAyADNgI0IAMgA0EsajYCMCAEAn8gBiAISQRAIAYg.AykCCDcCCCAGIAMpAgA3AgAgBkEQagwBCyADQTBqEBggAygCLAs2ApAFIAQoAoAFIA1qIgYgBigCAEEBajYCACAEKAL0BCANaiIGIAYoAgAgB2o2AgAgBQRA.IAMoAiQiCCADKAIgaiIHIAMoAhgiDSADKAIUIgZrQQJ1QdUCbEEBa0EAIAYgDUcbRgRAIANBEGoQCyADKAIkIgggAygCIGohByADKAIUIQYLIAYgB0HVAm4i.DUECdGooAgAgByANQdUCbGtBDGxqIgYgCjYCCCAGIAk2AgQgBiAFNgIAIAMgCEEBajYCJAsgCkEBaiEKIAFFDQEgAygCJCIIIAMoAiBqIgcgAygCGCIFIAMo.AhQiBmtBAnVB1QJsQQFrQQAgBSAGRxtGBEAgA0EQahALIAMoAiQiCCADKAIgaiEHIAMoAhQhBgsgBiAHQdUCbiIFQQJ0aigCACAHIAVB1QJsa0EMbGoiBSAK.NgIIIAUgCTYCBCAFIAE2AgAgAyAIQQFqIgY2AiQMAgtBACEHIAhFDQADQCAEKAIMBEAgBCgCgAUhEiAEKALcBCEFIAQoAugEIRNBACEGA0AgBSATIAZBAnRq.IgkoAgBBAnRqQQA2AgACQCAEKAIAIgEgEiAJKAIAQQJ0Ig1qKAIAIgtGDQAgBSANaiENIAEgC2siAUEgIAQoArAEIgtrIhVMBEAgBCgCrAQiDiAEKAKkBEYN.CCANIA4oAgAgC3RBICABa3Y2AgAgBCAEKAKwBCABaiIBNgKwBCABQSBHDQEgBEEANgKwBCAEIA5BBGo2AqwEDAELIAQoAqwEIg5BBGoiFyAEKAKkBEYNByAO.KAIAIRggBCAXNgKsBCAEIAEgFWsiFTYCsAQgDSAOKAIEQSAgFWt2IBggC3RBICABa3ZyNgIACyAFIAkoAgBBAnQiAWoiCSAJKAIAIAQoAvQEIAFqKAIAcjYC.ACAGQQFqIgYgBCgCDEkNAAsLIAMgBCgC3AQiASgCACIGNgIwIAMgASgCBCIJNgI0IAMgASgCCCINNgI4IAMgESgCACIFKAIEIgE2AiwgBSgCCCELIAMgBTYC.CCADIANBMGo2AgQgAyADQSxqNgIAIAUCfyABIAtJBEAgASANNgIIIAEgCTYCBCABIAY2AgAgAUEMagwBCyADEBQgAygCLAs2AgQgBCAEKAIIQQFqNgIIIAdB.AWoiByAIRw0ACwsgAygCJCEGCyAGDQALCyADQQA2AiQgAygCGCIGIAMoAhQiBWtBAnUiAUEDTwRAA0AgBSgCABAFIAMgAygCFEEEaiIFNgIUIAMoAhgiBiAF.a0ECdSIBQQJLDQALC0GqASEIAkACQAJAIAFBAWsOAgEAAgtB1QIhCAsgAyAINgIgCyAFIAZGBH8gBgUDQCAFKAIAEAUgBUEEaiIFIAZHDQALIAMoAhghBiAD.KAIUCyEBIAMgBiAGIAFrQXxxazYCGCADKAIQIgEEQCABEAULIANBQGskAAsgBBAoCyAAKAIMIAIoAgQgAigCAGtBDG1GIQgLIBRBoAVqJAAgCAvvAwEQfwJA.IAFBP00EQCAAKAIMIgBBAkkEQEEADwsgAEEBayIDQQNxIQUgAigCACIEKAIAIQECQCAAQQJrQQNJBEBBASEAQQAhAwwBCyADQXxxIQ1BACEDQQEhAANAIAEi.AiAEIABBAnRqKAIAIgYgASAGSRsiByAEIABBAWoiDkECdGooAgAiCCAHIAhJGyIJIAQgAEECaiIPQQJ0aigCACIKIAkgCkkbIgsgBCAAQQNqIhBBAnRqKAIA.IgwgCyAMSRshASAQIA8gDiAAIAMgAiAGSxsgByAISxsgCSAKSxsgCyAMSxshAyAAQQRqIQAgEUEEaiIRIA1HDQALIAVFDQILA0AgACADIAEgBCAAQQJ0aigC.ACICSxshAyAAQQFqIQAgASACIAEgAkkbIQEgEkEBaiISIAVHDQALDAELQSAgACgCxAQiAWsiA0EETgRAIAAoAsAEIgIgACgCuARGBEBBAA8LIAIoAgAgACAB.QQRqIgQ2AsQEIAF0QRx2IQMgBEEgRw0BIABBADYCxAQgACACQQRqNgLABCADDwsgACgCwAQiAkEEaiIEIAAoArgERgRAQQAPCyACKAIAIQUgACAENgLABCAA.IAFBHGs2AsQEIAIoAgRBPCABayIAdiAFIAF0IAAgA2t2ciEDCyADC9ILAQp/AkAgAUEASA0AIAEgACgCDCIDIAAoAggiAmtBAnVPDQAgAiABQQJ0aiIEKAIA.IgIoAjwhBiACKAI4IQggAyAEQQRqIgJHBEADQCACKAIAIQUgAkEANgIAIAQoAgAhByAEIAU2AgAgBwRAIAcQFwsgBEEEaiEEIAJBBGoiAiADRw0ACyAAKAIM.IQMLIAMgBEcEQANAIANBBGsiAygCACECIANBADYCACACBEAgAhAXCyADIARHDQALCyAAIAQ2AgwCQCAAKAIEIgRFDQAgBkEASA0AIAQoAhgiAyAEKAIcIgJG.DQADQCAGIAMoAgAoAhhGBEAjAEEQayIJJAACQCADQQRqIgYgBCgCHCIKRgRAIAMhAgwBCyADIQIDQCAGKAIAIQUgBkEANgIAIAIoAgAhCyACIAU2AgAgCwRA.IAsoAhAhBSAJIAtBDGo2AgwgCUEMaiIHIAUQHiALKAIEIQUgCSALNgIMIAcgBRAhIAsQBQsgAkEEaiECIAZBBGoiBiAKRw0ACyAEKAIcIQoLIAogAyACIANr.aiIFRwRAA0AgCkEEayIKKAIAIQcgCkEANgIAIAcEQCAHKAIQIQIgCSAHQQxqNgIMIAlBDGoiAyACEB4gBygCBCECIAkgBzYCDCADIAIQISAHEAULIAUgCkcN.AAsLIAQgBTYCHCAJQRBqJAAMAgsgA0EEaiIDIAJHDQALCwJAIAhBBEoNAAJ/IAAgCEEMbGoiBygCFCEDIAcoAhgiBSADa0ECdSIEBEADQCADIAEgAygCAEYN.AhogA0EEaiEDIARBAWsiBA0ACwtBAAsiAiAFIAIbIgggBygCGCIFRg0AIAUgCEEEaiIDayICBEAgCCADIAL8CgAACyAHIAVBBGs2AhgLAkAgACgCGCICIAAo.AhQiBEYNAEEAIQMgAiAEa0ECdSICQQJPBEAgAkEBcSACQX5xIQdBACECA0AgASAEIANBAnRqIgYoAgAiBUgEQCAGIAVBAWs2AgALIAEgBigCBCIFSARAIAYg.BUEBazYCBAsgA0ECaiEDIAJBAmoiAiAHRw0AC0UNAQsgBCADQQJ0aiIDKAIAIgIgAUwNACADIAJBAWs2AgALAkAgACgCJCICIAAoAiAiBEYNAEEAIQMgAiAE.a0ECdSICQQJPBEAgAkEBcSACQX5xIQdBACECA0AgASAEIANBAnRqIgYoAgAiBUgEQCAGIAVBAWs2AgALIAEgBigCBCIFSARAIAYgBUEBazYCBAsgA0ECaiED.IAJBAmoiAiAHRw0AC0UNAQsgBCADQQJ0aiIDKAIAIgIgAUwNACADIAJBAWs2AgALAkAgACgCMCICIAAoAiwiBEYNAEEAIQMgAiAEa0ECdSICQQJPBEAgAkEB.cSACQX5xIQdBACECA0AgASAEIANBAnRqIgYoAgAiBUgEQCAGIAVBAWs2AgALIAEgBigCBCIFSARAIAYgBUEBazYCBAsgA0ECaiEDIAJBAmoiAiAHRw0AC0UN.AQsgBCADQQJ0aiIDKAIAIgIgAUwNACADIAJBAWs2AgALAkAgACgCPCICIAAoAjgiBEYNAEEAIQMgAiAEa0ECdSICQQJPBEAgAkEBcSACQX5xIQdBACECA0Ag.ASAEIANBAnRqIgYoAgAiBUgEQCAGIAVBAWs2AgALIAEgBigCBCIFSARAIAYgBUEBazYCBAsgA0ECaiEDIAJBAmoiAiAHRw0AC0UNAQsgBCADQQJ0aiIDKAIA.IgIgAUwNACADIAJBAWs2AgALIAAoAkgiAiAAKAJEIgZGDQBBACEDIAIgBmtBAnUiAEECTwRAIABBAXEgAEF+cSEFQQAhAgNAIAEgBiADQQJ0aiIIKAIAIgBI.BEAgCCAAQQFrNgIACyABIAgoAgQiAEgEQCAIIABBAWs2AgQLIANBAmohAyACQQJqIgIgBUcNAAtFDQELIAEgBiADQQJ0aiICKAIAIgBODQAgAiAAQQFrNgIA.CwuOBAEIfyMAQSBrIgUkACAFIAE2AgggASAAKAIMIgQgACgCCCIGa0ECdU4EQAJAAkACQCABQQFqIgMgBCAGayIJQQJ1IgdLBEAgACgCECAGayIIQQJ1IANP.BEAgAyAHa0ECdCIDBEAgBEEAIAP8CwALIAAgAyAEajYCDAwECyADQYCAgIAETw0BQf////8DIAhBAXUiBCADIAMgBEkbIAhB/P///wdPGyIEQYCAgIAETw0C.IARBAnQiCBAGIgogCWohBCADIAdrQQJ0IgMEQCAEQQAgA/wLAAsgBCAHQQJ0ayEHIAkEQCAHIAYgCfwKAAALIAAgCCAKajYCECAAIAMgBGo2AgwgACAHNgII.IAZFDQMgBhAFDAMLIAMgB08NAiAEIAYgA0ECdGoiA0cEQANAIARBBGsiBCgCACEGIARBADYCACAGBEAgBhAXCyADIARHDQALCyAAIAM2AgwMAgsQBwALEA4A.CwsgAigCOCIDQQRMBEAgBSAAIANBDGxqIgMoAhgiBDYCDCADKAIcIQYgBSADQRRqNgIYIAUgBUEIajYCFCAFIAVBDGo2AhAgAwJ/IAQgBkkEQCAEIAE2AgAg.BEEEagwBCyAFQRBqEBwgBSgCDAs2AhggBSgCCCEBCyACIAE2AjwgACgCCCABQQJ0aiIBKAIAIQAgASACNgIAIAAEQCAAEBcLIAVBIGokAAtWAQJ/IAAoAgwi.AiAAKAIIIgNHBEBBASACIANrQQJ1IgAgAEEBTRshAkEAIQADQCABIAMgAEECdGooAgAoAjxGBEAgAA8LIABBAWoiACACRw0ACwtBfws8AQF/QX8hAgJAIAFB.f0YNACABQQRKDQAgACABQQxsaiIAKAIYIAAoAhQiAGtBAEwNACAAKAIAIQILIAILiAIBB38gACgCBCIDRQRAQQAPCyAAQQRqIQYgASgCACABIAEsAAsiAEEA.SCIEGyEFIAEoAgQgACAEGyEAAkADQCAFIAMoAhAgA0EQaiADLAAbIgFBAEgiBBsiByADKAIUIAEgBBsiASAAIAAgAUsiBBsiCBATIglBAEggACABSSAJG0EB.RgRAIAMoAgAiAw0BQQAPCyAHIAUgCBATIgFBAEggBCABG0EBRw0BIAMoAgQiAw0AC0EADwtBACEBAkAgAyAGRg0AIAMoAhwiACADKAIgIgVGDQAgAiAFIABr.EHcgAhB2IQAgAygCICADKAIcIgFrIgIEQCAAIAEgAvwKAAALQQEhAQsgAQvbAQEGfyMAQRBrIgMkAAJAIAAoAhgiBCAAKAIcIgdGBEBBACEEDAELAkADQCAD.QQA2AgggA0IANwMAIAQoAgAgASADEMgBIQUgAywACyEAAkAgBUUNACADKAIEIAAgAEEASCIFGyIIIAIoAgQgAiwACyIGIAZBAEgiBhtHDQAgAygCACADIAUb.IAIoAgAgAiAGGyAIEBNFDQILIABBAEgEQCADKAIAEAULIARBBGoiBCAHRw0AC0EAIQQMAQsgBCgCACEEIABBAE4NACADKAIAEAULIANBEGokACAEC5UhAhV/.A34jAEEgayIMJABBDBAGIg5BADYCCCAOIAE2AgQgDkEANgIAIA5BDGoiASESAkACQAJAA0AgAUEEaygCACEWAkACQAJAAkACQAJAIAFBDGsiECgCACIRBEBB.ACEFIBZB6AdKDQggDEEANgIYIAxCADcDECAAKAIAIgIpAwggAikDECIXVw0IIAIoAgAgF6dqLQAAIQEgAiAXQgF8NwMQIAxBEGoiAyABEHcgAQRAIAAoAgAh.AiADEHYhAyACKQMIIAIpAxAiFyABrSIYfFMNAyABBEAgAyACKAIAIBenaiAB/AoAAAsgAiACKQMQIBh8NwMQC0EYEAYiCkIANwIQIApCADcCBCAKIApBBGo2.AgAgCiAKQRBqNgIMIAxBEGohAiMAQSBrIgQkAAJAAn8CQAJAIBEoAhAiAUUNACARQRBqIQkgAigCACACIAIsAAsiA0EASCIIGyEHIAIoAgQgAyAIGyEDA0Ag.ByABKAIQIAFBEGogASwAGyIIQQBIIgsbIgYgASgCFCAIIAsbIgggAyADIAhLIgsbIg0QEyITQQBIIAMgCEkgExtBAUYEQCABKAIAIgENAQwCCyAGIAcgDRAT.IghBAEggCyAIG0EBRgRAIAEoAgQiAQ0BDAILCyABIAlHDQELIAQgAjYCECAEIBFBDGo2AhwgAiEBAkACQCAEKAIcIgcoAgQiAkUEQCAHQQRqIgMhAQwBCyAB.KAIAIAEgASwACyIDQQBIIggbIQkgASgCBCADIAgbIQgDQCAJIAIiASgCECACQRBqIAIsABsiAkEASCIDGyILIAEoAhQgAiADGyICIAggAiAISSIGGyINEBMi.A0EASCACIAhLIAMbQQFGBEAgASIDKAIAIgINAQwCC0EAIQMgCyAJIA0QEyICQQBIIAYgAhtBAUcEQCABIQIMAwsgASgCBCICDQALIAFBBGohAwtBIBAGIgJB.ADYCACACQRBqIQkCQCAEKAIQIggsAAtBAE4EQCAJIAgoAgg2AgggCSAIKQIANwIADAELIAkgCCgCACAIKAIEEA0LIAIgATYCCCACQgA3AgAgAkEANgIcIAMg.AjYCACAHKAIAKAIAIgEEQCAHIAE2AgALIAcoAgQgAhBpQQEhAyAHIAcoAghBAWo2AggLIAQgAzoAGCAEIAI2AhQgBCgCFCICKAIcIQEgAiAKNgIcIAFFBEBB.ASECDAMLIAEoAhAhAiAEIAFBDGo2AhQgBEEUaiIDIAIQHiABKAIEIQIgBCABNgIUIAMgAhAhQQEMAQsgCkUEQEEAIQIMAgsgCigCECEBIAQgCkEMajYCFCAE.QRRqIgIgARAeIAooAgQhASAEIAo2AhQgAiABECEgCiEBQQALIQIgARAFCyAEQSBqJAAgDCwAG0EASARAIAwoAhAQBQsgAg0BDAgLIAFBCGsoAgAiCkUNAwsg.DEEANgIQQQEgDEEQaiAAKAIAED9FDQJBACEBIAwoAhAiE0UNAQNAAn9BACEFIwBBIGsiCSQAIAlBADYCGCAJQgA3AxACQAJAIAAoAgAiAykDCCADKQMQIhdX.DQAgAygCACAXp2otAAAhAiADIBdCAXw3AxAgCUEQaiIEIAIQdyACBEAgACgCACEDIAQQdiEEIAMpAwggAykDECIXIAKtIhh8Uw0BIAIEQCAEIAMoAgAgF6dq.IAL8CgAACyADIAMpAxAgGHw3AxALIAlBADYCDEEBIAlBDGogACgCABA/RQ0AIAkoAgwiAkUNACACrSIZIAAoAgAiAykDCCIXIAMpAxAiGH1VDQAgAkEASA0B.IAkgAhAGIgU2AgAgCSACIAVqIgQ2AgggBUEAIAL8CwAgCSAENgIEAkAgGCAZfCIZIBdXBEAgBSADKAIAIBinaiAC/AoAACADIBk3AxAgCUEQaiICIQsjAEEw.ayIIJAACQCAKKAIEIgRFDQAgCkEEaiEGIAIoAgAgAiACLAALIgJBAEgiAxshBSALKAIEIAIgAxshAyAEIQIDQCAFIAIoAhAgAkEQaiACLAAbIgdBAEgiDRsi.DyACKAIUIAcgDRsiByADIAMgB0siDRsiFBATIhVBAEggAyAHSSAVG0EBRgRAIAIoAgAiAg0BDAILIA8gBSAUEBMiB0EASCANIAcbQQFGBEAgAigCBCICDQEM.AgsLIAIgBkYNAAJAIAIoAgQiBUUEQCACIQMDQCADIAMoAggiAygCAEcNAAsMAQsDQCAFIgMoAgAiBQ0ACwsgAiAKKAIARgRAIAogAzYCAAsgCiAKKAIIQQFr.NgIIAn8CQCACIgciAygCACIFBEAgAigCBCICRQ0BA0AgAiIDKAIAIgINAAsLIAMoAgQiBQ0AIAMoAgghBkEAIQVBAQwBCyAFIAMoAggiBjYCCEEACyENAkAg.BigCACICIANGBEAgBiAFNgIAIAMgBEYEQEEAIQIgBSEEDAILIAYoAgQhAgwBCyAGIAU2AgQLIAMtAAwhDyADIAdHBEAgAyAHKAIIIgY2AggCQCAGKAIAIAdG.BEAgBiADNgIADAELIAYgAzYCBAsgAyAHKAIAIgY2AgAgBiADNgIIIAMgBygCBCIGNgIEIAYEQCAGIAM2AggLIAMgBy0ADDoADCADIAQgBCAHRhshBAsCQCAE.RQ0AIA9BAXFFDQAgDQRAA0AgAi0ADCEGAkAgAigCCCIDKAIAIgUgAkcEQCAGQQFxRQRAIAJBAToADCADQQA6AAwgAyADKAIEIgUoAgAiBjYCBCAGBEAgBiAD.NgIICyAFIAMoAggiBjYCCAJAIAYoAgAgA0YEQCAGIAU2AgAMAQsgBiAFNgIECyAFIAM2AgAgAyAFNgIIIAIgBCAEIAIoAgAiAkYbIQQgAigCBCECCwJAAkAC.QAJAIAIoAgAiAwRAIAMtAAxBAUcNAQsgAigCBCIFBEAgBS0ADEEBRw0CCyACQQA6AAwgBCACKAIIIgJHBEAgAi0ADA0GCyACQQE6AAwMCAsgAigCBCIFRQ0B.CyAFLQAMQQFGDQAgAiEDDAELIANBAToADCACQQA6AAwgAiADKAIEIgQ2AgAgBARAIAQgAjYCCAsgAyACKAIIIgQ2AggCQCAEKAIAIAJGBEAgBCADNgIADAEL.IAQgAzYCBAsgAyACNgIEIAIgAzYCCCACIQULIAMgAygCCCICLQAMOgAMIAJBAToADCAFQQE6AAwgAiACKAIEIgMoAgAiBDYCBCAEBEAgBCACNgIICyADIAIo.AggiBDYCCAJAIAQoAgAgAkYEQCAEIAM2AgAMAQsgBCADNgIECyADIAI2AgAgAiADNgIIDAQLIAZBAXFFBEAgAkEBOgAMIANBADoADCADIAUoAgQiBjYCACAG.BEAgBiADNgIICyAFIAMoAggiBjYCCAJAIAYoAgAgA0YEQCAGIAU2AgAMAQsgBiAFNgIECyAFIAM2AgQgAyAFNgIIIAIgBCAEIAIoAgQiAkYbIQQgAigCACEC.CwJAAkAgAigCACIFRQ0AIAUtAAxBAUYNACACIQMMAQsCQCACKAIEIgMEQCADLQAMQQFHDQELIAJBADoADCACKAIIIgItAAxBAUYgAiAER3ENAiACQQE6AAwM.BQsgBQRAIAUtAAxBAUcEQCACIQMMAgsgAigCBCEDCyADQQE6AAwgAkEAOgAMIAIgAygCACIENgIEIAQEQCAEIAI2AggLIAMgAigCCCIENgIIAkAgBCgCACAC.RgRAIAQgAzYCAAwBCyAEIAM2AgQLIAMgAjYCACACIAM2AgggAiEFCyADIAMoAggiAi0ADDoADCACQQE6AAwgBUEBOgAMIAIgAigCACIDKAIEIgQ2AgAgBARA.IAQgAjYCCAsgAyACKAIIIgQ2AggCQCAEKAIAIAJGBEAgBCADNgIADAELIAQgAzYCBAsgAyACNgIEIAIgAzYCCAwDCyACKAIIIgNBBEEAIAIgAygCAEYbaigC.ACECDAALAAsgBUEBOgAMCyAHKAIcIgIEQCAHIAI2AiAgAhAFCyAHLAAbQQBIBEAgBygCEBAFCyAHEAULIAkoAgQiAiAJKAIAIgRrIQMCQAJAAn8gAiAERgRA.QQAhAkEADAELIANBAEgNASADEAYhAiADBEAgAkEAIAP8CwALIAIgA2oLIQcgAwRAIAIgBCAD/AoAAAsCQCALLAALQQBOBEAgCCALKAIINgIQIAggCykCADcD.CAwBCyAIQQhqIAsoAgAgCygCBBANC0EAIQUgCEEANgIcIAhCADcCFCAHIAJrIQMgAiAHRwRAIANBAEgNASADEAYhBSADBEAgBUEAIAP8CwALIAggAyAFaiIE.NgIcIAggBDYCGCAIIAU2AhQLIAMEQCAFIAIgA/wKAAALIAggCjYCLCAIQQhqIgUhAwJAAkACQAJAIAgoAiwiCygCBCIERQRAIAtBBGoiByEDDAELIAMoAgAg.AyADLAALIgdBAEgiBhshDSADKAIEIAcgBhshBgNAIA0gBCIDKAIQIANBEGogAywAGyIEQQBIIgcbIg8gAygCFCAEIAcbIgQgBiAEIAZJIhQbIhUQEyIHQQBI.IAQgBksgBxtBAUYEQCADIgcoAgAiBA0BDAILQQAhByAPIA0gFRATIgRBAEggFCAEG0EBRwRAIAMhBAwDCyADKAIEIgQNAAsgA0EEaiEHC0EAIQZBKBAGIgRB.ADYCACAEIAUoAgg2AhggBCAFKQIANwIQIAVCADcCACAFQQA2AgggBEEANgIkIARCADcCHCAFKAIQIg8gBSgCDCINayEFIA0gD0cEQCAFQQBIDQIgBRAGIQYg.BQRAIAZBACAF/AsACyAEIAUgBmoiDzYCJCAEIA82AiAgBCAGNgIcCyAFBEAgBiANIAX8CgAACyAEIAM2AgggBEIANwIAIAcgBDYCACALKAIAKAIAIgMEQCAL.IAM2AgALIAsoAgQgBBBpQQEhByALIAsoAghBAWo2AggLIAggBzoAKCAIIAQ2AiQMAQsQBwALIAgoAhQiAwRAIAggAzYCGCADEAULIAgsABNBAEgEQCAIKAII.EAULIAIEQCACEAULIAhBMGokAAwBCxAHAAsgCSgCACIFRQ0BCyAJIAU2AgQgBRAFCyAXIBlZIQULIAksABtBAEgEQCAJKAIQEAULIAlBIGokACAFDAELEAcA.C0UNAyATIAFBAWoiAUcNAAsMAQsgDCwAG0EATg0FIAwoAhAQBQwFCyAMQQA2AgxBASAMQQxqIAAoAgAQP0UNACAMKAIMIgStIAAoAgAiASkDCCABKQMQfVUN.ACAEDQEgECEBDAILQQAhBQwDC0EAIQUgFiARQQBHaiEHIBAhAQNAAkAgASASSQRAIAEgBzYCCCABQQA2AgQgASAKNgIADAELIAEgDmsiA0EMbUEBaiIBQdaq.1aoBTw0FQdWq1aoBIBIgDmtBDG0iAkEBdCIQIAEgASAQSRsgAkGq1arVAE8bIgFB1qrVqgFPDQYgAUEMbCIQEAYiCCADaiIBIAc2AgggAUEANgIEIAEgCjYC.ACABIANBdG1BDGxqIQIgAwRAIAIgDiAD/AoAAAsgDhAFIAggEGohEiACIQ4LIAFBDGohASAFQQFqIgUgBEcNAAsLIAEgDkcNAAtBASEFCyAOEAUgDEEgaiQA.IAUPCxAHAAsQDgALBABBBAsEAEEDC+sEAQ1/An8jAEEQayIGJAAgASgCUCIIIAItABgiAGwhAQJAAkACQCACKAIcIgRBBUcgBEEGR3ENACACLQBUQQFxRQ0A.An8gAUUEQEEAIQBBAAwBCyABQQBIDQMgAigCMCEEIAIoAgAoAgAhAiABQQJ0IgEQBiEAIAEEQCAAIAIgBGogAfwKAAALIAAgAWoLIQEgAygCACICBEAgAyAC.NgIEIAIQBQsgAyABNgIIIAMgATYCBCADIAA2AgBBASEFDAELAkAgAEUEQCADIAEQDCAIDQFBASEFDAILIABBAnQiBRAGIQQgBQRAIARBACAF/AsACyADIAEQ.DCAIRQRAQQEhBSAEEAUMAgsgAEH8AXEhDyAAQQNxIQsgAEEESSEQQQAhAQNAIAYgAi0AVAR/IAcFIAIoAkQgB0ECdGooAgALNgIMIAIgBkEMaiACLAAYIAQQ.XSIFBEAgAygCACEMQQAhDUEAIQ5BACEAAkAgEEUEQANAIAwgAUECdGoiCSAEIABBAnRqIgooAgA2AgAgCSAKKAIENgIEIAkgCigCCDYCCCAJIAooAgw2Agwg.AEEEaiEAIAFBBGohASAOQQRqIg4gD0cNAAsgC0UNAQsDQCAMIAFBAnRqIAQgAEECdGooAgA2AgAgAEEBaiEAIAFBAWohASANQQFqIg0gC0cNAAsLIAdBAWoi.ByAIRw0BCwsgBBAFDAELQQAhAQNAIAYgAi0AVAR/IAEFIAIoAkQgAUECdGooAgALNgIMIAIgBkEMaiACLAAYQQAQXRpBASEFIAFBAWoiASAIRw0ACwsgBkEQ.aiQAIAUMAQsQBwALCxAAIAAoAgAgAUECdGooAgALEAAgACgCBCAAKAIAa0EBdQsNACAAKAIEIAAoAgBrC5MFAgp/A34jAEHQAGsiBCQAAkACQAJAIAAoAhwt.ACRBAU0EQCABKQMQIg1CBHwiDCABKQMIVQ0CIAEoAgAgDadqKAAAIQcgASAMNwMQDAELQQEgBEHMAGogARCBAUUNASAEKAJMIQcLIAdFDQEgB60gASkDCCAB.KQMQfUIFflUNASAAQQRqIAcQDCAAQRBqIQsgACgCICEFA0AgASkDCCINIAEpAxAiDlcNASABKAIAIgIgDqdqLQAAIQYgASAOQgF8Igw3AxAgDCANWQ0BIAIg.DKdqLQAAIQggASAOQgJ8Igw3AxAgDCANWQ0BIAIgDKdqLQAAIQMgASAOQgN8Igw3AxAgDCANWQ0BIAIgDKdqLQAAIQIgASAOQgR8NwMQIAZBBEsNASAIQQxr.Qf8BcUH1AUkNASADRQ0BIARBCGoQQyIJIAYgAyAIIAJBAEcgCEEBayICQQpNBH8gAi0AkGoFQX8LIANsrBBnAkAgACgCHC8BJCICQQh0IAJBCHZyQf//A3FB.ggJNBEAgASkDECINQgJ8IgwgASkDCFUNAyABKAIAIA2nai8AACEDIAEgDDcDECAEIAM2AgQMAQtBASAEQQRqIAEQgQFFDQIgBCgCBCEDCyAEIAM2AkRB4AAQ.BiAJEGQhAiAFIAUoAgwgBSgCCGtBAnUgAiAFKAIAKAIIEQcAIAUoAgwgBSgCCGtBAnVBAWsiBkECdCIJIAUoAghqKAIAIAM2AjwgACgCBCAKQQJ0aiAGNgIA.IAAoAhQgACgCECICa0ECdSAGTAR/IARBfzYCACALIAZBAWogBBAdIAsoAgAFIAILIAlqIAo2AgBBASEDIApBAWoiCiAHRw0ACwwBC0EAIQMLIARB0ABqJAAg.AwsQACAAKAIMIAAoAghrQQJ1CxEAIAAgASAAKAIAKAIMEQEACwcAIAAoAgALvAQCBX8BfiAAKAJARQRAQSAQBiICQgA3AxAgAkEANgIIIAJCADcDACACQgA3.AxggACgCQCEDIAAgAjYCQCADBEAgAygCACICBEAgAyACNgIEIAIQBQsgAxAFIAAoAkAhAgsgACACNgIAIAAgAikDEDcDCCACKQMYIQcgAEIANwMwIABCADcD.KCAAIAc3AxALAkACQAJ/IAAgAS0AGDoAGCAAIAEoAhw2AhwgACABLQAgOgAgIAAgASkDKDcDKCAAIAEpAzA3AzAgACABKAI4NgI4IAAgASkDCDcDCCAAIAEp.AxA3AxAgACABKAI8NgI8IAEoAgAiA0UEQCAAQQA2AgBBAQwBC0EAIAAoAgAiAkUNABogAiADKAIAIgIgAygCBCACa60Q2AEaQQELRQ0AIAAgAS0AVDoAVCAA.IAEoAlA2AlAgACABRwRAIABBxABqIAEoAkQiAyABKAJIIgIgAiADa0ECdRBACwJAIAEoAlgiBQRAQSgQBiEEIAUoAgAhASAEQQA2AhAgBEIANwMIIAQgATYC.ACAFKAIMIgEgBSgCCCIDRwRAIAEgA2siBkEASA0EIAQgBhAGIgI2AgggBCACIAZqIgE2AhAgBgRAIAIgAyAG/AoAAAsgBCABNgIMCyAEIAUpAyA3AyAgBCAF.KQMYNwMYIAAoAlghAiAAIAQ2AlggAg0BDAILIAAoAlghAiAAQQA2AlggAkUNAQsgAigCCCIABEAgAiAANgIMIAAQBQsgAhAFCw8LEAcAC+oCAQh/QX8hAwJA.IAAoAgQiAkUNACAAQQRqIQYgASgCACABIAEsAAsiAEEASCIEGyEFIAEoAgQgACAEGyEAA0AgBSACKAIQIAJBEGogAiwAGyIBQQBIIgQbIgcgAigCFCABIAQb.IgEgACAAIAFLIgQbIggQEyIJQQBIIAAgAUkgCRtBAUYEQCACKAIAIgINAQwCCyAHIAUgCBATIgFBAEggBCABG0EBRgRAIAIoAgQiAg0BDAILCyACIAZGDQAg.AigCHCACQRxqIAIsACdBAEgbIQADQCAAIgFBAWohACABLAAAIgJBIEYgAkEJa0EFSXINAAtBASEDAkACQAJAIAJB/wFxQStrDgMBAgACC0EAIQMLIAAsAAAh.AiAAIQELQQAhACACQTBrIgJBCU0EQANAIABBCmwgAmshACABLAABIAFBAWohAUEwayICQQpJDQALC0EAIABrIAAgAxshAwsgA0EARyADQX9HcQt4AgF+An8C.QCAAQQpLDQAgAikDECIDIAIpAwhZDQAgAigCACADp2osAAAhBSACIANCAXw3AxAgBa0hAyABAn4gBUEASARAIABBAWogASACENcBRQ0CIANC/wCDIAEpAwBC.B4aEDAELIANC/wGDCzcDAEEBIQQLIAQL/QMBBn8CQAJAIAFFBEAgAkIAUwRAQQAPCyACpyIBIAAoAgQiBCAAKAIAIgZrIgNLBEAgASAAKAIIIAZrIgVNBEAg.ASADayIBBEAgBEEAIAH8CwALIAAgASAEajYCBAwDCyABQQBIDQNB/////wcgBUEBdCIEIAEgASAESRsgBUH/////A08bIgUQBiEEIAEgA2siBwRAIAMgBGpB.ACAH/AsACyADBEAgBCAGIAP8CgAACyAAIAQgBWo2AgggACABIARqNgIEIAAgBDYCACAGRQ0CIAYQBQwCCyABIANPDQEgACABIAZqNgIEDAELIAJCAFMEQEEA.DwsCQCAAKAIEIgUgACgCACIEayIGrSACWQ0AIAYgAqciA0kEQCADIAAoAgggBGsiB00EQCADIAZrIgMEQCAFQQAgA/wLAAsgACADIAVqNgIEDAILIANBAEgN.A0H/////ByAHQQF0IgUgAyADIAVJGyAHQf////8DTxsiBxAGIQUgAyAGayIIBEAgBSAGakEAIAj8CwALIAYEQCAFIAQgBvwKAAALIAAgBSAHajYCCCAAIAMg.BWo2AgQgACAFNgIAIARFDQEgBBAFDAELIAMgBk8NACAAIAMgBGo2AgQLIAKnIgNFDQAgACgCACABIAP8CgAACyAAIAApAxhCAXw3AxhBAQ8LEAcAC1ACAn8C.fgJ/QQAgACgCICIBKQMIIAEpAxAiA0IEfCIEUw0AGiABKAIAIAOnaigAACECIAEgBDcDEEEAIAJBAEgNABogACgCBCACNgJQQQELC8ILAQh/IwBBIGsiBiQA.IAEgAzYCICABIAI2AiggASAENgIEIAAgAyAGQRRqEGYCQCAAKAIADQAgACwAD0EASARAIAAoAgQQBQsgBi0AGyIEIAEgASgCACgCCBEAAEcEQEE4EAYiAUEA.OgAyIAFB1QovAAA7ADAgAUHNCikAADcAKCABQcUKKQAANwAgIAFBvQopAAA3ABggAUG1CikAADcAECABQa0KKQAANwAIIAFBpQopAAA3AAAgAEF/NgIAIABB.BGogAUEyEA0gARAFDAELIAEgBi0AGSICOgAkIAEgBi0AGiIDOgAlIAJBA2tB/wFxQf0BTQRAQRgQBiIBQQA6ABYgAUHCCykAADcADiABQbwLKQAANwAIIAFB.tAspAAA3AAAgAEF7NgIAIABBBGogAUEWEA0gARAFDAELAkAgAkECRw0AQQJBAyAEGyADTw0AQRgQBiIBQQA6ABYgAUGrCykAADcADiABQaULKQAANwAIIAFB.nQspAAA3AAAgAEF7NgIAIABBBGogAUEWEA0gARAFDAELIAEoAiAgAkEIdCADciICOwEmAkAgAkH//wNxQYMCSQ0AIAYuAR5BAE4NACMAQRBrIgskAEEkEAYi.A0IANwIQIANCADcCBCADQQA2AiAgA0IANwIYIAMgA0EEajYCACADIANBEGo2AgwgC0EMaiIIQQA2AgAgASgCICECIwBBEGsiBSQAAn8CQCADRQ0AIAggAjYC.ACAFQQA2AghBAEEBIAVBCGogAhA/RQ0BGgJAIAUoAggiDARAA0BBASAFQQRqIAgoAgAQP0UNA0EcEAYiBEIANwIQIARCADcCBCAEIARBBGo2AgAgBCAEQRBq.NgIMIAQgBSgCBDYCGCAIIAQQygFFDQIjAEEgayICJAAgAiAENgIIAkAgBEUNACACIAMoAhwiBzYCDCADKAIgIQkgAiADQRhqNgIYIAIgAkEIajYCFCACIAJB.DGo2AhAgAwJ/IAcgCUkEQCACQQA2AgggByAENgIAIAdBBGoMAQsgAkEQahCsASACKAIMCzYCHCACKAIIIQQgAkEANgIIIARFDQAgBCgCECEHIAIgBEEMajYC.ECACQRBqIgkgBxAeIAQoAgQhByACIAQ2AhAgCSAHECEgBBAFCyACQSBqJAAgCkEBaiIKIAxHDQALCyAIIAMQygEMAgsgBCgCECECIAUgBEEMajYCDCAFQQxq.IgggAhAeIAQoAgQhAiAFIAQ2AgwgCCACECEgBBAFC0EACyECIAVBEGokAAJAIAIEQCABKAIEIgQoAgQhAiAEIAM2AgQgAgRAIAIQhQEQBQsgAEIANwIIIABC.ADcCAAwBC0EgEAYiAkEAOgAaIAJB3gwvAAA7ABggAkHWDCkAADcAECACQc4MKQAANwAIIAJBxgwpAAA3AAAgAEF/NgIAIABBBGogAkEaEA0gAhAFIAMQhQEQ.BQsgC0EQaiQAIAAoAgANASAALAAPQQBODQAgACgCBBAFCyABIAEoAgAoAgwRAABFBEBBKBAGIgFBADoAISABQZsLLQAAOgAgIAFBkwspAAA3ABggAUGLCykA.ADcAECABQYMLKQAANwAIIAFB+wopAAA3AAAgAEF/NgIAIABBBGogAUEhEA0gARAFDAELIAEgASgCACgCFBEAAEUEQCAGQQhqQeEMEGUhASAAQX82AgAgAEEE.aiEAIAEsAAtBAE4EQCAAIAEoAgg2AgggACABKQIANwIADAILIAAgASgCACABKAIEEA0gASwAC0EATg0BIAEoAgAQBQwBCyABIAEoAgAoAhgRAABFBEAgBkEI.akHYChBlIQEgAEF/NgIAIABBBGohACABLAALQQBOBEAgACABKAIINgIIIAAgASkCADcCAAwCCyAAIAEoAgAgASgCBBANIAEsAAtBAE4NASABKAIAEAUMAQsg.AEIANwIIIABCADcCAAsgBkEgaiQAC7ICAQh/AkACQAJAIAAoAgQiBiAAKAIAIgRrIgVBAnUiAiABSQRAIAAoAgggBGsiA0ECdSABTwRAIAEgAmtBAnQiAQRA.IAZBACAB/AsACyAAIAEgBmo2AgQPCyABQYCAgIAETw0CQf////8DIANBAXUiByABIAEgB0kbIANB/P///wdPGyIDQYCAgIAETw0DIANBAnQiCBAGIgkgBWoh.BSABIAJrQQJ0IgcEQCAFQQAgB/wLAAsgBSACQQJ0ayEDIAQgBkcEQCAEIQEgAyECA0AgAiABKAIANgIAIAJBBGohAiABQQRqIgEgBkcNAAsLIAAgCCAJajYC.CCAAIAUgB2o2AgQgACADNgIAIARFDQEgBBAFDwsgASACTw0AIAAgBCABQQJ0ajYCBAsPCxAHAAsQDgALnQEBAn9BwAAQBkEMEAYiAiAAKAIEKAJQNgIIIAJB.oOcANgIAIAJBADYCBCACEJwBIQMCQAJAIAFBAEgEQCADIQIMAQsgACgCDCAAKAIIIgJrQQJ1IAFMBH8gAEEIaiABQQFqEFIgACgCCAUgAgsgAUECdGoiACgC.ACECIAAgAzYCACACRQ0BCyACIAIoAgAoAgQRAgALIAFBf3NBH3YLtRIBC38jAEEwayIDJAACQCABKAIAIgVBf0YEQEEBIQIMAQtBASECIAAoAhggBUEDbiIE.QQN2Qfz///8AcWooAgAgBHZBAXENACAAIAAoAjAiAjYCNCADIAI2AhwgACgCOCEEIAMgAEEwaiIKNgIoIAMgATYCJCADIANBHGo2AiAgAAJ/IAIgBEkEQCAC.IAU2AgAgAkEEagwBCyADQSBqEAkgAygCHAs2AjRBfyEFIAAoAgQhBAJAIAEoAgAiAkF/RgRAIAQoAhwiBigC/P///w8hBAwBCyAEKAIcIgYgAkEBaiIFIAJB.AmsgBUEDcBtBAnRqKAIAIQQgAkEDcARAIAJBAWshBQwBCyACQQJqIQULIARBf0YEQEEAIQIMAQsgBiAFQQJ0aigCACIFQX9GBEBBACECDAELIAAoAiQiBiAE.QQN2Qfz///8BcWoiBygCACIIQQEgBHQiCXEEfyAGBSAHIAggCXI2AgBBfyEGIAJBf0cEQCACQQFqIgYgAkECayAGQQNwGyEGCyADIAY2AhQgACgCFCECIAMg.ACgCECgCYCAGQQNuIgdBDGxqIAYgB0EDbGtBAnRqKAIAIgc2AhggAyACKAIEIgIoAgQiBjYCHCACKAIIIQggAyACNgIoIAMgA0EYajYCJCADIANBHGo2AiAg.AgJ/IAYgCEkEQCAGIAc2AgAgBkEEagwBCyADQSBqEAkgAygCHAs2AgQgAyAAKAIMIgIoAgQiBjYCHCACKAIIIQcgAyACNgIoIAMgA0EUajYCJCADIANBHGo2.AiAgAgJ/IAYgB0kEQCAGIAMoAhQ2AgAgBkEEagwBCyADQSBqEAkgAygCHAs2AgQgACgCDCICKAIMIARBAnRqIAIoAhgiBDYCACACIARBAWo2AhggACgCJAsg.BUEDdkH8////AXFqIgIoAgAiBEEBIAV0IgZxRQRAIAIgBCAGcjYCACADAn9BfyABKAIAIgRBf0YNABogBEEBayAEQQNwDQAaIARBAmoLIgI2AhAgACgCFCEE.IAMgACgCECgCYCACQQNuIgZBDGxqIAIgBkEDbGtBAnRqKAIAIgY2AhggAyAEKAIEIgIoAgQiBDYCHCACKAIIIQcgAyACNgIoIAMgA0EYajYCJCADIANBHGo2.AiAgAgJ/IAQgB0kEQCAEIAY2AgAgBEEEagwBCyADQSBqEAkgAygCHAs2AgQgAyAAKAIMIgIoAgQiBDYCHCACKAIIIQYgAyACNgIoIAMgA0EQajYCJCADIANB.HGo2AiAgAgJ/IAQgBkkEQCAEIAMoAhA2AgAgBEEEagwBCyADQSBqEAkgAygCHAs2AgQgACgCDCICKAIMIAVBAnRqIAIoAhgiBTYCACACIAVBAWo2AhgLIAAo.AjAiBSAAKAI0IgRGBEBBASECDAELA0AgASAEQQRrIgQoAgAiAjYCAAJAAkACQCACQX9GDQAgAkEDbiICQQN2Qfz///8AcSIGIAAoAhgiB2ooAgAgAnZBAXEN.ACAGIAdqIgUgBSgCAEEBIAJ0cjYCACAAKAIEIgUoAhwgASgCACICQQJ0aigCACIEQX9HDQFBACECDAQLIAAgBDYCNAwBCwNAAkACQCAAKAIkIARBA3ZB/P//./wFxaiIHKAIAIghBASAEdCIJcQ0AAkAgBEECdCILIAUoAihqKAIAIgRBf0YEQEEBIQYMAQtBASEGIARBAWoiDCAEQQJrIAxBA3AbIgRBf0YNACAFKAIAIARB.A3ZB/P///wFxaigCACAEdkEBcQ0AIAUoAkAoAgwgBEECdGooAgAiBUF/Rg0AIAVBAWoiBCAFQQJrIARBA3AbQX9GIQYLIAcgCCAJcjYCACADIAI2AgwgACgC.FCEFIAMgACgCECgCYCACQQNuIgRBDGxqIAIgBEEDbGtBAnRqKAIAIgQ2AhggAyAFKAIEIgIoAgQiBTYCHCACKAIIIQcgAyACNgIoIAMgA0EYajYCJCADIANB.HGo2AiAgAgJ/IAUgB0kEQCAFIAQ2AgAgBUEEagwBCyADQSBqEAkgAygCHAs2AgQgAyAAKAIMIgIoAgQiBTYCHCACKAIIIQQgAyACNgIoIAMgA0EMajYCJCAD.IANBHGo2AiAgAgJ/IAQgBUsEQCAFIAMoAgw2AgAgBUEEagwBCyADQSBqEAkgAygCHAs2AgQgACgCDCICKAIMIAtqIAIoAhgiBTYCACACIAVBAWo2AhggASgC.ACECIAAoAgQhBSAGDQBBfyEEAkAgAkF/Rg0AIAJBAWoiBiACQQJrIAZBA3AbIgJBf0YNACAFKAIAIAJBA3ZB/P///wFxaigCACACdkEBcQ0AIAUoAkAoAgwg.AkECdGooAgAhBAsgASAENgIAIARBA24hAgwBCwJAAkACQAJAIAJBf0YNAEF/IQQCQCACQQFqIgYgAkECayAGQQNwGyIGQX9GDQAgBSgCACAGQQN2Qfz///8B.cWooAgAgBnZBAXENACAFKAJAKAIMIAZBAnRqKAIAIQQLIAMgBDYCGAJ/AkAgAkEDcARAIAJBAWshAgwBC0F/IAJBAmoiAkF/Rg0BGgtBfyAFKAIAIAJBA3ZB./P///wFxaigCACACdkEBcQ0AGiAFKAJAKAIMIAJBAnRqKAIACyIGQQNuIQIgBEEDbiEFIARBf0cEQCAAKAIYIgcgBUEDdkH8////AHFqKAIAIAV2QQFxRQ0C.CyAGQX9GDQAgBiEEIAAoAhggAkEDdkH8////AHFqKAIAIAJ2QQFxRQ0DCyAAIAAoAjRBBGs2AjQMAQsgBkF/RgRAIAUhAgwCCyAHIAJBA3ZB/P///wBxaigC.ACACdiAFIQJBAXENASAAKAI0IgJBBGsgBjYCACADIAI2AhwgACgCOCEFIAMgCjYCKCADIANBGGo2AiQgAyADQRxqNgIgIAIgBUkEQCACIAMoAhg2AgAgACAC.QQRqNgI0DAELIANBIGoQCSAAIAMoAhw2AjQLIAAoAjQhBCAAKAIwIQUMAwsgASAENgIACyAAKAIYIAJBA3ZB/P///wBxaiIFIAUoAgBBASACdHI2AgAgACgC.BCIFKAIcIAEoAgAiAkECdGooAgAiBEF/Rw0AC0EAIQIMAgtBASECIAQgBUcNAAsLIANBMGokACACC5YRAQt/IwBBMGsiAyQAAkAgASgCACIEQX9GBEBBASEC.DAELQQEhAiAAKAIYIARBA24iBUEDdkH8////AHFqKAIAIAV2QQFxDQAgACAAKAIwIgI2AjQgAyACNgIcIAAoAjghBSADIABBMGoiCjYCKCADIAE2AiQgAyAD.QRxqNgIgIAACfyACIAVJBEAgAiAENgIAIAJBBGoMAQsgA0EgahAJIAMoAhwLNgI0QX8hBSABKAIAIgJBf0YEQEEAIQIMAQsgACgCBCEGIAJBAWoiBCACQQJr.IARBA3AbIgRBf0cEQCAGKAIAIARBAnRqKAIAIQULAkAgAkEDcARAIAJBAWshAgwBCyACQQJqIgJBf0cNAEEAIQIMAQsgBUF/RgRAQQAhAgwBCyAGKAIAIAJB.AnRqKAIAIgJBf0YEQEEAIQIMAQsgACgCJCIGIAVBA3ZB/P///wFxaiIHKAIAIghBASAFdCIJcQR/IAYFIAcgCCAJcjYCACADIAQ2AhQgACgCFCEGIAMgACgC.ECgCYCAEQQNuIgdBDGxqIAQgB0EDbGtBAnRqKAIAIgc2AhggAyAGKAIEIgYoAgQiBDYCHCAGKAIIIQggAyAGNgIoIAMgA0EYajYCJCADIANBHGo2AiAgBgJ/.IAQgCEkEQCAEIAc2AgAgBEEEagwBCyADQSBqEAkgAygCHAs2AgQgAyAAKAIMIgYoAgQiBDYCHCAGKAIIIQcgAyAGNgIoIAMgA0EUajYCJCADIANBHGo2AiAg.BgJ/IAQgB0kEQCAEIAMoAhQ2AgAgBEEEagwBCyADQSBqEAkgAygCHAs2AgQgACgCDCIEKAIMIAVBAnRqIAQoAhgiBTYCACAEIAVBAWo2AhggACgCJAsgAkED.dkH8////AXFqIgQoAgAiBUEBIAJ0IgZxRQRAIAQgBSAGcjYCACADAn9BfyABKAIAIgRBf0YNABogBEEBayAEQQNwDQAaIARBAmoLIgU2AhAgACgCFCEEIAMg.ACgCECgCYCAFQQNuIgZBDGxqIAUgBkEDbGtBAnRqKAIAIgY2AhggAyAEKAIEIgQoAgQiBTYCHCAEKAIIIQcgAyAENgIoIAMgA0EYajYCJCADIANBHGo2AiAg.BAJ/IAUgB0kEQCAFIAY2AgAgBUEEagwBCyADQSBqEAkgAygCHAs2AgQgAyAAKAIMIgQoAgQiBTYCHCAEKAIIIQYgAyAENgIoIAMgA0EQajYCJCADIANBHGo2.AiAgBAJ/IAUgBkkEQCAFIAMoAhA2AgAgBUEEagwBCyADQSBqEAkgAygCHAs2AgQgACgCDCIEKAIMIAJBAnRqIAQoAhgiAjYCACAEIAJBAWo2AhgLIAAoAjAi.BiAAKAI0IgVGBEBBASECDAELA0AgASAFQQRrIgUoAgAiAjYCAAJAAkACQCACQX9GDQAgAkEDbiICQQN2Qfz///8AcSIEIAAoAhgiB2ooAgAgAnZBAXENACAE.IAdqIgQgBCgCAEEBIAJ0cjYCACABKAIAIgJBf0cNAUEAIQIMBAsgACAFNgI0DAELA0AgACgCBCIEKAIAIAJBAnRqKAIAIgVBf0YEQEEAIQIMBAsCQAJAAkAC.QAJAIAAoAiQgBUEDdkH8////AXFqIgcoAgAiCEEBIAV0IglxRQRAAkAgBUECdCILIAQoAhhqKAIAIgVBf0YEQEEBIQYMAQtBASEGIAVBAWoiDCAFQQJrIAxB.A3AbIgVBf0YNACAEKAIMIAVBAnRqKAIAIgRBf0YNACAEQQFqIgUgBEECayAFQQNwG0F/RiEGCyAHIAggCXI2AgAgAyACNgIMIAAoAhQhBCADIAAoAhAoAmAg.AkEDbiIFQQxsaiACIAVBA2xrQQJ0aigCACIFNgIYIAMgBCgCBCICKAIEIgQ2AhwgAigCCCEHIAMgAjYCKCADIANBGGo2AiQgAyADQRxqNgIgIAICfyAEIAdJ.BEAgBCAFNgIAIARBBGoMAQsgA0EgahAJIAMoAhwLNgIEIAMgACgCDCICKAIEIgQ2AhwgAigCCCEFIAMgAjYCKCADIANBDGo2AiQgAyADQRxqNgIgIAICfyAE.IAVJBEAgBCADKAIMNgIAIARBBGoMAQsgA0EgahAJIAMoAhwLNgIEIAAoAgwiAigCDCALaiACKAIYIgQ2AgAgAiAEQQFqNgIYIAEoAgAhAiAAKAIEIQQgBkUE.QCABAn9BfyACQX9GDQAaQX8gAkEBaiIGIAJBAmsgBkEDcBsiAkF/Rg0AGiAEKAIMIAJBAnRqKAIACyIFNgIAIAVBA24hAgwGCyACQX9GDQELQX8hBSACQQFq.IgYgAkECayAGQQNwGyIGQX9HBEAgBCgCDCAGQQJ0aigCACEFCyADIAU2AhgCfwJAIAJBA3AEQCACQQFrIQIMAQtBfyACQQJqIgJBf0YNARoLIAQoAgwgAkEC.dGooAgALIgZBA24hAiAFQQNuIQQgBUF/RwRAIAAoAhgiByAEQQN2Qfz///8AcWooAgAgBHZBAXFFDQILIAZBf0YNACAGIQUgACgCGCACQQN2Qfz///8AcWoo.AgAgAnZBAXFFDQMLIAAgACgCNEEEazYCNAwBCyAGQX9GBEAgBCECDAILIAcgAkEDdkH8////AHFqKAIAIAJ2IAQhAkEBcQ0BIAAoAjQiAkEEayAGNgIAIAMg.AjYCHCAAKAI4IQQgAyAKNgIoIAMgA0EYajYCJCADIANBHGo2AiAgAiAESQRAIAIgAygCGDYCACAAIAJBBGo2AjQMAQsgA0EgahAJIAAgAygCHDYCNAsgACgC.NCEFIAAoAjAhBgwDCyABIAU2AgALIAAoAhggAkEDdkH8////AHFqIgQgBCgCAEEBIAJ0cjYCACABKAIAIgJBf0cNAAtBACECDAILQQEhAiAFIAZHDQALCyAD.QTBqJAAgAguGGAEPfyMAQTBrIgQkAAJAAkACQCAAKAJcIAAoAlhGDQAgBCAAKAI0IgY2AhwgACgCOCEDIAQgAEEwaiIPNgIoIAQgATYCJCAEIARBHGo2AiAg.AAJ/IAMgBksEQCAGIAEoAgA2AgAgBkEEagwBCyAEQSBqEAkgBCgCHAs2AjQgAEEANgJUQX8hBgJ/QX8gASgCACICQX9GDQAaIAAoAgQhAyACQQFqIgUgAkEC.ayAFQQNwGyIFQX9HBEAgAygCACAFQQJ0aigCACEGCwJAIAJBA3AEQCACQQFrIQUMAQtBfyACQQJqIgVBf0YNARoLIAMoAgAgBUECdGooAgALIQMgACgCJCII.IAZBA3ZB/P///wFxaiIFKAIAIgdBASAGdCIJcUUEQCAFIAcgCXI2AgBBfyEIIAJBf0cEQCACQQFqIgUgAkECayAFQQNwGyEICyAEIAg2AhQgACgCFCECIAQg.ACgCECgCYCAIQQNuIgVBDGxqIAggBUEDbGtBAnRqKAIAIgc2AhggBCACKAIEIgIoAgQiBTYCHCACKAIIIQggBCACNgIoIAQgBEEYajYCJCAEIARBHGo2AiAg.AgJ/IAUgCEkEQCAFIAc2AgAgBUEEagwBCyAEQSBqEAkgBCgCHAs2AgQgBCAAKAIMIgIoAgQiBTYCHCACKAIIIQcgBCACNgIoIAQgBEEUajYCJCAEIARBHGo2.AiAgAgJ/IAUgB0kEQCAFIAQoAhQ2AgAgBUEEagwBCyAEQSBqEAkgBCgCHAs2AgQgACgCDCICKAIMIAZBAnRqIAIoAhgiBjYCACACIAZBAWo2AhggACgCJCEI.IAEoAgAhAgsgCCADQQN2Qfz///8BcWoiBigCACIFQQEgA3QiB3FFBEAgBiAFIAdyNgIAIAQCf0F/IAJBf0YNABogAkEBayACQQNwDQAaIAJBAmoLIgY2AhAg.ACgCFCECIAQgACgCECgCYCAGQQNuIgVBDGxqIAYgBUEDbGtBAnRqKAIAIgU2AhggBCACKAIEIgYoAgQiAjYCHCAGKAIIIQcgBCAGNgIoIAQgBEEYajYCJCAE.IARBHGo2AiAgBgJ/IAIgB0kEQCACIAU2AgAgAkEEagwBCyAEQSBqEAkgBCgCHAs2AgQgBCAAKAIMIgYoAgQiAjYCHCAGKAIIIQUgBCAGNgIoIAQgBEEQajYC.JCAEIARBHGo2AiAgBgJ/IAIgBUkEQCACIAQoAhA2AgAgAkEEagwBCyAEQSBqEAkgBCgCHAs2AgQgACgCDCIGKAIMIANBAnRqIAYoAhgiAzYCACAGIANBAWo2.AhggASgCACECC0F/IQYgAkF/RwRAIAAoAgQoAgAgAkECdGooAgAhBgsgACgCJCAGQQN2Qfz///8BcWoiAygCACIFQQEgBnQiB3FFBEAgAyAFIAdyNgIAIAQg.AjYCDCAAKAIUIQMgBCAAKAIQKAJgIAJBA24iBUEMbGogAiAFQQNsa0ECdGooAgAiBTYCGCAEIAMoAgQiAygCBCICNgIcIAMoAgghByAEIAM2AiggBCAEQRhq.NgIkIAQgBEEcajYCICADAn8gAiAHSQRAIAIgBTYCACACQQRqDAELIARBIGoQCSAEKAIcCzYCBCAEIAAoAgwiAygCBCICNgIcIAMoAgghBSAEIAM2AiggBCAE.QQxqNgIkIAQgBEEcajYCICADAn8gAiAFSQRAIAIgBCgCDDYCACACQQRqDAELIARBIGoQCSAEKAIcCzYCBCAAKAIMIgMoAgwgBkECdGogAygCGCIGNgIAIAMg.BkEBajYCGAsgACgCVCIGQQJKDQADQCAPIAZBDGxqIgMoAgAgAygCBCICRgRAIAZBAWoiBkEDRw0BDAILIAJBBGsiBSgCACECIAMgBTYCBCAAIAY2AlQgASAC.NgIAIAJBf0YNAQJAAkAgACgCGCIGIAJBA24iA0EDdkH8////AHFqKAIAIAN2QQFxDQADQCAGIAJBA24iA0EDdkH8////AHFqIgYgBigCAEEBIAN0cjYCAEF/.IQYCQAJAAn8gAkF/RwRAIAAoAgQoAgAgAkECdGooAgAhBgsCQAJAAkACQCAAKAIkIAZBA3ZB/P///wFxaiIFKAIAIgdBASAGdCIIcUUEQCAFIAcgCHI2AgAg.ACgCECgCYCADQQxsaiACIANBA2xrQQJ0aigCACEDAkAgACgCFCgCBCIJKAIEIgsgCSgCCCIHSQRAIAsgAzYCACALQQRqIQUMAQsgCyAJKAIAIghrIgpBAnUi.DEEBaiIFQYCAgIAETw0CQf////8DIAcgCGsiB0EBdSINIAUgBSANSRsgB0H8////B08bIgVBgICAgARPDQ4gCiAFQQJ0Ig0QBiIOaiIHIAM2AgAgB0EEaiEF.IAcgDEECdGsiCiEHIAgiAyALRwRAA0AgByADKAIANgIAIAdBBGohByADQQRqIgMgC0cNAAsLIAkgDSAOajYCCCAJIAU2AgQgCSAKNgIAIAhFDQAgCBAFCyAJ.IAU2AgQCQCAAKAIMIggoAgQiCSAIKAIIIgVJBEAgCSACNgIAIAlBBGohAgwBCyAJIAgoAgAiB2siC0ECdSIKQQFqIgNBgICAgARPDQ9B/////wMgBSAHayIF.QQF1IgwgAyADIAxJGyAFQfz///8HTxsiA0GAgICABE8NDiALIANBAnQiDBAGIg1qIgMgAjYCACADQQRqIQIgAyAKQQJ0ayILIQMgByIFIAlHBEADQCADIAUo.AgA2AgAgA0EEaiEDIAVBBGoiBSAJRw0ACwsgCCAMIA1qNgIIIAggAjYCBCAIIAs2AgAgB0UNACAHEAULIAggAjYCBCAAKAIMIgMoAgwgBkECdGogAygCGCIG.NgIAIAMgBkEBajYCGCABKAIAIQILIAJBf0YNCCAAKAIEIQNBfyEGIAJBAWoiBSACQQJrIAVBA3AbIgVBf0cEQCADKAIMIAVBAnRqKAIAIQYLAn8CQCACQQNw.BEAgAkEBayEIDAELQX8gAkECaiIIQX9GDQEaCyADKAIMIAhBAnRqKAIACyICQQNuIQcgBkF/RwRAIAAoAhggBkEDbiIFQQN2Qfz///8AcWooAgBBASAFdHEh.BSACQX9GDQIgBUEARyEFDAMLQQEhBSACQX9HDQIMCAsQBwALIAVFDQEMBgsCQCAAKAIYIAdBA3ZB/P///wBxaigCACAHdkEBcQ0AQQAhCCAAKAIkIAMoAgAg.AkECdGooAgAiA0EDdkH8////AXFqKAIAIAN2QQFxRQRAIAAoAlggA0ECdGoiAyADKAIAIgNBAWo2AgBBAkEBIANBAEwbIQgLIAUEQCAIIAAoAlRMDQQLAkAg.DyAIQQxsaiIJKAIEIgsgCSgCCCIKSQRAIAsgAjYCACALQQRqIQIMAQsgCyAJKAIAIgNrIgxBAnUiDUEBaiIHQYCAgIAETw0MQf////8DIAogA2siCkEBdSIO.IAcgByAOSRsgCkH8////B08bIgdBgICAgARPDQsgDCAHQQJ0Ig4QBiIQaiIKIAI2AgAgCkEEaiECIAMhByAKIA1BAnRrIgwhCiADIAtHBEADQCAKIAcoAgA2.AgAgCkEEaiEKIAdBBGoiByALRw0ACwsgCSAOIBBqNgIIIAkgAjYCBCAJIAw2AgAgA0UNACADEAULIAkgAjYCBCAIIAAoAlRODQAgACAINgJUCyAFDQVBfyAG.QX9GDQEaCyAAKAIEKAIAIAZBAnRqKAIACyECQQAhAyAAKAIkIAJBA3ZB/P///wFxaigCACACdkEBcUUEQCAAKAJYIAJBAnRqIgMgAygCACIDQQFqNgIAQQJB.ASADQQBMGyEDCyADIAAoAlRKDQEgBiECCyABIAI2AgAgACgCGCEGDAELCyAEIAY2AgggBCAPIANBDGxqIgIoAgQiBTYCHCACKAIIIQcgBCACNgIoIAQgBEEI.ajYCJCAEIARBHGo2AiAgAgJ/IAUgB0kEQCAFIAY2AgAgBUEEagwBCyAEQSBqEAkgBCgCHAs2AgQgAyAAKAJUIgZODQEgACADNgJUIAMhBgwBCyAAKAJUIQYL.IAZBA0gNAAsLIARBMGokAEEBDwsQDgALEAcAC8cEAQZ/IwBBEGsiBSQAIABB2NkANgIAIABB6AFqIgMoAsQBIgEEQCADIAE2AsgBIAEQBQsgAygCuAEiAgRA.IAIiASADKAK8ASIERwRAA0AgBEEMayIBKAIAIgYEQCAEQQhrIAY2AgAgBhAFCyABIgQgAkcNAAsgAygCuAEhAQsgAyACNgK8ASABEAULIAMoApwBIgEEQCAD.IAE2AqABIAEQBQsgAygCiAEhAiADQQA2AogBIAIEQCACQQRrIgQoAgAiAQRAIAIgAUEEdGohAQNAIAFBEGsiASACRw0ACwsgBBAFCyAFIABB2AFqNgIMIAVB.DGoQiQEgACgCxAEiAQRAIAAgATYCyAEgARAFCyAAKAK4ASIBBEAgACABNgK8ASABEAULIAAoAqwBIgEEQCAAIAE2ArABIAEQBQsgACgCoAEiAQRAIAAgATYC.pAEgARAFCyAAKAKQASIBBEADQCABKAIAIAEQBSIBDQALCyAAKAKIASEBIABBADYCiAEgAQRAIAEQBQsgACgCeCIBBEAgARAFCyAAKAJsIgEEQCABEAULIAAo.AmAiAQRAIAEQBQsgACgCSCIBBEAgACABNgJMIAEQBQsgACgCPCIBBEAgARAFCyAAKAIwIgEEQCAAIAE2AjQgARAFCyAAKAIkIgEEQCAAIAE2AiggARAFCyAA.KAIYIgEEQCAAIAE2AhwgARAFCyAAKAIMIgEEQCAAIAE2AhAgARAFCyAAKAIIIQEgAEEANgIIIAEEQCABECoLIAVBEGokACAAC9IDAQV/IwBBEGsiBCQAIABB.qNkANgIAIAAoAoQDIgEEQCAAIAE2AogDIAEQBQsgACgC8AIhAyAAQQA2AvACIAMEQCADQQRrIgUoAgAiAQRAIAMgAUEEdGohAgNAIAJBEGsiAiADRw0ACwsg.BRAFCyAEIABB2AFqNgIMIARBDGoQiQEgACgCxAEiAQRAIAAgATYCyAEgARAFCyAAKAK4ASIBBEAgACABNgK8ASABEAULIAAoAqwBIgEEQCAAIAE2ArABIAEQ.BQsgACgCoAEiAQRAIAAgATYCpAEgARAFCyAAKAKQASICBEADQCACKAIAIAIQBSICDQALCyAAKAKIASEBIABBADYCiAEgAQRAIAEQBQsgACgCeCIBBEAgARAF.CyAAKAJsIgEEQCABEAULIAAoAmAiAQRAIAEQBQsgACgCSCIBBEAgACABNgJMIAEQBQsgACgCPCIBBEAgARAFCyAAKAIwIgEEQCAAIAE2AjQgARAFCyAAKAIk.IgEEQCAAIAE2AiggARAFCyAAKAIYIgEEQCAAIAE2AhwgARAFCyAAKAIMIgEEQCAAIAE2AhAgARAFCyAAKAIIIQEgAEEANgIIIAEEQCABECoLIARBEGokACAA.C7sDAQV/IwBBEGsiBCQAIABB9NgANgIAIAAoAvACIQMgAEEANgLwAiADBEAgA0EEayIFKAIAIgEEQCADIAFBBHRqIQIDQCACQRBrIgIgA0cNAAsLIAUQBQsg.BCAAQdgBajYCDCAEQQxqEIkBIAAoAsQBIgEEQCAAIAE2AsgBIAEQBQsgACgCuAEiAQRAIAAgATYCvAEgARAFCyAAKAKsASIBBEAgACABNgKwASABEAULIAAo.AqABIgEEQCAAIAE2AqQBIAEQBQsgACgCkAEiAgRAA0AgAigCACACEAUiAg0ACwsgACgCiAEhASAAQQA2AogBIAEEQCABEAULIAAoAngiAQRAIAEQBQsgACgC.bCIBBEAgARAFCyAAKAJgIgEEQCABEAULIAAoAkgiAQRAIAAgATYCTCABEAULIAAoAjwiAQRAIAEQBQsgACgCMCIBBEAgACABNgI0IAEQBQsgACgCJCIBBEAg.ACABNgIoIAEQBQsgACgCGCIBBEAgACABNgIcIAEQBQsgACgCDCIBBEAgACABNgIQIAEQBQsgACgCCCEBIABBADYCCCABBEAgARAqCyAEQRBqJAAgAAuQBgEF.f0F/IQQCf0F/IAEoAgAiAkF/Rg0AGiACQQFqIgEgAkECayABQQNwGyEEIAJBAWsgAkEDcA0AGiACQQJqCyEGAkACQAJAAkACQCAAKAKoAQ4IAAAEAgQBBAME.C0F/IQEgACgClAEhAkF/IQMgACgCnAEiBSAEQX9HBH8gAigCACAEQQJ0aigCAAVBfwtBAnRqIgMgAygCAEEBajYCACAFIAZBf0cEfyACKAIAIAZBAnRqKAIA.BUF/C0ECdGoiASABKAIAQQFqNgIADAMLQX8hASAAKAKUASEFQX8hAyACQX9HBEAgBSgCACACQQJ0aigCACEDCyAAKAKcASICIANBAnRqIgMgAygCAEEBajYC.ACACIARBf0cEfyAFKAIAIARBAnRqKAIABUF/C0ECdGoiASABKAIAQQFqNgIAQX8hASACIAZBf0cEfyAFKAIAIAZBAnRqKAIABUF/C0ECdGoiASABKAIAQQJq.NgIADAILQX8hASAAKAKUASEFQX8hAyACQX9HBEAgBSgCACACQQJ0aigCACEDCyAAKAKcASICIANBAnRqIgMgAygCAEEBajYCACACIARBf0cEfyAFKAIAIARB.AnRqKAIABUF/C0ECdGoiASABKAIAQQJqNgIAQX8hASACIAZBf0cEfyAFKAIAIAZBAnRqKAIABUF/C0ECdGoiASABKAIAQQFqNgIADAELQX8hASAAKAKUASEF.QX8hAyACQX9HBEAgBSgCACACQQJ0aigCACEDCyAAKAKcASICIANBAnRqIgMgAygCAEECajYCACACIARBf0cEfyAFKAIAIARBAnRqKAIABUF/C0ECdGoiASAB.KAIAQQJqNgIAQX8hASACIAZBf0cEfyAFKAIAIAZBAnRqKAIABUF/C0ECdGoiASABKAIAQQJqNgIAC0F/IQEgBEF/RwRAIAAoApQBKAIAIARBAnRqKAIAIQEL.IAAoArABIgQhBiAAIAQgACgCnAEgAUECdGooAgAiAUwEfyABIAAoArQBIgYgASAGSBsFIAYLIARrNgKsAQu/BgEGf0F/IQICf0F/IAEoAgAiA0F/Rg0AGiAD.QQFqIgIgA0ECayACQQNwGyECIANBAWsgA0EDcA0AGiADQQJqCyEHAkACQAJAAkACQAJAIAAoArgBIgUOCAAABQIFAQUDBQtBfyEDIAAoApQBIQRBfyEFIAJB.f0cEQCAEKAIAIAJBAnRqKAIAIQULIAAoApwBIgIgBUECdGoiBSAFKAIAQQFqNgIAIAIgB0F/RwR/IAQoAgAgB0ECdGooAgAFQX8LQQJ0aiICIAIoAgBBAWo2.AgAMAwtBfyEFIAAoApQBIQZBfyEEIANBf0cEQCAGKAIAIANBAnRqKAIAIQQLIAAoApwBIgMgBEECdGoiBCAEKAIAQQFqNgIAIAMgAkF/RwR/IAYoAgAgAkEC.dGooAgAFQX8LQQJ0aiICIAIoAgBBAWo2AgBBfyECIAMgB0F/RwR/IAYoAgAgB0ECdGooAgAFQX8LQQJ0aiICIAIoAgBBAmo2AgAMAgtBfyEFIAAoApQBIQZB.fyEEIANBf0cEQCAGKAIAIANBAnRqKAIAIQQLIAAoApwBIgMgBEECdGoiBCAEKAIAQQFqNgIAIAMgAkF/RwR/IAYoAgAgAkECdGooAgAFQX8LQQJ0aiICIAIo.AgBBAmo2AgBBfyECIAMgB0F/RwR/IAYoAgAgB0ECdGooAgAFQX8LQQJ0aiICIAIoAgBBAWo2AgAMAQtBfyEFIAAoApQBIQZBfyEEIANBf0cEQCAGKAIAIANB.AnRqKAIAIQQLIAAoApwBIgMgBEECdGoiBCAEKAIAQQJqNgIAIAMgAkF/RwR/IAYoAgAgAkECdGooAgAFQX8LQQJ0aiICIAIoAgBBAmo2AgBBfyECIAMgB0F/.RwR/IAYoAgAgB0ECdGooAgAFQX8LQQJ0aiICIAIoAgBBAmo2AgALIAAoArgBIQULAkACQCAFDgYAAQEBAQABCyAAKAKcAQJ/QX8gASgCACIBQX9GDQAaIAAo.ApQBQX8gAUEBaiIHIAFBAmsgB0EDcBsiAUF/Rg0AGigCACABQQJ0aigCAAtBAnRqKAIAQQVMBEAgAEEFNgK8AQ8LIABBADYCvAEPCyAAQX82ArwBC4gBAQJ/.IAAgATYCkAEgASABKAIAKAIgEQAAKAIgIgIoAgAgAigCEGohAiABIAEoAgAoAiARAAAoAiAiAykDCCADKQMQfachAyAAIAEgASgCACgCIBEAACgCIC8BJjsB.JiAAIAI2AgAgAEIANwMQIAAgA603AwggACABIAEoAgAoAiQRAAA2ApQBC5MBACAAQX82AgAgAEIANwIUIABCADcCDCAAQgA3AgQgAEIANwIgIABBAToAHCAA.QgA3AiggAEIANwIwIABCADcCOCAAQgA3AkAgAEIANwJMIABCADcCVCAAQgA3AlwgACAAQQRqNgJIIABCADcCaCAAQQE6AGQgAEIANwJwIABCADcCeCAAQgA3.AoABIABCADcCiAEL3gEBBX9BASEFAkAgACgCjAEiAkEATA0AQX8gAkEEdCIBQQRyIAJB/////wBLGxAGIgMgAjYCACADQQRqIgMgAWohAiADIQEDQCABQgA3.AAUgAUIANwIAIAFBEGoiASACRw0ACyAAKAKIASEEIAAgAzYCiAEgBARAIARBBGsiAigCACIDBEAgBCADQQR0aiEBA0AgAUEQayIBIARHDQALCyACEAULQQAh.ASAAKAKMAUEATA0AA0AgACgCiAEgAUEEdGogABAIIgVFDQEgAUEBaiIBIAAoAowBSA0ACwsgBQveAQEHfwJAIAAoAggiAygCBCADKAIAIgVrIgJBDG1BAWoi.AUHWqtWqAUkEQCAAKAIEIQRB1arVqgEgAygCCCAFa0EMbSIGQQF0IgcgASABIAdJGyAGQarVqtUATxsiAUHWqtWqAU8NASABQQxsIgYQBiIHIAJqIgEgBCgC.CDYCCCABIAQpAgA3AgAgASACQXRtQQxsaiEEIAIEQCAEIAUgAvwKAAALIAMgBiAHajYCCCADIAFBDGoiAjYCBCADIAQ2AgAgBQRAIAUQBQsgACgCACACNgIA.DwsQBwALEA4AC6wDAgF/A34jAEEQayICJAAgACAAKQMgNwNIIAAgACkDGDcDQCAAIAApAxA3AzggACAAKQMINwMwIAAgACkDADcDKAJ/AkAgAEEoakEBIAJB.CGoQQQRAIAAgACkDSDcDICAAIAApA0A3AxggACAAKQM4IgM3AxAgACAAKQMwIgQ3AwggACAAKQMoNwMAIAIpAwgiBSAEIAN9WA0BC0EADAELIAAgAyAFfDcD.EAJAAkAgAC8BJkGBBE0EQCAAIAApAyA3A4ABIAAgACkDGDcDeCAAIAApAxA3A3AgACAAKQMINwNoIAAgACkDADcDYCAAQeAAakEBIAJBCGoQQQRAIAAgACkD.gAE3AyAgACAAKQN4NwMYIAAgACkDcCIDNwMQIAAgACkDaCIENwMIIAAgACkDYDcDACACKQMIIgUgBCADfVgNAgtBAAwDCyAAQdAAaiAAEAgNAUEADAILIAAg.AyAFfDcDEAtBACAAEOcBRQ0AGiABIAApAyA3AyAgASAAKQMYNwMYIAEgACkDEDcDECABIAApAwg3AwggASAAKQMANwMAQQELIAJBEGokAAtJAQF/IABB3NwA.NgIAIAAoAjAiAQRAIAAgATYCNCABEAULIABB3N4ANgIAIAAoAiQiAQRAIAEQBQsgACgCGCIBBEAgARAFCyAAC44BAQJ/IwBBEGsiAyQAIAAgATYCBCABKAJA.IgEoAgAhBCABKAIEIQEgA0EAOgAPIABBGGogASAEa0ECdUEDbiADQQ9qEBogACgCBCIBKAI0IQQgASgCOCEBIANBADoADiAAQSRqIAEgBGtBAnUgA0EOahAa.IAAgAikCCDcCECAAIAIpAgA3AgggA0EQaiQAC8wBAgJ+An8gAEEIaiABLQAYEAxBACEBAkAgAikDCCACKQMQIgMgACgCDCAAKAIIIgZrIgWtIgR8Uw0AIAUE.QCAGIAIoAgAgA6dqIAX8CgAACyACIAIpAxAgBHwiAzcDECACKQMIIANCBHxTDQAgACACKAIAIAOnaigAADYCFCACIAIpAxAiBEIEfCIDNwMQIAIpAwggA1cN.ACACKAIAIAOnai0AACEFIAIgBEIFfDcDECAFQQFrQf8BcUEdSw0AIAAgBTYCBEEBIQELIAELGQAgABCGASIAQQA2AiwgAEGo1wA2AgAgAAunCwIPfwN+IwBB.QGoiBCQAIARBADYCOCAEQgA3AzAgBEIANwMoIARCADcDICAEQgA3AxggBEIANwMQIARCADcDCAJAAn8gBEEIaiEIAkAgAS8BJiIDRQ0AAkAgA0H/A00EQCAB.KQMIIAEpAxAiEkIEfFMNAiAIIAEoAgAgEqdqKAAAIgY2AgwgASABKQMQQgR8IhI3AxAMAQtBASAIQQxqIAEQLkUNASABKQMQIRIgCCgCDCEGCyAGQQZ2rSAB.KQMIIBJ9VQ0AIAggBhAMQQEgCCgCDCIJRQ0BGiABKQMQIRIgASkDCCETQQAhAwNAIBIgE1kNASABKAIAIgwgEqdqLQAAIQUgASASQgF8IhI3AxAgBUECdiEH.AkACQAJAAkAgBUEDcSILDgQCAQEAAQsgAyAHaiIHIAlPDQQgCCgCACEMIAVB/AFxQQRqIgVFBEAgByEDDAMLIAwgA0ECdGpBACAF/AsAIAchAwwCCyASIBMg.EiATVRshFEEAIQYDQEEAIBIgFFENBRogDCASp2otAAAgASASQgF8IhI3AxAgBkEDdEEGcnQgB3IhByAGQQFqIgYgC0cNAAsLIAgoAgAiDCADQQJ0aiAHNgIA.CyADQQFqIgMgCCgCDCIJSQ0ACyAIQRBqQYCAwAAQDCAIQRxqIAkQMyAJRQ0AIAgoAhwhEEEAIQVBACEDA0AgDCAFQQJ0aiIGKAIAIQsgECAFQQN0aiINIAMi.BzYCBCANIAs2AgAgBigCACILIANqIgNBgIDAAEsNAQJAIAMgB00NACAIKAIQIQ1BACEGIAtBB3EiEQRAA0AgDSAHQQJ0aiAFNgIAIAdBAWohByAGQQFqIgYg.EUcNAAsLIAtBAWtBBk0NAANAIA0gB0ECdGoiBiAFNgIcIAYgBTYCGCAGIAU2AhQgBiAFNgIQIAYgBTYCDCAGIAU2AgggBiAFNgIEIAYgBTYCACAHQQhqIgcg.A0cNAAsLIAVBAWoiBSAJRw0ACyADQYCAwABGIQ4LIA4LRQ0AIAAEQCAEKAIURQ0BC0EAIQgjAEEQayIHJAACQAJAIAEvASZB/wNNBEAgASkDCCIUIAEpAxAi.E0IIfCISUw0CIAEoAgAgE6dqKQAAIRMgASASNwMQDAELQQEgB0EIaiABEC1FDQEgASkDECESIAEpAwghFCAHKQMIIRMLIBMgFCASfVYNACABIBIgE3w3AxAg.E6ciA0EATA0AIAQgASgCACASp2oiATYCMCAEAn8CQAJAAkACQCABIANBAWsiBWoiBi0AAEEGdkEBaw4DAQIDAAsgBCAFNgI0IAYtAABBP3EMAwsgA0EBRg0D.IAQgA0ECayIDNgI0IAEgA2ovAABB//8AcQwCCyADQQNJDQIgBCADQQNrNgI0IAEgA2oiAUECay8AAEEIdEGA/v8BcSABQQNrLQAAcgwBCyADQQRJDQEgBCAD.QQRrIgM2AjQgASADaigAAEH/////A3ELIgFBgICAAmo2AjggAUGAgID+A0khCAsgB0EQaiQAIAhFDQAgAEUEQEEBIQoMAQsgBCgCNCEHIAQoAjghASAEKAIk.IQggBCgCGCEFIAQoAjAhBgNAAkAgAUH///8BSwRAIAEhAwwBCyABIQMgByIKQQBMDQADQCAEIApBAWsiBzYCNCAEIAYgB2otAAAgAUEIdHIiAzYCOCABQYCA.AU8NASAKQQJIIAMhASAHIQpFDQALCyAEIAggBSADQf//P3EiAUECdGooAgAiCkEDdGoiCSgCACADQRR2bCABaiAJKAIEayIBNgI4IAIgD0ECdGogCjYCAEEB.IQogD0EBaiIPIABHDQALCyAEKAIkIgAEQCAEIAA2AiggABAFCyAEKAIYIgAEQCAEIAA2AhwgABAFCyAEKAIIIgAEQCAEIAA2AgwgABAFCyAEQUBrJAAgCgv1.AgIFfwN+IwBBEGsiBCQAAkACQCABLwEmQf8DTQRAIAEpAwgiCSABKQMQIgdCCHwiCFMEQAwDCyABKAIAIAenaikAACEHIAEgCDcDEAwBC0EBIARBCGogARAt.RQRADAILIAEpAxAhCCABKQMIIQkgBCkDCCEHCyAHIAkgCH1WDQAgASAHIAh8NwMQIAenIgJBAEwNACAAIAEoAgAgCKdqIgE2AiggAAJ/AkACQAJAAkAgASAC.QQFrIgVqIgYtAABBBnZBAWsOAwECAwALIAAgBTYCLCAGLQAAQT9xDAMLIAJBAUYNAyAAIAJBAmsiAjYCLCABIAJqLwAAQf//AHEMAgsgAkEDSQ0CIAAgAkED.azYCLCABIAJqIgFBAmsvAABBCHRBgP7/AXEgAUEDay0AAHIMAQsgAkEESQ0BIAAgAkEEayICNgIsIAEgAmooAABB/////wNxCyIBQYCAAWo2AjAgAUGAgP8B.SSEDCyAEQRBqJAAgAwuyBQIKfwN+AkAgAS8BJiIERQ0AAkAgBEH/A00EQCABKQMIIAEpAxAiDEIEfFMNAiAAIAEoAgAgDKdqKAAAIgI2AgwgASABKQMQQgR8.Igw3AxAMAQtBASAAQQxqIAEQLkUNASABKQMQIQwgACgCDCECCyACQQZ2rSABKQMIIAx9VQ0AIAAgAhAMIAAoAgwiBUUEQEEBDwsgASkDECEMIAEpAwghDUEA.IQQDQCAMIA1ZDQEgASgCACIHIAynai0AACECIAEgDEIBfCIMNwMQIAJBAnYhAwJAAkACQAJAIAJBA3EiBg4EAgEBAAELIAMgBGoiAyAFTw0EIAAoAgAhByAC.QfwBcUEEaiICRQRAIAMhBAwDCyAHIARBAnRqQQAgAvwLACADIQQMAgsgDCANIAwgDVUbIQ5BACECA0AgDCAOUQRAQQAPCyAHIAynai0AACABIAxCAXwiDDcD.ECACQQN0QQZydCADciEDIAJBAWoiAiAGRw0ACwsgACgCACIHIARBAnRqIAM2AgALIARBAWoiBCAAKAIMIgVJDQALIAAiBEEQakGAIBAMIABBHGogBRAzIAVF.DQAgACgCHCEKQQAhAUEAIQADQCAHIAFBAnRqIgIoAgAhBiAKIAFBA3RqIgkgACIDNgIEIAkgBjYCACACKAIAIgYgAGoiAEGAIEsNAQJAIAAgA00NACAEKAIQ.IQlBACECIAZBB3EiCwRAA0AgCSADQQJ0aiABNgIAIANBAWohAyACQQFqIgIgC0cNAAsLIAZBAWtBBk0NAANAIAkgA0ECdGoiAiABNgIcIAIgATYCGCACIAE2.AhQgAiABNgIQIAIgATYCDCACIAE2AgggAiABNgIEIAIgATYCACADQQhqIgMgAEcNAAsLIAFBAWoiASAFRw0ACyAAQYAgRiEICyAIC88FAQZ/IwBB0ABrIgQk.ACAEIAIpAyA3A0ggBCACKQMYNwNAIAQgAikDEDcDOCAEIAIpAwg3AzAgBCACKQMANwMoIAAgBEEoaiAEQRxqEGYCQCAAKAIADQAgACwAD0EASARAIAAoAgQQ.BQsgBC0AI0EBRwRAQRgQBiIBQQA6ABQgAUHbCygAADYAECABQdMLKQAANwAIIAFBywspAAA3AAAgAEF/NgIAIABBBGogAUEUEA0gARAFDAELIARBCGohByAE.LQAkIQYjAEEQayIFJAACQAJAAkACQCAGDgIAAQILQTAQBhDtASIGQbjmADYCACAHQgA3AgggB0IANwIAIAcgBjYCEAwCC0E0EAYQ7QEiBkEANgIwIAZBiNgA.NgIAIAdCADcCCCAHQgA3AgAgByAGNgIQDAELQSAQBiIGQQA6ABwgBkHBDCgAADYAGCAGQbkMKQAANwAQIAZBsQwpAAA3AAggBkGpDCkAADcAACAFQX82AgAg.BUEEaiAGQRwQDSAFLAAPIQkgByAFKAIANgIAIAdBBGohCAJAIAlBAE4EQCAIIAUoAgw2AgggCCAFKQIENwIAIAdBADYCEAwBCyAIIAUoAgQgBSgCCBANIAUs.AA8gB0EANgIQQQBODQAgBSgCBBAFCyAGEAULIAVBEGokAAJAIAQoAggiBQRAIAAgBTYCACAAQQRqIQAgBCwAF0EATgRAIAAgBCgCFDYCCCAAIAQpAgw3AgAM.AgsgACAEKAIMIAQoAhAQDQwBCyAEKAIYIQUgBEEANgIYIAUgAzYCLCAAIAUgASACIAMQ2gEgACgCAEUEQCAALAAPQQBIBEAgACgCBBAFCyAAQgA3AgggAEIA.NwIACyAFIAUoAgAoAgQRAgALIAQoAhghACAEQQA2AhggAARAIAAgACgCACgCBBECAAsgBCwAF0EATg0AIAQoAgwQBQsgBEHQAGokAAuhBgEGfyMAQdAAayIF.JAAgBSACKQMgNwNIIAUgAikDGDcDQCAFIAIpAxA3AzggBSACKQMINwMwIAUgAikDADcDKCAAIAVBKGogBUEcahBmAkAgACgCAA0AIAAsAA9BAEgEQCAAKAIE.EAULIAUtACMEQEEgEAYiAUEAOgAbIAFBpAwoAAA2ABcgAUGdDCkAADcAECABQZUMKQAANwAIIAFBjQwpAAA3AAAgAEF/NgIAIABBBGogAUEbEA0gARAFDAEL.IAVBCGohByAFLAAkIQQjAEEQayIGJAACQAJAAkACQCAEDgIAAQILQSwQBiIEQQA2AiggBEIANwMgIARCADcDGCAEQgA3AxAgBEIANwMIIARCADcDACAEEIYB.IgRBuOkANgIAIAdCADcCCCAHQgA3AgAgByAENgIQDAILQSwQBiIEQQA2AiggBEIANwMgIARCADcDGCAEQgA3AxAgBEIANwMIIARCADcDACAEEIYBIgRB3OgA.NgIAIAdCADcCCCAHQgA3AgAgByAENgIQDAELQSAQBiIEQQA6ABwgBEHBDCgAADYAGCAEQbkMKQAANwAQIARBsQwpAAA3AAggBEGpDCkAADcAACAGQX82AgAg.BkEEaiAEQRwQDSAGLAAPIQkgByAGKAIANgIAIAdBBGohCAJAIAlBAE4EQCAIIAYoAgw2AgggCCAGKQIENwIAIAdBADYCEAwBCyAIIAYoAgQgBigCCBANIAYs.AA8gB0EANgIQQQBODQAgBigCBBAFCyAEEAULIAZBEGokAAJAIAUoAggiBgRAIAAgBjYCACAAQQRqIQAgBSwAF0EATgRAIAAgBSgCFDYCCCAAIAUpAgw3AgAM.AgsgACAFKAIMIAUoAhAQDQwBCyAFKAIYIQYgBUEANgIYIAAgBiABIAIgAxDaASAAKAIARQRAIAAsAA9BAEgEQCAAKAIEEAULIABCADcCCCAAQgA3AgALIAYg.BigCACgCBBECAAsgBSgCGCEAIAVBADYCGCAABEAgACAAKAIAKAIEEQIACyAFLAAXQQBODQAgBSgCDBAFCyAFQdAAaiQAC8UEAhF/AX0jAEEQayILJAAgAigC.HEEJRgRAIAAoAgQhAyACLQAYIgdBAnQiBBAGIQUgC0EMaiIGQYCAgPwDNgIAIAAqAhQhFEF/IAN0QX9zIgNBAEoEQCAGIBQgA7OVOAIACwJAIANBAEoiD0UN.ACACKAJQIghFDQAgBwRAIAEoAgAoAgAgASgCMGohDCAHQf4BcSEQIAdBAXEhEUEAIQEDQCAAKAIIIQogBioCACEUQQAhDUEAIQMCQCAHQQFHBEADQCAFIANB.AnQiCWogFCAMIAFBAnRqIhIoAgCylCAJIApqKgIAkjgCACAFIAlBBHIiCWogFCASKAIEspQgCSAKaioCAJI4AgAgA0ECaiEDIAFBAmohASANQQJqIg0gEEcN.AAsgEUUNAQsgBSADQQJ0IgNqIBQgDCABQQJ0aigCALKUIAMgCmoqAgCSOAIAIAFBAWohAQsgBARAIAIoAkAoAgAgDmogBSAE/AoAAAsgBCAOaiEOIBNBAWoi.EyAIRw0ACwwBCyAIQQNxIQYgCEEETwRAIAhBfHEhAUEAIQMDQCAERSIARQRAIAIoAkAoAgAgBSAE/AoAAAsgAEUEQCACKAJAKAIAIAUgBPwKAAALIABFBEAg.AigCQCgCACAFIAT8CgAACyAARQRAIAIoAkAoAgAgBSAE/AoAAAsgA0EEaiIDIAFHDQALIAZFDQELQQAhAQNAIAQEQCACKAJAKAIAIAUgBPwKAAALIAFBAWoi.ASAGRw0ACwsgBRAFCyALQRBqJAAgDwtrAgJ/AX4CQCAAQQVLDQAgAikDECIFIAIpAwhZDQAgAigCACAFp2osAAAhAyACIAVCAXw3AxAgASADQQBIBH8gAEEB.aiABIAIQ9AFFDQEgA0H/AHEgASgCAEEHdHIFIAMLNgIAQQEhBAsgBAvhAQIEfwN+AkAgASkDCCIIIAEpAxAiB0IEfCIGUw0AIAEoAgAiBCAHp2ooAAAhAiAB.IAY3AxAgCCAHQgh8IgZTDQAgASAGNwMQIAJBAXFFDQAgAmciAkECa0EcSw0AIABBICACayICNgIIIABBfkF/IAJ0IgVrIgI2AhAgACAFQX9zNgIMIAAgAkEB.djYCGCAAQwAAAEAgArOVOAIUIAEvASZBgQRNBEAgBiAIWQ0BIAQgBqdqLQAAIQIgASAHQgl8NwMQIAJBAUsNASAAIAI2AkgLIABB4ABqIAEQCCEDCyADC+wB.AgV/A34CQCABKQMIIgggASkDECIJQgR8IgdTDQAgASgCACIEIAmnaigAACECIAEgBzcDECABLwEmIgVBgQRNBEAgCCAJQgh8IgdTDQEgASAHNwMQCyACQQFx.RQ0AIAJnIgJBAmtBHEsNACAAQSAgAmsiAjYCCCAAQX5BfyACdCIGayICNgIQIAAgBkF/czYCDCAAIAJBAXY2AhggAEMAAABAIAKzlTgCFCAFQYEETQRAIAcg.CFkNASAEIAenai0AACECIAEgB0IBfDcDECACQQFLDQEgACACNgJICyAAQeAAaiABEAghAwsgAwsfAEEIEHUgABCyASIAQZT3ADYCACAAQaD3AEEBEAAAC/oB.AgR/BH4CQCABKQMIIgkgASkDECIHQgR8IgZTDQAgASgCACIFIAenaigAACEDIAEgBjcDECAJIAdCCHwiCFMNACAFIAanaigAACEEIAEgCDcDECADIARKDQAg.ACAENgIQIAAgAzYCDCAErCADrH0iBkL+////B1YNACAAIAanIgNBAWoiAjYCFCAAIAJBAXYiAjYCGCAAQQAgAms2AhwgA0EBcQRAIAAgAkEBazYCGAsgAS8B.JkGBBE0EQEEAIQIgCCAJWQ0BIAUgCKdqLQAAIQMgASAHQgl8NwMQIANBAUsNASAAIAM2AlgLIABB8ABqIAEQCCECCyACCyUBAX8CQCABKAI4DQAgAS0AGEED.Rw0AIAAgATYCQEEBIQILIAILQwEBfwJAIAAoAkBFDQAgACgCREUNACAAKAIsRQ0AIAAoAjBFDQAgACgCNEUNACAAKAI4RQ0AIAAoAlxBf0chAQsgAQtcAgJ+.AX9CASEBAkACQCAAQgFWBEAgACECA0AgAUIBhiEBIAJCB1YgAkICiCECDQALDAELIAAhASAAp0EBaw0BCwNAIAAgAYAgAXxCAYgiASABfiAAVg0ACwsgAQsJ.ACAAIAE2AmgLpgMCCn8DfiMAQRBrIgYkAAJAIAEpAxAiDEIEfCINIAEpAwhVDQAgASgCACAMp2ooAAAhBSABIA03AxAgBUEASA0AIAAoAmgiAkF/RyACIAVI.cQ0AIABBzABqIAUQIyAGQgA3AAUgBkIANwIAAkAgBiIKIAEQCEUNACAFBEBBASECA0BBASAEdCEHIAoQECEJIAAoAkwgBEEDdkH8////AXFqIQgCfyAJIAtz.IgNBAXEEQCAIKAIAIAdyDAELIAgoAgAgB0F/c3ELIQcgAiAJcyELIAggBzYCACADIQIgBEEBaiIEIAVHDQALC0EAIQQgASkDCCIOIAEpAxAiDEIEfCINUw0A.IAEoAgAiAyAMp2ooAAAhAiABIA03AxAgDiAMQgh8IgxTDQAgAyANp2ooAAAhAyABIAw3AxAgAiADSg0AIAAgAzYCECAAIAI2AgwgA6wgAqx9IgxC/v///wdW.DQBBASEEIAAgDKciAkEBaiIBNgIUIAAgAUEBdiIBNgIYIABBACABazYCHCACQQFxRQ0AIAAgAUEBazYCGAsLIAZBEGokACAECwQAQQULjgMCAn8CfgJ/AkAC.QCACRQRAIAEpAgAiB0IgiKchAQwBCyABKQIAIgdCIIghBiAHpyEBAkAgAy0AAEEBRgRAAkAgBlAEfyACBSABIAEoAgBBf0EgIAanIgRrIgMgAiADIAIgA0kb.IgNrdkF/IAR0cXI2AgAgAUEEaiEBIAIgA2sLIgNBBXYiBEUNACAEQQJ0IgVFDQAgAUH/ASAF/AsACyADQR9xIgNFDQEgASAEQQJ0aiIBIAEoAgBBf0EgIANr.dnI2AgAMAQsCQCAGUAR/IAIFIAEgASgCAEF/QSAgBqciBGsiAyACIAMgAiADSRsiA2t2QX8gBHRxQX9zcTYCACABQQRqIQEgAiADawsiA0EFdiIERQ0AIARB.AnQiBUUNACABQQAgBfwLAAsgA0EfcSIDRQ0AIAEgBEECdGoiASABKAIAQX9BICADa3ZBf3NxNgIACyACIAanaiEBIAJBAEgNAQsgAUEFdgwBCyABQR9rQSBt.CyECIAAgAUEfcTYCBCAAIAenIAJBAnRqNgIACwQAQQQLBABBBgtPAQF/IABBxBM2AgAgACgCFCEBIABBADYCFCABBEAgASABKAIAKAIEEQIACyAAQewRNgIA.IAAoAhAhASAAQQA2AhAgAQRAIAEQFwsgABAFC00BAX8gAEHEEzYCACAAKAIUIQEgAEEANgIUIAEEQCABIAEoAgAoAgQRAgALIABB7BE2AgAgACgCECEBIABB.ADYCECABBEAgARAXCyAAC0QBAX8Cf0EAIAEgACgCFCAAKAIQIgJrQQJ1Tg0AGkEAIAIgAUECdGooAgAiAUEASA0AGiAAKAIkIAFBAnRqKAIAEDULC9EBAQN/.IABBzBI2AgAgACgCPCEBIABBADYCPCABBEAgASABKAIAKAIEEQIACyAAKAIwIgEEQCAAIAE2AjQgARAFCyAAKAIkIgEEQCABIgIgACgCKCIDRwRAA0AgA0EE.ayIDKAIAIQIgA0EANgIAIAIEQCACIAIoAgAoAgQRAgALIAEgA0cNAAsgACgCJCECCyAAIAE2AiggAhAFCyAAQfQPNgIAIAAoAhAiAQRAIAAgATYCFCABEAUL.IAAoAgQiAQRAIAAgATYCCCABEAULIAAQBQvPAQEDfyAAQcwSNgIAIAAoAjwhASAAQQA2AjwgAQRAIAEgASgCACgCBBECAAsgACgCMCIBBEAgACABNgI0IAEQ.BQsgACgCJCIBBEAgASICIAAoAigiA0cEQANAIANBBGsiAygCACECIANBADYCACACBEAgAiACKAIAKAIEEQIACyABIANHDQALIAAoAiQhAgsgACABNgIoIAIQ.BQsgAEH0DzYCACAAKAIQIgEEQCAAIAE2AhQgARAFCyAAKAIEIgEEQCAAIAE2AgggARAFCyAAC40CAEEAIQACQAJAAkACQAJAIAEOBAABAgMEC0EUEAYiAEL/.////DzcCDCAAQgA3AgQgAEHsETYCACAADwtBGBAGIgBC/////w83AgwgAEIANwIEIABB7BE2AgAgAEEANgIUIABBxBM2AgAgAA8LQTAQBiIAQv////8PNwIM.IABCADcCBCAAQewRNgIAIABBADYCFCAAQcQTNgIAIABCADcCICAAQX82AhwgAEHcDjYCGCAAQaTWADYCACAAQgA3AiggAA8LQSAQBiIBQv////8PNwIMIAFC.ADcCBCABQewRNgIAIAFBADYCFCABQcQTNgIAIAEiAEF/NgIcIABBiAg2AhggAEHENjYCAAsgAAu8AgEIfyMAQRBrIgIkAEEBIQECQCAAIAAoAgAoAhgRAAAi.BUEATA0AIABBMGohBgNAAkACQCAAIAAoAgAoAhwRAAAoAihFDQAgBEECdCIHIAAoAiRqKAIAIgEoAgghAyABEDUiCEUNACAAIAAoAgAoAhwRAAAoAiggAiAD.KAI4NgIMQSAQBiEDIAJCmICAgICEgICAfzcCBCACIAM2AgAgA0HWCSkAADcAECADQc4JKQAANwAIIANBxgkpAAA3AAAgA0EAOgAYIAJBDGogAhChASACLAAL.QQBIBEAgAigCABAFC0UNACAAKAIkIAdqKAIAKAIIIAgQ1QEMAQsgACgCJCAEQQJ0aigCACIBIAYgASgCACgCGBEBAA0AQQAhAQwCC0EBIQEgBEEBaiIEIAVH.DQALCyACQRBqJAAgAQtbAQR/QQEhAgJAIAAgACgCACgCGBEAACIEQQBMDQAgAEEwaiEFA0AgACgCJCADQQJ0aigCACICIAUgASACKAIAKAIUEQMAIgJFDQEg.A0EBaiIDIARHDQALCyACC1sBBH9BASECAkAgACAAKAIAKAIYEQAAIgRBAEwNACAAQTBqIQUDQCAAKAIkIANBAnRqKAIAIgIgBSABIAIoAgAoAhARAwAiAkUN.ASADQQFqIgMgBEcNAAsLIAIL2AEBBX8CQCAAKAI8IgNFDQAgAyAAQTBqNgIEIAMgAygCACgCDBEAAEUNAAJAIAAgACgCACgCGBEAACIDQQBMDQADQAJAIAAg.ACgCACgCHBEAACgCBCEEIAAgAiAAKAIAKAIUEQEAIQUgACgCPCIGIAQoAgggBUECdGooAgAgBigCACgCCBEBAEUNACADIAJBAWoiAkcNAQwCCwtBAA8LQQAh.AiAAIAEgACgCACgCJBEBAEUNACAAIAEgACgCACgCKBEBAEUNACAAIAAoAgAoAiwRAAAhAgsgAgv1AQIGfwF+AkAgACABENEBRQ0AIABBJGogACAAKAIAKAIY.EQAAIgUQUkEBIQIgBUEATA0AA0ACQCABKQMQIgggASkDCFkNACABKAIAIAinai0AACECIAEgCEIBfDcDECAAIAIgACgCACgCMBEBACECIANBAnQiBiAAKAIk.aiIHKAIAIQQgByACNgIAIAQEQCAEIAQoAgAoAgQRAgAgACgCJCAGaigCACECCyACRQ0AIAIgACAAKAIAKAIcEQAAIAAgAyAAKAIAKAIUEQEAIAIoAgAoAggR.AwBFDQBBASECIAUgA0EBaiIDRw0BDAILC0EAIQILIAILJwEBfyAAQewRNgIAIAAoAhAhASAAQQA2AhAgAQRAIAEQFwsgABAFCyUBAX8gAEHsETYCACAAKAIQ.IQEgAEEANgIQIAEEQCABEBcLIAALygECBn8EfiABKAIAIQMgASgCBCEEQQEhBiAAKAIIKQMoIgmnIgEgAUEfdXIQBiEFAkAgBCADa0ECdSIHQQBMDQAgCUL/.////D4MhCkEAIQRBACEDA0AgAikDCCILIAIpAxAiDCAKfCIJWSEGIAkgC1UNASABRSIIRQRAIAUgAigCACAMp2ogAfwKAAALIAIgCTcDECAIRQRAIAAoAggo.AkAoAgAgA2ogBSAB/AoAAAsgASADaiEDIARBAWoiBCAHRw0ACwsgBRAFIAYL/wEBBn9BASEEAkAgASABKAIAKAIUEQAAQQBMDQADQEEAIQQgACgCBCgCBCAB.IAYgASgCACgCGBEBABDHASIDQX9GDQECQCAAKAIEIgItACRBAU0EQCABIAIoAgQoAgggA0ECdGooAgAgASgCACgCHBEBAA0BDAMLQQAhBQJAIANBAEgNACAD.IAIoAgQiBygCDCAHKAIIa0ECdU4NACACKAIIIAIoAhQgA0ECdGooAgBBAnRqKAIAIgIgAyACKAIAKAIgEQEAIQULIAVFDQIgASAFIAEoAgAoAhwRAQBFDQIL.QQEhBCABIAEoAgAoAhQRAAAgBkEBaiIGSg0ACwsgBAsEAEEBCz4BAn8CQCAAKAIIIgQtABhFDQAgBCABKAIEIAEoAgBrQQJ1EDJFDQAgACABIAIgACgCACgC.IBEDACEDCyADCxIAIABBfzYCDCAAIAE2AghBAQsJACAAEKABEAULnA8DFX8CfgF9IwBBEGsiCyQAAkACQCAAKAI8IAAoAkBHDQAgACgCMCAAKAI0Rw0AQQEh.BgwBC0EBIQYgACAAKAIAKAIYEQAAQQBMDQADQAJAIAAgFCAAKAIAKAIUEQEAIQECQAJAAkAgACAAKAIAKAIcEQAAKAIEKAIIIAFBAnRqKAIAIgQoAhxBAWsi.Ag4JAAIAAgACAgIBAgsCQCAELQAYIgFFBEBBACEGQQAhDQwBCyABQQJ0IgEQBiEGIAFFIgNFBEAgBkEAIAH8CwALIAEQBiENIAMNACANQQAgAfwLAAsCfwJA.AkACQAJAIAIOBQIDAQMAAwtBACEBQgAhFkEAIQUCQCAELQAYIgJFBEBBACECDAELIAJBAnQiAxAGIQIgA0UiB0UEQCACQQAgA/wLAAsgAxAGIQEgBw0AIAFB.ACAD/AsACwJAIAQoAlAEQCASQQJ0IQ4DQCAEKAIAKAIAIQggBCkDKCIXpyIDRSIPRQRAIAIgCCAEKQMwIBYgF358p2ogA/wKAAALQQAhByAELQAYIhAEQANA.IAIgB0ECdCIKaigCACIMQQBIDQQgASAKaiAAKAIwIA5qIApqKAIAIAxqNgIAIAdBAWoiByAQRw0ACwsgD0UEQCAIIBanIANsaiABIAP8CgAACyAWQgF8IhYg.BDUCUFQNAAsLQQEhBQsgAQRAIAEQBQsgAgRAIAIQBQsgBQ0CQQAMAwtBACEBQgAhFgJAIAQtABgiAkUEQEEAIQIMAQsgAkEBdCIDEAYhAiADRSIFRQRAIAJB.ACAD/AsACyADEAYhASAFDQAgAUEAIAP8CwALIAQoAlAEQCASQQJ0IQ4DQCAEKAIAKAIAIQogBCkDKCIXpyIHRSIPRQRAIAIgCiAEKQMwIBYgF358p2ogB/wK.AAALAkAgBC0AGCIFRQ0AIAAoAjAgDmohCEEAIQMgBUEBRwRAIAVBAXEgBUH+AXEhDEEAIQUDQCABIANBAXQiEWogAiARai8BACAIIANBAnRqLwEAajsBACAB.IANBAXIiEUEBdCITaiACIBNqLwEAIAggEUECdGovAQBqOwEAIANBAmohAyAFQQJqIgUgDEcNAAtFDQELIAEgA0EBdCIFaiACIAVqLwEAIAggA0ECdGovAQBq.OwEACyAPRQRAIAogFqcgB2xqIAEgB/wKAAALIBZCAXwiFiAENQJQVA0ACwsgAQRAIAEQBQsgAgRAIAIQBQsMAQtBACECQQAhA0IAIRYgBC0AGCIBBEAgARAG.IgJBACAB/AsAIAEQBiIDQQAgAfwLAAsgBCgCUARAIBJBAnQhDwNAIAQoAgAoAgAhCiAEKQMoIhenIgdFIhBFBEAgAiAKIAQpAzAgFiAXfnynaiAH/AoAAAsC.QCAELQAYIgVFDQAgACgCMCAPaiEIQQAhASAFQQFHBEAgBUEBcSAFQf4BcSERQQAhBQNAIAEgA2ogASACai0AACAIIAFBAnRqLQAAajoAACADIAFBAXIiDmog.AiAOai0AACAIIA5BAnRqLQAAajoAACABQQJqIQEgBUECaiIFIBFHDQALRQ0BCyABIANqIAEgAmotAAAgCCABQQJ0ai0AAGo6AAALIBBFBEAgCiAWpyAHbGog.AyAH/AoAAAsgFkIBfCIWIAQ1AlBUDQALCyADBEAgAxAFCyACBEAgAhAFCwsgEiAELQAYaiESQQELIA0EQCANEAULIAYEQCAGEAULDQFBACEGDAQLIAAoAjwg.CUECdGooAgAhAyAAKAIkIQIgACAAKAIAKAIcEQAAKAIoIAsgBCgCODYCDEEgEAYhASALQpiAgICAhICAgH83AgQgCyABNgIAIAFB1gkpAAA3ABAgAUHOCSkA.ADcACCABQcYJKQAANwAAIAFBADoAGCALQQxqIAsQoQEhBiALLAALQQBIBEAgCygCABAFCyAJQQFqAkAgBgRAIAQgAxDVAQwBCyACIAlBGGxqIg4oAgQhCSAE.LQAYIgdBAnQiBRAGIQIgC0GAgID8AzYCACAOKgIUIRhBfyAJdEF/cyIJQQBKBEAgCyAYIAmzlTgCAAsgCUEATA0CAkAgAygCUEUNACAHRQRAQQAhBgNAIAUE.QCAEKAJAKAIAIAIgBfwKAAALIAZBAWoiBiADKAJQSQ0ACwwBCyADKAIAKAIAIAMoAjBqIQ8gB0H+AXEhESAHQQFxIRNBACEQQQAhCEEAIQYDQCAOKAIIIQog.CyoCACEYQQAhCUEAIQ0CQCAHQQFHBEADQCACIA1BAnQiDGogGCAPIAZBAnRqIhUoAgCylCAKIAxqKgIAkjgCACACIAxBBHIiDGogGCAVKAIEspQgCiAMaioC.AJI4AgAgDUECaiENIAZBAmohBiAJQQJqIgkgEUcNAAsgE0UNAQsgAiANQQJ0IglqIBggDyAGQQJ0aigCALKUIAkgCmoqAgCSOAIAIAZBAWohBgsgBQRAIAQo.AkAoAgAgCGogAiAF/AoAAAsgBSAIaiEIIBBBAWoiECADKAJQSQ0ACwsgAhAFCyEJC0EBIQYgACAAKAIAKAIYEQAAIBRBAWoiFEoNAQwCCwsgAhAFQQAhBgsg.C0EQaiQAIAYLqRoDDn8DfgF9IwBB0ABrIgYkAAJAAkACQAJAAkACQAJAAkACQCABLwEmQYMETwRAIAZBADYCNCAGQgA3AixBASEMIAAgACgCACgCGBEAAEEA.TA0GAkADQAJAIAAgCCAAKAIAKAIUEQEAIQICQCAAIAAoAgAoAhwRAAAoAgQoAgggAkECdGooAgAiAigCHEEJRw0AIAZBLGogAi0AGCICEAwgASkDCCABKQMQ.IhAgAkECdCIDrSIRfFMNCyADBEAgBigCLCABKAIAIBCnaiAD/AoAAAsgASABKQMQIBF8IhA3AxAgASkDCCISIBBCBHwiEVMNCyABKAIAIgMgEKdqKgAAIRMg.ASARNwMQIBEgElkNCyADIBGnai0AACEEIAEgEEIFfDcDECAEQR9LDQsgBkF/NgIQIAZB3A42AgwgBkIANwIcIAZCADcCFCAGQQxqIQMgBigCLCEFIARBAWsi.C0EdTQRAIAMgBDYCBCAFIAJBAnRqIQcCQCADKAIQIgogAygCCCIEa0ECdSACTwRAIAIgAygCDCAEayIKQQJ1SwRAIAoEQCAEIAUgCvwKAAALIAMoAgwhAiAH.IAUgCmoiBUcEQANAIAIgBSoCADgCACACQQRqIQIgBUEEaiIFIAdHDQALCyADIAI2AgwMAgsgByAFayICBEAgBCAFIAL8CgAACyADIAIgBGo2AgwMAQsgBARA.IAMgBDYCDCAEEAUgA0EANgIQIANCADcCCEEAIQoLAkAgAkGAgICABE8NAEH/////AyAKQQF1IgQgAiACIARJGyAKQfz///8HTxsiAkGAgICABE8NACADIAJB.AnQiBBAGIgI2AgggAyACIARqNgIQIAMgBSAHRwR/IAcgBWtBBGtBfHFBBGoiBARAIAIgBSAE/AoAAAsgAiAEagUgAgs2AgwMAQsQBwALIAMgEzgCFAsgC0Ee.Tw0BIAMgACgCPCAAKAIoIAAoAiRrQQZtaigCABCIAUUNAyAAAn8gACgCKCICIAAoAixJBEAgAkHcDjYCACAGKAIQIQMgAkEANgIQIAJCADcCCCACIAM2AgQg.BigCGCIDIAYoAhQiBEcEQCADIARrIgNBAEgNCCACIAMQBiIFNgIMIAIgBTYCCCACIAMgBWoiBzYCECADBEAgBSAEIAP8CgAACyACIAc2AgwLIAIgBioCIDgC.FCACQRhqDAELAn8CQAJAIAAoAigiCiAAKAIkIgNrIgVBGG1BAWoiAkGr1arVAEkEQEGq1arVACAAKAIsIANrQRhtIgRBAXQiByACIAIgB0kbIARB1arVKk8b.IgJBq9Wq1QBPDQEgAkEYbCINEAYiDiAFaiIHQdwONgIAIAYoAhAhAiAHQQA2AhAgB0IANwIIIAcgAjYCBCAGKAIYIgIgBigCFCIERwRAIAIgBGsiAkEASA0D.IAcgAhAGIgs2AgggByACIAtqIg82AhAgAgRAIAsgBCAC/AoAAAsgByAPNgIMCyAHIAYqAiA4AhQgByAFQWhtQRhsaiEEIAMgCkcEQCADIQIgBCEFA0AgBUHc.DjYCACAFIAIoAgQ2AgQgBSACKAIINgIIIAUgAigCDDYCDCAFIAIoAhA2AhAgAkEANgIQIAJCADcCCCAFIAIqAhQ4AhQgBUEYaiEFIAJBGGoiAiAKRw0ACwNA.IAMgAygCACgCABEAABogA0EYaiIDIApHDQALIAAoAiQhAwsgACANIA5qNgIsIAAgB0EYaiICNgIoIAAgBDYCJCADBEAgAxAFCyACDAMLEAcACxAOAAsQBwAL.CzYCKCAGQdwONgIMIAYoAhQiAkUNACAGIAI2AhggAhAFCyAAIAAoAgAoAhgRAAAgCEEBaiIISg0BDAkLCyAGQdwONgIMIAYoAhQiAEUNCCAGIAA2AhggABAF.DAgLIAZB3A42AgwgBigCFCIARQ0HIAYgADYCGCAAEAUMBwsgACAAKAIAKAIYEQAAIQMgBkEANgJMIAZCADcCRAJAIAMEQCADQc2Zs+YATw0DIAYgA0EUbCIF.EAYiAjYCRCAGIAIgBWo2AkwgBUEUayIFIAVBFHBrQRRqIgUEQCACQQAgBfwLAAsgBiACIAVqIgU2AkgDQCAAIAkgACgCACgCFBEBACEEIAAgACgCACgCHBEA.ACgCBCgCCCAEQQJ0aigCACIHKAIcIgtBAWsiBEEKTQR/IAQtAJBqBUF/CyIKQQRKDQIgAiAJQRRsaiIEIActABgiDTYCECAEIApBACAKQQBKGzYCDCAEIAs2.AgggBCAINgIEIAQgBzYCACAIIA1qIQggCUEBaiIJIANHDQALCyAAQQAgACgCACgCFBEBACEEIAAgACgCACgCHBEAACgCBCgCCCAEQQJ0aigCACIEQQE6AFQg.BCAEKAJENgJIIAEpAwgiESABKQMQIhBXDQUgASgCACIJIBCnai0AACEHIAEgEEIBfCISNwMQAkACQCAHDgIAAQcLIAUgAmtBFEcNBiACKAIQQQNHDQYgESAS.Vw0GIAEgEEICfCISNwMQIBEgEEIGfCIQUw0GIAkgEqdqKAAAIQIgASAQNwMQIAQgAhAyGiAGQSxqIgBBADYCFCAAQgA3AgwgAEIANwIAIAAgAjYCFCAGQQxq.IAZBxABqEKMBIQVBACECIwBBIGsiAyQAIANBADYCHCADQgA3AhQCQCABKQMIIhIgASkDECIRQgR8IhBTDQAgASgCACIEIBGnaigAACEIIAEgEDcDEAJAAkAC.QAJAIAhBAmsOAgIAAQsgECASWQ0DIAQgEKdqLQAAIQQgASARQgV8NwMQIAAgBDoACCAEQQFGBEAgACABIANBFGoQwgENAwwEC0G6DkEXQazrACgCABC/AQwD.C0GhDkEYQazrACgCABC/AQwCCyAAIAEgA0EUahDCAUUNAQsgAyADKAIUNgIQIAMgAygCGDYCDCMAQRBrIgEkACAAKAIAIQIgACoCBCETIAFBgICA/AM2AgxB.fyACdEF/cyIJIgBBAEoEQCABIBMgALOVOAIMCyADKAIMIgcgAygCECIIRwRAIAUoAhwhACABKgIMIRMDQCAIKAIAIQIgCCgCBCEEIAEgEyAIKAIIIAlrspQ4.AgggASATIAQgCWuylDgCBCABIBMgAiAJa7KUOAIAIAAhAiAFKAIQIgooAgAiBC0AVEUEQCAEKAJEIAJBAnRqKAIAIQILIAUgBCgCUCACSwR/IAQoAigiAARA.IAQoAgAoAgAgACACbGogASAKKAIEQQJ0aiAA/AoAAAsgAygCDCEHIAEqAgwhEyAFKAIcBSAAC0EBaiIANgIcIAhBDGoiCCAHRw0ACwsgAUEQaiQAQQEhAgsg.AygCFCIABEAgAyAANgIYIAAQBQsgA0EgaiQAIAUQcyACDQUMBgsgESASVw0FIAkgEqdqLQAAIQUgASAQQgJ8IhI3AxAgBUEHTwRAIAYgBTYCAEGmDSAGEL4B.DAYLIBEgEEIGfCIQUw0FIAkgEqdqKAAAIQIgASAQNwMQIAMEQEEAIQkDQCAAIAkgACgCACgCFBEBACEEIAAgACgCACgCHBEAACgCBCgCCCAEQQJ0aigCACIE.IAIQMhogBEEBOgBUIAQgBCgCRDYCSCAJQQFqIgkgA0cNAAsLIAZBDGogBkHEAGoQowEhAAJAAkACQAJAAkACQAJAAkAgBUEBaw4GAAECAwQFBgsjAEGgAWsi.AyQAIANBBGogCBA5IgUgASAAIAIQqQEgBSgCCCEEIAUQOiADQaABaiQAIAIgBEZxDQoMBgsjAEGgAWsiAyQAIANBCGogCBA3IgUgASAAIAIQqAEgBSgCCCEE.IAUQOCADQaABaiQAIAIgBEZxDQkMBQsjAEGgAWsiAyQAIANBCGogCBA3IgUgASAAIAIQpwEgBSgCCCEEIAUQOCADQaABaiQAIAIgBEZxDQgMBAsjAEGgBWsi.AyQAIANBCGogCBAnIgUgASAAIAIQpgEgBSgCCCEEIAUQKCADQaAFaiQAIAIgBEZxDQcMAwsjAEGgBWsiAyQAIANBCGogCBAnIgUgASAAIAIQpQEgBSgCCCEE.IAUQKCADQaAFaiQAIAIgBEZxDQYMAgsjAEGgBWsiAyQAIANBCGogCBAnIgUgASAAIAIQpAEgBSgCCCEEIAUQKCADQaAFaiQAIAIgBEZxRQ0BDAULIwBBoAFr.IgMkACADQQRqIAgQOSIFIAEgACACEKoBIAUoAgghBCAFEDogA0GgAWokACACIARGcQ0ECyAAEHMLDAQLEAcACxAHAAsgABBzC0EBIQwLIAYoAkQiAEUNAyAG.IAA2AkggABAFDAMLIAAoAjQgACgCMEYNAQNAQQEgBkEMaiABEKIBRQ0BIAAoAjAiAiAJQQJ0aiAGKAIMIgNBAXZBACADQQFxa3M2AgAgCUEBaiIJIAAoAjQg.AmtBAnVJDQALDAELQQAhDAsgBigCLCIARQ0AIAYgADYCMCAAEAULIAZB0ABqJAAgDAtOAQF/IwBBEGsiAiQAAkAgACgCBCIAQX9GDQAgAiAAOgAPIAEpAxBC.AFUNACABIAEoAgQgAkEPaiACQRBqQQEQUwsgAkEQaiQAIABBf0cLBQBB3wkLGwAgACABKAIIIAUQOwRAIAEgAiADIAQQrgELCzgAIAAgASgCCCAFEDsEQCAB.IAIgAyAEEK4BDwsgACgCCCIAIAEgAiADIAQgBSAAKAIAKAIUEQwAC6QBAAJAIAAgASgCCCAEEDsEQCACIAEoAgRHDQEgASgCHEEBRg0BIAEgAzYCHA8LIAAg.ASgCACAEEDtFDQACQCABKAIQIAJHBEAgAiABKAIURw0BCyADQQFHDQEgAUEBNgIgDwsgASACNgIUIAEgAzYCICABIAEoAihBAWo2AigCQCABKAIkQQFHDQAg.ASgCGEECRw0AIAFBAToANgsgAUEENgIsCwuIAgACQCAAIAEoAgggBBA7BEAgAiABKAIERw0BIAEoAhxBAUYNASABIAM2AhwPCyAAIAEoAgAgBBA7BEACQCAB.KAIQIAJHBEAgAiABKAIURw0BCyADQQFHDQIgAUEBNgIgDwsgASADNgIgAkAgASgCLEEERg0AIAFBADsBNCAAKAIIIgAgASACIAJBASAEIAAoAgAoAhQRDAAg.AS0ANUEBRgRAIAFBAzYCLCABLQA0RQ0BDAMLIAFBBDYCLAsgASACNgIUIAEgASgCKEEBajYCKCABKAIkQQFHDQEgASgCGEECRw0BIAFBAToANg8LIAAoAggi.ACABIAIgAyAEIAAoAgAoAhgRCwALCzUAIAAoAgQgASgCCCgCBEYEQCABIAIgAxCvAQ8LIAAoAggiACABIAIgAyAAKAIAKAIcEQkACxwAIAAoAgQgASgCCCgC.BEYEQCABIAIgAxCvAQsL0gQBBX8jAEHQAGsiBCQAAkACf0EBIAAoAgQgASgCBEYNABojAEFAaiIDJAAgASABKAIAIgVBCGsoAgAiB2ohBgJAIAVBBGsoAgAi.BSgCBEG89AAoAgBGBEBBACAGIAcbIQEMAQsgASAGTgRAIANCADcCFCADQQA2AhAgA0G49AA2AgwgAyABNgIIIAMgBTYCBCADQgA3AhwgA0IANwIkIANCADcC.LCADQQA2AjwgA0KBgICAgICAgAE3AjQgBSADQQRqIAYgBkEBQQAgBSgCACgCFBEMACADKAIcDQELIANCADcCFCADQQA2AhAgA0GI9AA2AgwgAyABNgIIIANB.uPQANgIEIANCADcCHCADQgA3AiQgA0IANwIsIANCADcAMyADQQA2AjwgA0EBOgA7IAUgA0EEaiAGQQFBACAFKAIAKAIYEQsAQQAhAQJAAkAgAygCKA4CAAEC.CyADKAIYQQAgAygCJEEBRhtBACADKAIgQQFGG0EAIAMoAixBAUYbIQEMAQsgAygCHEEBRwRAIAMoAiwNASADKAIgQQFHDQEgAygCJEEBRw0BCyADKAIUIQEL.IANBQGskAEEAIAFFDQAaIAIoAgAiA0UNASAEQRhqQQBBOPwLACAEQQE6AEsgBEF/NgIgIAQgADYCHCAEIAE2AhQgBEEBNgJEIAEgBEEUaiADQQEgASgCACgC.HBEJACAEKAIsIgBBAUYEQCACIAQoAiQ2AgALIABBAUYLIARB0ABqJAAPCyAEQYEKNgIIIARB5wM2AgQgBEGGCTYCABA8AAsFABA8AAvvDAIPfwF+IwBBwAVr.IgMkAAJAAkACQCABLwEmQYMESQRAQQEhBwwBCyABKQMQIhEgASkDCFkNACABKAIAIBGnai0AACEPIAEgEUIBfDcDECAAIAAoAgAoAhwRAAAoAgQoAlAhBSAA.IAAoAgAoAhgRAAAiAgRAIAJBzZmz5gBPDQIgAkEUbCICEAYhCSACQRRrIgIgAkEUcGtBFGoiAgRAIAlBACAC/AsACyACIAlqIQsLAkAgACAAKAIAKAIYEQAA.QQBKBEAgAEEwaiENIABBPGohCgNAIAAgDCAAKAIAKAIUEQEAIQIgACAAKAIAKAIcEQAAKAIEKAIIIAJBAnRqKAIAIgIgBRAyGiACQQE6AFQgAiACKAJENgJI.IAIoAhwiBEEJSw0CAkAgAAJ/AkBBASAEdCIGQSpxRQRAIAZB1ABxDQMgBEEJRw0GIAItABghBCADQShqEEMiBiACKAI4IARBBkEAIARBleoALQAAbKwQZyAD.QeAAEAYgBhBkIgI2AiAgAkEBOgBUIAIgAigCRDYCSCACIAUQMhogAyAAKAJAIgI2AiQgACgCRCEEIAMgCjYCCCADIANBIGo2AgQgAyADQSRqNgIAIAIgBE8N.ASADKAIgIQQgA0EANgIgIAIgBDYCACACQQRqDAILIAItABhFDQIgACgCNCEEQQAhBgNAIANBADYCJCADIAQ2AgAgACgCOCEOIAMgDTYCMCADIANBJGo2Aiwg.AyADNgIoIAACfyAEIA5JBEAgBEEANgIAIARBBGoMAQsgA0EoahAcIAMoAgALIgQ2AjQgBkEBaiIGIAItABhJDQALDAILIAMQrAEgAygCJAsiAjYCQCACQQRr.KAIAIQIgAygCICEEIANBADYCICAERQ0AIAQQFwsgAigCHCIOQQFrIgRBCk0EfyAELQCQagVBfwshBiAJIAxBFGxqIgQgAi0AGCIQNgIQIAQgDjYCCCAEIAg2.AgQgBCACNgIAIAQgBkEAIAZBAEobNgIMIAggEGohCCAAIAAoAgAoAhgRAAAgDEEBaiIMSg0ACwtBACEAIANBADYCGCADQgA3AhAgA0EANgIIIANCADcCAAJA.IAkgC0YEQCADQQA2AhwMAQsgCyAJayIAQRRtQc2Zs+YATw0DIAMgABAGIgc2AhAgAyAAIAdqNgIYIABBFGsiACAAQRRwa0EUaiICBEAgByAJIAL8CgAAC0EA.IQAgA0EANgIcIAMgAiAHajYCFCACRQ0AIAJBFG0iAEEDcSEMQQAhBkEAIQJBACEEAkAgAEEETwRAIABBfHEhDUEAIQsDQCAEIAcgAkEUbGoiACgCECAAKAIM.bCIKIAQgCksbIgQgACgCJCAAKAIgbCIKIAQgCksbIgQgACgCOCAAKAI0bCIKIAQgCksbIgQgACgCTCAAKAJIbCIAIAAgBEkbIQQgAkEEaiECIAtBBGoiCyAN.Rw0ACyAMRQ0BCwNAIAQgByACQRRsaiIAKAIQIAAoAgxsIgAgACAESRshBCACQQFqIQIgBkEBaiIGIAxHDQALCyAERQRAQQAhAAwBCyAEQQBIDQQgBBAGIQAg.BARAIABBACAE/AsACyADIAAgBGoiAjYCCCADIAI2AgQgAyAANgIACyADIAA2AgxBACEHAkACQAJAAkACQAJAAkACQAJAIA8OBwABAgMEBQYICyADQShqIAgQ.OSIAIAEgAyAFEKoBIAAoAgghAiAAEDpFDQcgAiAFRg0GDAcLIANBKGogCBA5IgAgASADIAUQqQEgACgCCCECIAAQOkUNBiACIAVGDQUMBgsgA0EoaiAIEDci.ACABIAMgBRCoASAAKAIIIQIgABA4RQ0FIAIgBUYNBAwFCyADQShqIAgQNyIAIAEgAyAFEKcBIAAoAgghAiAAEDhFDQQgAiAFRg0DDAQLIANBKGogCBAnIgAg.ASADIAUQpgEgACgCCCECIAAQKEUNAyACIAVGDQIMAwsgA0EoaiAIECciACABIAMgBRClASAAKAIIIQIgABAoRQ0CIAIgBUYNAQwCCyADQShqIAgQJyIAIAEg.AyAFEKQBIAAoAgghAiAAEChFDQEgAiAFRw0BC0EBIQcLIAMoAhAiAARAIAMgADYCFCAAEAULIAMoAgAiAEUNACADIAA2AgQgABAFCyAJRQ0AIAkQBQsgA0HA.BWokACAHDwsQBwALEAcACwMAAAsFAQF/AAuGAwEHfyMAQSBrIgQkACAEIAAoAhwiAzYCECAAKAIUIQUgBCACNgIcIAQgATYCGCAEIAUgA2siATYCFCABIAJq.IQYCfwJAAkACQCAAKAI8IARBEGoiAUEIciABIAMgBUYiARsiA0EBQQIgARsiByAEQQxqEAEiAQR/QYD7ACABNgIAQX8FQQALBEAgAyEBDAELA0AgBiAEKAIM.IgVGDQIgBUEASARAIAMhAQwECyADQQhBACAFIAMoAgQiCEsiCRtqIgEgBSAIQQAgCRtrIgggASgCAGo2AgAgA0EMQQQgCRtqIgMgAygCACAIazYCACAGIAVr.IQYgACgCPCABIgMgByAJayIHIARBDGoQASIFBH9BgPsAIAU2AgBBfwVBAAtFDQALCyAGQX9HDQELIAAgACgCLCIBNgIcIAAgATYCFCAAIAEgACgCMGo2AhAg.AgwBCyAAQQA2AhwgAEIANwMQIAAgACgCAEEgcjYCAEEAIAdBAkYNABogAiABKAIEawsgBEEgaiQACxwAIAAoAjwQAyIABH9BgPsAIAA2AgBBfwVBAAsLCAAg.ABBXEAULVwEDfyAAIAEQxAECQCABQQBIDQAgASAAKAJYIgMgACgCVCICa0ECdU4NACADIAIgAUECdGoiAUEEaiICayIEBEAgASACIAT8CgAACyAAIANBBGs2.AlgLCxAAIAAoAgggACgCBGtBAnULyQIBBn8gACABIAIQxQEgASAAKAJYIgIgACgCVCIEa0ECdU4EQAJAAkACQCABQQFqIgMgAiIBIARrIgZBAnUiBUsEQCAA.KAJcIARrIgJBAnUgA08EQCABIAMgBWtBAnRqIQIDQCABQQE2AgAgAUEEaiIBIAJHDQALIAAgAjYCWAwECyADQYCAgIAETw0BQf////8DIAJBAXUiASADIAEg.A0sbIAJB/P///wdPGyIHQYCAgIAETw0CIAdBAnQQBiIIIAZqIgIgAyAFa0ECdGohAyACIQEDQCABQQE2AgAgAUEEaiIBIANHDQALIAIgBUECdGshASAGBEAg.ASAEIAb8CgAACyAAIAggB0ECdGo2AlwgACADNgJYIAAgATYCVCAERQ0DIAQQBQwDCyADIAVPDQIgACAEIANBAnRqNgJYDAILEAcACxAOAAsLCz0BAX8gAEHA.6gA2AgAgACgCYCIBBEAgACABNgJkIAEQBQsgACgCVCIBBEAgACABNgJYIAEQBQsgABBXEAULOwEBfyAAQcDqADYCACAAKAJgIgEEQCAAIAE2AmQgARAFCyAA.KAJUIgEEQCAAIAE2AlggARAFCyAAEFcLBABBewsEAEF8CwQAQX0LBABBfgsQACAAKAIEIAFBAnRqKAIACwQAQQwLBABBCwsEAEEKCwQAQQkLBABBCAsEAEEH.CwQAQQYLBABBBQs8AQF/AkAgACABIAAoAgAoAiQRAQBFDQAgACABIAAoAgAoAigRAQBFDQAgACAAKAIAKAIsEQAAIQILIAILYQECfyMAQRBrIgEkACAABEAg.ACwAJ0EASARAIAAoAhwQBQsgACgCECECIAEgAEEMajYCCCABQQhqIAIQgAEgACgCBCECIAEgADYCDCABQQxqIAIQTyAAEAULIAFBEGokAAuyAQEDfyMAQRBr.IgMkACADIAAgASACEPEBIAAgAygCADYCGCAAQRxqIQEgAEEYaiADQQRqIQIgAywADyEEAkACQAJAIAAsACdBAEgEQCABIAMoAgQgAiAEQQBIIgAbIAMoAggg.BCAAGxBVDAELIARBAE4NASABIAMoAgQgAygCCBBUCyADLAAPQQBODQEgAygCBBAFDAELIAEgAigCCDYCCCABIAIpAgA3AgALIANBEGokAAuyAQEDfyMAQRBr.IgMkACADIAAgASACEPIBIAAgAygCADYCGCAAQRxqIQEgAEEYaiADQQRqIQIgAywADyEEAkACQAJAIAAsACdBAEgEQCABIAMoAgQgAiAEQQBIIgAbIAMoAggg.BCAAGxBVDAELIARBAE4NASABIAMoAgQgAygCCBBUCyADLAAPQQBODQEgAygCBBAFDAELIAEgAigCCDYCCCABIAIpAgA3AgALIANBEGokAAu9AwEDfyMAQSBr.IgMkACADQQxqIQIjAEHQAGsiACQAIAAgASkDIDcDSCAAIAEpAxg3A0AgACABKQMQNwM4IAAgASkDCDcDMCAAIAEpAwA3AyggAEEMaiAAQShqIABBHGoQZgJA.IAAoAgwiAQRAIAIgATYCACACQQRqIQEgACwAG0EATgRAIAEgACgCGDYCCCABIAApAhA3AgAMAgsgASAAKAIQIAAoAhQQDSAALAAbQQBODQEgACgCEBAFDAEL.IAAsABtBAEgEQCAAKAIQEAULIAAtACMiAUECTwRAQSAQBiIBQQA6ABogAUH4Cy8AADsAGCABQfALKQAANwAQIAFB6AspAAA3AAggAUHgCykAADcAACAAQX82.AgwgAEEQaiABQRoQDSAALAAbIAIgACgCDDYCACACQQRqIQJBAE4EQCACIAAoAhg2AgggAiAAKQIQNwIAIAEQBQwCCyACIAAoAhAgACgCFBANIAAsABtBAEgE.QCAAKAIQEAULIAEQBQwBCyACQgA3AgggAkIANwIAIAIgATYCEAsgAEHQAGokACADKAIcIAMsABtBAEgEQCADKAIQEAULIANBIGokAAvRCQEJfyMAQRBrIgck.ACAHIAE2AgxBIBAGIQEgB0KYgICAgISAgIB/NwIEIAcgATYCACABQdYJKQAANwAQIAFBzgkpAAA3AAggAUHGCSkAADcAACABQQA6ABgjAEEwayIDJAAgBygC.DCECAkACQCAAKAIQIgFFDQAgAEEQaiEFA0AgASgCECIEIAJKBEAgASgCACIBDQEMAgsgAiAESgRAIAEoAgQiAQ0BDAILCyABIAVHDQELIANCADcCICADIANB.IGo2AhwgA0IANwIUIAMgA0EUajYCECADIAI2AgwgA0EMaiIIKAIAIQQgA0EoaiIJAn8CQCAAQQxqIgYoAgQiAUUEQCAGQQRqIgUhAAwBCwNAIAEiACgCECIB.IARKBEAgACIFKAIAIgENAQwCCyABIAROBEAgACECQQAMAwsgACgCBCIBDQALIABBBGohBQtBIBAGIgJCADcCGCACIAQ2AhAgAkEANgIAIAIgAkEYaiIENgIU.IAgoAgwEQCACIAJBFGoiASAIKAIIIAEQmAEiATYCGCABIAQ2AggDQCABIgQoAgAiAQ0ACyACIAQ2AhQgAiAIKAIMNgIcCyACIAA2AgggAkIANwIAIAUgAjYC.ACAGKAIAKAIAIgAEQCAGIAA2AgALIAYoAgQgAhBpIAYgBigCCEEBajYCCEEBCzoABCAJIAI2AgAgAygCKCEBIAMoAhQhACADIANBEGo2AiggCSAAEE8gAygC.ICEAIAMgA0EcajYCDCAIIAAQTwsgA0EwaiQAIwBBIGsiBSQAIwBBIGsiACQAIwBBEGsiAiQAAkAgAEEVaiIEIABBIGoiBiIDRg0ACyACAn8gAyAEayIIQQlM.BEBBPSAIQQFBkPIAKAIAQQFLa0gNARoLIARBMToAACAEQQFqIQNBAAs2AgwgAiADNgIIIAAgAigCCDYCDCAAIAIoAgw2AhAgAkEQaiQAIAUgACgCDCAEayIA.ELQBIQIgAARAIAIgBCAA/AoAAAsgACACakEAOgAAIAYkACAFIAc2AhAgBSABQRRqNgIcAkACQCAFKAIcIgQoAgQiAUUEQCAEQQRqIgIhAAwBCyAHKAIAIAcg.BywACyIAQQBIIgIbIQYgBygCBCAAIAIbIQMDQCAGIAEiACgCECAAQRBqIAAsABsiAUEASCICGyIIIAAoAhQgASACGyIBIAMgASADSSIJGyIKEBMiAkEASCAB.IANLIAIbQQFGBEAgACICKAIAIgENAQwCC0EAIQIgCCAGIAoQEyIBQQBIIAkgARtBAUcEQCAAIQEMAwsgACgCBCIBDQALIABBBGohAgtBKBAGIgFBADYCACAB.QRBqIQYCQCAFKAIQIgMsAAtBAE4EQCAGIAMoAgg2AgggBiADKQIANwIADAELIAYgAygCACADKAIEEA0LIAFBADYCJCABQgA3AhwgASAANgIIIAFCADcCACAC.IAE2AgAgBCgCACgCACIABEAgBCAANgIACyAEKAIEIAEQaUEBIQIgBCAEKAIIQQFqNgIICyAFIAI6ABggBSABNgIUIAUoAhQiACwAJ0EASARAIAAoAhwQBQsg.ACAFKAIINgIkIAAgBSkCADcCHCAFQSBqJAAgBywAC0EASARAIAcoAgAQBQsgB0EQaiQAC9AwAgh/Bn4CfyACIQZBACECAkACQAJAAkACQAJAAkACQAJAAkAg.A0EBaw4JAAMBBAIFBwcGBwtBACEAIwBBEGsiCyQAAkAgASgCUCIDIAYtABgiB2wgBEcNACAGLQBUIQECQCAGKAIcQQFHIgANACABQQFxRQ0AIAQEQCAFIAYo.AgAoAgAgBigCMGogBPwKAAALQQEhAAwBCwJAIAdFBEAMAQsgBxAGIgpBACAH/AsACwJAAkAgA0UNACAARQRAIAcEQEEAIQEDQCABIQAgBi0AVEUEQCAGKAJE.IAFBAnRqKAIAIQALIAYpAygiEKciAgRAIAogBigCACgCACAGKQMwIBAgAK1+fKdqIAL8CgAACyAHBEAgBSAJaiAKIAf8CgAACyAHIAlqIQlBASEAIAFBAWoi.ASADRw0ACwwDCyABQQFxRQRAIAYoAgAhByAGKQMwIRIgBigCRCEJIAYpAygiEKchBkEAIQAgA0EBRwRAIANBAXEgA0F+cSEDQQAhAQNAIAkgAEECdGohBSAG.RSICRQRAIAogBygCACAQIAU1AgB+IBJ8p2ogBvwKAAALIAJFBEAgCiAHKAIAIBAgBTUCBH4gEnynaiAG/AoAAAsgAEECaiEAIAFBAmoiASADRw0AC0UNAwsg.BkUNAiAKIAcoAgAgECAJIABBAnRqNQIAfiASfKdqIAb8CgAADAILIAYoAgAhASAGKQMwIQ8gBikDKCIRpyECIANBAUcEQCADrSIQQgGDIBBC/v///w+DIRAD.QCACRSIARQRAIAogASgCACAOIBF+IA98p2ogAvwKAAALIABFBEAgCiABKAIAIBEgDkIBhH4gD3ynaiAC/AoAAAsgDkICfCEOIBNCAnwiEyAQUg0AC1ANAgsg.AkUNASAKIAEoAgAgDiARfiAPfKdqIAL8CgAAQQEhAAwCC0EAIQEgB0UEQANAIAsgBi0AVAR/IAEFIAYoAkQgAUECdGooAgALNgIMIAYgC0EMaiAGLAAYIAoQ.YiIARQ0DIAFBAWoiASADRw0ADAMLAAsDQCALIAYtAFQEfyABBSAGKAJEIAFBAnRqKAIACzYCDCAGIAtBDGogBiwAGCAKEGIiAEUNAiAHBEAgBSAJaiAKIAf8.CgAACyAHIAlqIQkgAUEBaiIBIANHDQALDAELQQEhAAsgCkUNACAKEAULDAcLIwBBEGsiCiQAAkAgBi0AGCIDQQF0IgsgASgCUCIMbCAERw0AIAYtAFQhAgJA.IAYoAhxBA0ciAA0AIAJBAXFFDQAgBARAIAUgBigCACgCACAGKAIwaiAE/AoAAAtBASECDAELAkAgA0UEQEEAIQEMAQsgCxAGIQEgC0UNACABQQAgC/wLAAsC.QAJAIAxFDQAgAEUEQCAGKAIAIQcgBikDMCEPIAYpAygiEachCCADBEAgAkEBcUUEQANAIAgEQCABIAcoAgAgESAGKAJEIA1BAnRqNQIAfiAPfKdqIAj8CgAA.C0EBIQIgCwRAIAUgCUEBdGogASAL/AoAAAsgAyAJaiEJIA1BAWoiDSAMRw0ACwwECyAMrSEQQQAhBgNAIAgEQCABIAcoAgAgDiARfiAPfKdqIAj8CgAAC0EB.IQIgCwRAIAUgBkEBdGogASAL/AoAAAsgAyAGaiEGIA5CAXwiDiAQUg0ACwwDCyACQQFxRQRAIAYoAkQhCUEAIQYgDEEBRwRAIAxBAXEgDEF+cSEDQQAhAgNA.IAkgBkECdGohBSAIRSIARQRAIAEgBygCACARIAU1AgB+IA98p2ogCPwKAAALIABFBEAgASAHKAIAIBEgBTUCBH4gD3ynaiAI/AoAAAsgBkECaiEGIAJBAmoi.AiADRw0AC0UNAwsgCEUNAiABIAcoAgAgESAJIAZBAnRqNQIAfiAPfKdqIAj8CgAADAILIAxBAUcEQCAMrSIQQgGDIBBC/v///w+DIRADQCAIRSIARQRAIAEg.BygCACAOIBF+IA98p2ogCPwKAAALIABFBEAgASAHKAIAIBEgDkIBhH4gD3ynaiAI/AoAAAsgDkICfCEOIBNCAnwiEyAQUg0AC1ANAgsgCEUNASABIAcoAgAg.DiARfiAPfKdqIAj8CgAAQQEhAgwCC0EAIQAgA0UEQANAIAogBi0AVAR/IAAFIAYoAkQgAEECdGooAgALNgIMIAYgCkEMaiAGLAAYIAEQXyICRQ0DIABBAWoi.ACAMRw0ADAMLAAsDQCAKIAYtAFQEfyAABSAGKAJEIABBAnRqKAIACzYCDCAGIApBDGogBiwAGCABEF8iAkUNAiALBEAgBSAJQQF0aiABIAv8CgAACyADIAlq.IQkgAEEBaiIAIAxHDQALDAELQQEhAgsgAUUNACABEAULDAcLIwBBEGsiCiQAAkAgBi0AGCIDQQJ0IgsgASgCUCIMbCAERw0AIAYtAFQhAgJAIAYoAhxBBUci.AA0AIAJBAXFFDQAgBARAIAUgBigCACgCACAGKAIwaiAE/AoAAAtBASECDAELAkAgA0UEQEEAIQEMAQsgCxAGIQEgC0UNACABQQAgC/wLAAsCQAJAIAxFDQAg.AEUEQCAGKAIAIQcgBikDMCEPIAYpAygiEachCCADBEAgAkEBcUUEQANAIAgEQCABIAcoAgAgESAGKAJEIA1BAnRqNQIAfiAPfKdqIAj8CgAACyALBEAgBSAJ.QQJ0aiABIAv8CgAACyADIAlqIQlBASECIA1BAWoiDSAMRw0ACwwECyAMrSEQQQAhBgNAIAgEQCABIAcoAgAgDiARfiAPfKdqIAj8CgAACyALBEAgBSAGQQJ0.aiABIAv8CgAACyADIAZqIQYgDkIBfCIOIBBSDQALDAILIAJBAXFFBEAgBigCRCEJQQAhBiAMQQFHBEAgDEEBcSAMQX5xIQNBACECA0AgCSAGQQJ0aiEFIAhF.IgBFBEAgASAHKAIAIBEgBTUCAH4gD3ynaiAI/AoAAAsgAEUEQCABIAcoAgAgESAFNQIEfiAPfKdqIAj8CgAACyAGQQJqIQYgAkECaiICIANHDQALRQ0DCyAI.RQ0CIAEgBygCACARIAkgBkECdGo1AgB+IA98p2ogCPwKAAAMAgsgDEEBRwRAIAytIhBCAYMgEEL+////D4MhEANAIAhFIgBFBEAgASAHKAIAIA4gEX4gD3yn.aiAI/AoAAAsgAEUEQCABIAcoAgAgESAOQgGEfiAPfKdqIAj8CgAACyAOQgJ8IQ4gE0ICfCITIBBSDQALUA0CCyAIRQ0BIAEgBygCACAOIBF+IA98p2ogCPwK.AABBASECDAILQQAhACADRQRAA0AgCiAGLQBUBH8gAAUgBigCRCAAQQJ0aigCAAs2AgwgBiAKQQxqIAYsABggARBdIgJFDQMgAEEBaiIAIAxHDQAMAwsACwNA.IAogBi0AVAR/IAAFIAYoAkQgAEECdGooAgALNgIMIAYgCkEMaiAGLAAYIAEQXSICRQ0CIAsEQCAFIAlBAnRqIAEgC/wKAAALIAMgCWohCSAAQQFqIgAgDEcN.AAsMAQtBASECCyABRQ0AIAEQBQsMBgtBACEAIwBBEGsiCyQAAkAgASgCUCIDIAYtABgiB2wgBEcNACAGLQBUIQECQCAGKAIcQQJHIgANACABQQFxRQ0AIAQE.QCAFIAYoAgAoAgAgBigCMGogBPwKAAALQQEhAAwBCwJAIAdFBEAMAQsgBxAGIgpBACAH/AsACwJAAkAgA0UNACAARQRAIAcEQEEAIQEDQCABIQAgBi0AVEUE.QCAGKAJEIAFBAnRqKAIAIQALIAYpAygiEKciAgRAIAogBigCACgCACAGKQMwIBAgAK1+fKdqIAL8CgAACyAHBEAgBSAJaiAKIAf8CgAACyAHIAlqIQlBASEA.IAFBAWoiASADRw0ACwwDCyABQQFxRQRAIAYoAgAhByAGKQMwIRIgBigCRCEJIAYpAygiEKchBkEAIQAgA0EBRwRAIANBAXEgA0F+cSEDQQAhAQNAIAkgAEEC.dGohBSAGRSICRQRAIAogBygCACAQIAU1AgB+IBJ8p2ogBvwKAAALIAJFBEAgCiAHKAIAIBAgBTUCBH4gEnynaiAG/AoAAAsgAEECaiEAIAFBAmoiASADRw0A.C0UNAwsgBkUNAiAKIAcoAgAgECAJIABBAnRqNQIAfiASfKdqIAb8CgAADAILIAYoAgAhASAGKQMwIQ8gBikDKCIRpyECIANBAUcEQCADrSIQQgGDIBBC/v//./w+DIRADQCACRSIARQRAIAogASgCACAOIBF+IA98p2ogAvwKAAALIABFBEAgCiABKAIAIBEgDkIBhH4gD3ynaiAC/AoAAAsgDkICfCEOIBNCAnwiEyAQUg0A.C1ANAgsgAkUNASAKIAEoAgAgDiARfiAPfKdqIAL8CgAAQQEhAAwCC0EAIQEgB0UEQANAIAsgBi0AVAR/IAEFIAYoAkQgAUECdGooAgALNgIMIAYgC0EMaiAG.LAAYIAoQYSIARQ0DIAFBAWoiASADRw0ADAMLAAsDQCALIAYtAFQEfyABBSAGKAJEIAFBAnRqKAIACzYCDCAGIAtBDGogBiwAGCAKEGEiAEUNAiAHBEAgBSAJ.aiAKIAf8CgAACyAHIAlqIQkgAUEBaiIBIANHDQALDAELQQEhAAsgCkUNACAKEAULDAQLIwBBEGsiCiQAAkAgBi0AGCIDQQF0IgsgASgCUCIMbCAERw0AIAYt.AFQhAgJAIAYoAhxBBEciAA0AIAJBAXFFDQAgBARAIAUgBigCACgCACAGKAIwaiAE/AoAAAtBASECDAELAkAgA0UEQEEAIQEMAQsgCxAGIQEgC0UNACABQQAg.C/wLAAsCQAJAIAxFDQAgAEUEQCAGKAIAIQcgBikDMCEPIAYpAygiEachCCADBEAgAkEBcUUEQANAIAgEQCABIAcoAgAgESAGKAJEIA1BAnRqNQIAfiAPfKdq.IAj8CgAAC0EBIQIgCwRAIAUgCUEBdGogASAL/AoAAAsgAyAJaiEJIA1BAWoiDSAMRw0ACwwECyAMrSEQQQAhBgNAIAgEQCABIAcoAgAgDiARfiAPfKdqIAj8.CgAAC0EBIQIgCwRAIAUgBkEBdGogASAL/AoAAAsgAyAGaiEGIA5CAXwiDiAQUg0ACwwDCyACQQFxRQRAIAYoAkQhCUEAIQYgDEEBRwRAIAxBAXEgDEF+cSED.QQAhAgNAIAkgBkECdGohBSAIRSIARQRAIAEgBygCACARIAU1AgB+IA98p2ogCPwKAAALIABFBEAgASAHKAIAIBEgBTUCBH4gD3ynaiAI/AoAAAsgBkECaiEG.IAJBAmoiAiADRw0AC0UNAwsgCEUNAiABIAcoAgAgESAJIAZBAnRqNQIAfiAPfKdqIAj8CgAADAILIAxBAUcEQCAMrSIQQgGDIBBC/v///w+DIRADQCAIRSIA.RQRAIAEgBygCACAOIBF+IA98p2ogCPwKAAALIABFBEAgASAHKAIAIBEgDkIBhH4gD3ynaiAI/AoAAAsgDkICfCEOIBNCAnwiEyAQUg0AC1ANAgsgCEUNASAB.IAcoAgAgDiARfiAPfKdqIAj8CgAAQQEhAgwCC0EAIQAgA0UEQANAIAogBi0AVAR/IAAFIAYoAkQgAEECdGooAgALNgIMIAYgCkEMaiAGLAAYIAEQXiICRQ0D.IABBAWoiACAMRw0ADAMLAAsDQCAKIAYtAFQEfyAABSAGKAJEIABBAnRqKAIACzYCDCAGIApBDGogBiwAGCABEF4iAkUNAiALBEAgBSAJQQF0aiABIAv8CgAA.CyADIAlqIQkgAEEBaiIAIAxHDQALDAELQQEhAgsgAUUNACABEAULDAQLIwBBEGsiCiQAAkAgBi0AGCIDQQJ0IgsgASgCUCIMbCAERw0AIAYtAFQhAgJAIAYo.AhxBBkciAA0AIAJBAXFFDQAgBARAIAUgBigCACgCACAGKAIwaiAE/AoAAAtBASECDAELAkAgA0UEQEEAIQEMAQsgCxAGIQEgC0UNACABQQAgC/wLAAsCQAJA.IAxFDQAgAEUEQCAGKAIAIQcgBikDMCEPIAYpAygiEachCCADBEAgAkEBcUUEQANAIAgEQCABIAcoAgAgESAGKAJEIA1BAnRqNQIAfiAPfKdqIAj8CgAACyAL.BEAgBSAJQQJ0aiABIAv8CgAACyADIAlqIQlBASECIA1BAWoiDSAMRw0ACwwECyAMrSEQQQAhBgNAIAgEQCABIAcoAgAgDiARfiAPfKdqIAj8CgAACyALBEAg.BSAGQQJ0aiABIAv8CgAACyADIAZqIQYgDkIBfCIOIBBSDQALDAILIAJBAXFFBEAgBigCRCEJQQAhBiAMQQFHBEAgDEEBcSAMQX5xIQNBACECA0AgCSAGQQJ0.aiEFIAhFIgBFBEAgASAHKAIAIBEgBTUCAH4gD3ynaiAI/AoAAAsgAEUEQCABIAcoAgAgESAFNQIEfiAPfKdqIAj8CgAACyAGQQJqIQYgAkECaiICIANHDQAL.RQ0DCyAIRQ0CIAEgBygCACARIAkgBkECdGo1AgB+IA98p2ogCPwKAAAMAgsgDEEBRwRAIAytIhBCAYMgEEL+////D4MhEANAIAhFIgBFBEAgASAHKAIAIA4g.EX4gD3ynaiAI/AoAAAsgAEUEQCABIAcoAgAgESAOQgGEfiAPfKdqIAj8CgAACyAOQgJ8IQ4gE0ICfCITIBBSDQALUA0CCyAIRQ0BIAEgBygCACAOIBF+IA98.p2ogCPwKAABBASECDAILQQAhACADRQRAA0AgCiAGLQBUBH8gAAUgBigCRCAAQQJ0aigCAAs2AgwgBiAKQQxqIAYsABggARBcIgJFDQMgAEEBaiIAIAxHDQAM.AwsACwNAIAogBi0AVAR/IAAFIAYoAkQgAEECdGooAgALNgIMIAYgCkEMaiAGLAAYIAEQXCICRQ0CIAsEQCAFIAlBAnRqIAEgC/wKAAALIAMgCWohCSAAQQFq.IgAgDEcNAAsMAQtBASECCyABRQ0AIAEQBQsMAwsjAEEQayIHJAACQCAEIAYtABgiBEECdCIMIAEoAlAiDWxHDQAgBigCHCEDAkAgBEUEQAwBCyAMEAYiCiEB.IAxBBGsiAkECdkEBakEHcSIABEADQCABQYCAgIB8NgIAIAFBBGohASAJQQFqIgkgAEcNAAsLIAJBHEkNACAKIAxqIQADQCABQoCAgICMgICAQDcCGCABQoCA.gICMgICAQDcCECABQoCAgICMgICAQDcCCCABQoCAgICMgICAQDcCACABQSBqIgEgAEcNAAsLAkACQCANRQ0AIANBCUYEQCAGKAIAIQsgBikDMCEOIAYtAFQh.ACAGKQMoIhOnIQggBARAQQAhASAAQQFxIQJBACEJA0AgASEAIAJFBEAgBigCRCABQQJ0aigCACEACyAIBEAgCiALKAIAIBMgAK1+IA58p2ogCPwKAAALIAwE.QCAFIAlBAnRqIAogDPwKAAALIAQgCWohCSABQQFqIgEgDUcNAAsMAgsgAEEBcUUEQCAGKAJEIQlBACEBIA1BAUcEQCANQQFxIA1BfnEhA0EAIQADQCAJIAFB.AnRqIQUgCEUiAkUEQCAKIAsoAgAgEyAFNQIAfiAOfKdqIAj8CgAACyACRQRAIAogCygCACATIAU1AgR+IA58p2ogCPwKAAALIAFBAmohASAAQQJqIgAgA0cN.AAtFDQMLIAhFDQIgCiALKAIAIBMgCSABQQJ0ajUCAH4gDnynaiAI/AoAAAwCCyANQQFHBEAgDa0iEEIBgyAQQv7///8PgyEQA0AgCEUiAEUEQCAKIAsoAgAg.DyATfiAOfKdqIAj8CgAACyAARQRAIAogCygCACATIA9CAYR+IA58p2ogCPwKAAALIA9CAnwhDyARQgJ8IhEgEFINAAtQDQILIAhFDQEgCiALKAIAIA8gE34g.DnynaiAI/AoAAAwBC0EAIQEgBEUEQANAIAcgBi0AVAR/IAEFIAYoAkQgAUECdGooAgALNgIMIAYgB0EMaiAGLAAYIAoQIiIJRQ0DIAFBAWoiASANRw0ADAML.AAtBACEAA0AgByAGLQBUBH8gAQUgBigCRCABQQJ0aigCAAs2AgwgBiAHQQxqIAYsABggChAiIglFDQIgDARAIAUgAEECdGogCiAM/AoAAAsgACAEaiEAIAFB.AWoiASANRw0ACwwBC0EBIQkgCkUNAQsgChAFCyAHQRBqJAAgCSECCyACDAILIAtBEGokACAADAELIApBEGokACACCwvrBAENfwJ/IwBBEGsiBiQAIAEoAlAi.CCACLQAYIgBsIQECQAJAAkAgAigCHCIEQQVHIARBBkdxDQAgAi0AVEEBcUUNAAJ/IAFFBEBBACEAQQAMAQsgAUEASA0DIAIoAjAhBCACKAIAKAIAIQIgAUEC.dCIBEAYhACABBEAgACACIARqIAH8CgAACyAAIAFqCyEBIAMoAgAiAgRAIAMgAjYCBCACEAULIAMgATYCCCADIAE2AgQgAyAANgIAQQEhBQwBCwJAIABFBEAg.AyABEAwgCA0BQQEhBQwCCyAAQQJ0IgUQBiEEIAUEQCAEQQAgBfwLAAsgAyABEAwgCEUEQEEBIQUgBBAFDAILIABB/AFxIQ8gAEEDcSELIABBBEkhEEEAIQED.QCAGIAItAFQEfyAHBSACKAJEIAdBAnRqKAIACzYCDCACIAZBDGogAiwAGCAEEFwiBQRAIAMoAgAhDEEAIQ1BACEOQQAhAAJAIBBFBEADQCAMIAFBAnRqIgkg.BCAAQQJ0aiIKKAIANgIAIAkgCigCBDYCBCAJIAooAgg2AgggCSAKKAIMNgIMIABBBGohACABQQRqIQEgDkEEaiIOIA9HDQALIAtFDQELA0AgDCABQQJ0aiAE.IABBAnRqKAIANgIAIABBAWohACABQQFqIQEgDUEBaiINIAtHDQALCyAHQQFqIgcgCEcNAQsLIAQQBQwBC0EAIQEDQCAGIAItAFQEfyABBSACKAJEIAFBAnRq.KAIACzYCDCACIAZBDGogAiwAGEEAEFwaQQEhBSABQQFqIgEgCEcNAAsLIAZBEGokACAFDAELEAcACwvrBAENfwJ/IwBBEGsiBiQAIAEoAlAiCCACLQAYIgBs.IQECQAJAAkAgAigCHCIEQQNHIARBBEdxDQAgAi0AVEEBcUUNAAJ/IAFFBEBBACEAQQAMAQsgAUEASA0DIAIoAjAhBCACKAIAKAIAIQIgAUEBdCIBEAYhACAB.BEAgACACIARqIAH8CgAACyAAIAFqCyEBIAMoAgAiAgRAIAMgAjYCBCACEAULIAMgATYCCCADIAE2AgQgAyAANgIAQQEhBAwBCwJAIABFBEAgAyABEGAgCA0B.QQEhBAwCC0EBIQQgAEEBdCIFEAYhByAFBEAgB0EAIAX8CwALIAMgARBgAkAgCEUNACAAQfwBcSEPIABBA3EhC0EAIQUgAEEESSEQQQAhAQNAIAYgAi0AVAR/.IAUFIAIoAkQgBUECdGooAgALNgIMIAIgBkEMaiACLAAYIAcQXiIERQ0BIAMoAgAhDEEAIQ1BACEOQQAhAAJAIBBFBEADQCAMIAFBAXRqIgkgByAAQQF0aiIK.LwEAOwEAIAkgCi8BAjsBAiAJIAovAQQ7AQQgCSAKLwEGOwEGIABBBGohACABQQRqIQEgDkEEaiIOIA9HDQALIAtFDQELA0AgDCABQQF0aiAHIABBAXRqLwEA.OwEAIABBAWohACABQQFqIQEgDUEBaiINIAtHDQALCyAFQQFqIgUgCEcNAAsLIAcQBQwBC0EAIQEDQCAGIAItAFQEfyABBSACKAJEIAFBAnRqKAIACzYCDCAC.IAZBDGogAiwAGEEAEF4aQQEhBCABQQFqIgEgCEcNAAsLIAZBEGokACAEDAELEAcACwvrBAENfwJ/IwBBEGsiBiQAIAEoAlAiCCACLQAYIgBsIQECQAJAAkAg.AigCHCIEQQNHIARBBEdxDQAgAi0AVEEBcUUNAAJ/IAFFBEBBACEAQQAMAQsgAUEASA0DIAIoAjAhBCACKAIAKAIAIQIgAUEBdCIBEAYhACABBEAgACACIARq.IAH8CgAACyAAIAFqCyEBIAMoAgAiAgRAIAMgAjYCBCACEAULIAMgATYCCCADIAE2AgQgAyAANgIAQQEhBAwBCwJAIABFBEAgAyABEGAgCA0BQQEhBAwCC0EB.IQQgAEEBdCIFEAYhByAFBEAgB0EAIAX8CwALIAMgARBgAkAgCEUNACAAQfwBcSEPIABBA3EhC0EAIQUgAEEESSEQQQAhAQNAIAYgAi0AVAR/IAUFIAIoAkQg.BUECdGooAgALNgIMIAIgBkEMaiACLAAYIAcQXyIERQ0BIAMoAgAhDEEAIQ1BACEOQQAhAAJAIBBFBEADQCAMIAFBAXRqIgkgByAAQQF0aiIKLwEAOwEAIAkg.Ci8BAjsBAiAJIAovAQQ7AQQgCSAKLwEGOwEGIABBBGohACABQQRqIQEgDkEEaiIOIA9HDQALIAtFDQELA0AgDCABQQF0aiAHIABBAXRqLwEAOwEAIABBAWoh.ACABQQFqIQEgDUEBaiINIAtHDQALCyAFQQFqIgUgCEcNAAsLIAcQBQwBC0EAIQEDQCAGIAItAFQEfyABBSACKAJEIAFBAnRqKAIACzYCDCACIAZBDGogAiwA.GEEAEF8aQQEhBCABQQFqIgEgCEcNAAsLIAZBEGokACAEDAELEAcACwuhBgELfwJ/IwBBEGsiCSQAIAEoAlAiCyACLQAYIgFsIQACQAJAAkAgAigCHCIFQQFH.IAVBAkdxDQAgAi0AVEEBcUUNAAJ/IABFBEBBACEBQQAMAQsgAEEASA0DIAIoAjAhByACKAIAKAIAIQIgABAGIQEgAARAIAEgAiAHaiAA/AoAAAsgACABagsh.ACADKAIAIgIEQCADIAI2AgQgAhAFCyADIAA2AgggAyAANgIEIAMgATYCAEEBIQUMAQsgAQRAIAEQBiIHQQAgAfwLAAsCQCADKAIEIgQgAygCACIGayIFIABJ.BEAgAygCCCAGayIIIABPBEAgACAFayIABEAgBEEAIAD8CwALIAMgACAEajYCBAwCCyAAQQBIDQNB/////wcgCEEBdCIEIAAgACAESRsgCEH/////A08bIggQ.BiEEIAAgBWsiCgRAIAQgBWpBACAK/AsACyAFBEAgBCAGIAX8CgAACyADIAQgCGo2AgggAyAAIARqNgIEIAMgBDYCACAGRQ0BIAYQBQwBCyAAIAVPDQAgAyAA.IAZqNgIECwJAIAsEQCABRQRAQQAhAANAIAkgAi0AVAR/IAAFIAIoAkQgAEECdGooAgALNgIMIAIgCUEMaiACLAAYIAcQYSIFRQ0DIABBAWoiACALRw0ACwwC.CyABQfwBcSENIAFBA3EhCEEAIQYgAUEESSEOQQAhAANAIAkgAi0AVAR/IAYFIAIoAkQgBkECdGooAgALNgIMIAIgCUEMaiACLAAYIAcQYSIFRQ0CQQAhCkEA.IQxBACEBAkAgDkUEQANAIAMoAgAgAGogASAHaiIELQAAOgAAIAMoAgAgAGogBC0AAToAASADKAIAIABqIAQtAAI6AAIgAygCACAAaiAELQADOgADIAFBBGoh.ASAAQQRqIQAgDEEEaiIMIA1HDQALIAhFDQELA0AgAygCACAAaiABIAdqLQAAOgAAIAFBAWohASAAQQFqIQAgCkEBaiIKIAhHDQALCyAGQQFqIgYgC0cNAAsM.AQtBASEFIAdFDQELIAcQBQsgCUEQaiQAIAUMAQsQBwALC6EGAQt/An8jAEEQayIJJAAgASgCUCILIAItABgiAWwhAAJAAkACQCACKAIcIgVBAUcgBUECR3EN.ACACLQBUQQFxRQ0AAn8gAEUEQEEAIQFBAAwBCyAAQQBIDQMgAigCMCEHIAIoAgAoAgAhAiAAEAYhASAABEAgASACIAdqIAD8CgAACyAAIAFqCyEAIAMoAgAi.AgRAIAMgAjYCBCACEAULIAMgADYCCCADIAA2AgQgAyABNgIAQQEhBQwBCyABBEAgARAGIgdBACAB/AsACwJAIAMoAgQiBCADKAIAIgZrIgUgAEkEQCADKAII.IAZrIgggAE8EQCAAIAVrIgAEQCAEQQAgAPwLAAsgAyAAIARqNgIEDAILIABBAEgNA0H/////ByAIQQF0IgQgACAAIARJGyAIQf////8DTxsiCBAGIQQgACAF.ayIKBEAgBCAFakEAIAr8CwALIAUEQCAEIAYgBfwKAAALIAMgBCAIajYCCCADIAAgBGo2AgQgAyAENgIAIAZFDQEgBhAFDAELIAAgBU8NACADIAAgBmo2AgQL.AkAgCwRAIAFFBEBBACEAA0AgCSACLQBUBH8gAAUgAigCRCAAQQJ0aigCAAs2AgwgAiAJQQxqIAIsABggBxBiIgVFDQMgAEEBaiIAIAtHDQALDAILIAFB/AFx.IQ0gAUEDcSEIQQAhBiABQQRJIQ5BACEAA0AgCSACLQBUBH8gBgUgAigCRCAGQQJ0aigCAAs2AgwgAiAJQQxqIAIsABggBxBiIgVFDQJBACEKQQAhDEEAIQEC.QCAORQRAA0AgAygCACAAaiABIAdqIgQtAAA6AAAgAygCACAAaiAELQABOgABIAMoAgAgAGogBC0AAjoAAiADKAIAIABqIAQtAAM6AAMgAUEEaiEBIABBBGoh.ACAMQQRqIgwgDUcNAAsgCEUNAQsDQCADKAIAIABqIAEgB2otAAA6AAAgAUEBaiEBIABBAWohACAKQQFqIgogCEcNAAsLIAZBAWoiBiALRw0ACwwBC0EBIQUg.B0UNAQsgBxAFCyAJQRBqJAAgBQwBCxAHAAsLywQBDX8jAEEQayIIJAAgASgCUCIKIAItABgiBWwhBgJAAkACQCAFBEAgBUECdCIHEAYiASEAIAdBBGsiCUEC.dkEBakEHcSILBEADQCAAQYCAgIB8NgIAIABBBGohACAEQQFqIgQgC0cNAAsLIAlBHE8EQCABIAdqIQQDQCAAQoCAgICMgICAQDcCGCAAQoCAgICMgICAQDcC.ECAAQoCAgICMgICAQDcCCCAAQoCAgICMgICAQDcCACAAQSBqIgAgBEcNAAsLIAMgBhAMIAoNAUEBIQUgARAFDAMLIAMgBhAMIAoNAUEBIQUMAgsgBUH8AXEh.DyAFQQNxIQtBACEGIAVBBEkhEEEAIQADQCAIIAItAFQEfyAGBSACKAJEIAZBAnRqKAIACzYCDCACIAhBDGogAiwAGCABECIiBQRAIAMoAgAhDEEAIQ1BACEO.QQAhBAJAIBBFBEADQCAMIABBAnRqIgcgASAEQQJ0aiIJKgIAOAIAIAcgCSoCBDgCBCAHIAkqAgg4AgggByAJKgIMOAIMIARBBGohBCAAQQRqIQAgDkEEaiIO.IA9HDQALIAtFDQELA0AgDCAAQQJ0aiABIARBAnRqKgIAOAIAIARBAWohBCAAQQFqIQAgDUEBaiINIAtHDQALCyAGQQFqIgYgCkcNAQsLIAEQBQwBC0EAIQAD.QCAIIAItAFQEfyAABSACKAJEIABBAnRqKAIACzYCDCACIAhBDGogAiwAGEEAECIaQQEhBSAAQQFqIgAgCkcNAAsLIAhBEGokACAFC6UBAQN/IwBBIGsiACQA.IAEtABghBSAAQajqACkDADcDCCAAQaDqACkDADcDACAAIAI2AhwgASAAQRxqIAXAIgIgABAiIgYEQEEAIQEgAgRAIAVBAnQiAhAGIQEgAgRAIAEgACAC/AoA.AAsgASACaiEECyADKAIAIgIEQCADIAI2AgQgAhAFCyADIAQ2AgggAyAENgIEIAMgATYCAAsgAEEgaiQAIAYL7wEBBn8gASgCZCIAIAEoAmAiAWshBwJAIAAg.AUYNACACIAdHDQBBACEAIAJBDG0iBUECTwRAIAVBAXEgBUF+cSEJQQAhBQNAIAMgAEEMbCIEaiIGIAEgBGoiBCgCADYCACAGIAQoAgQ2AgQgBiAEKAIINgII.IAMgAEEBckEMbCIEaiIGIAEgBGoiBCgCADYCACAGIAQoAgQ2AgQgBiAEKAIINgIIIABBAmohACAFQQJqIgUgCUcNAAtFDQELIAMgAEEMbCIFaiIAIAEgBWoi.ASgCADYCACAAIAEoAgQ2AgQgACABKAIINgIICyACIAdGCzgBAX8gAEH0DzYCACAAKAIQIgEEQCAAIAE2AhQgARAFCyAAKAIEIgEEQCAAIAE2AgggARAFCyAA.C5QCAQV/An9BACABKAJQQf//A0sNABogASgCZCIAIAEoAmAiAWtBDG0iBEEGbCIFIAJGIQYCQCAAIAFGDQAgAiAFRw0AQQEhBkEAIQACQCAEQQJJDQAgBEEB.cSAEQX5xIQhBACECA0AgAyAAQQZsaiIEIAEgAEEMbGoiBSgCADsBACAEIAUoAgQ7AQIgBCAFKAIIOwEEIAMgAEEBciIFQQZsaiIEIAEgBUEMbGoiBSgCADsB.ACAEIAUoAgQ7AQIgBCAFKAIIOwEEIABBAmohACACQQJqIgIgCEcNAAsNAEEBDAILIAMgAEEGbGoiAiABIABBDGxqIgAoAgA7AQAgAiAAKAIEOwECIAIgACgC.CDsBBAsgBgsL7DQCH38BfiACIR1BACECIwBB4ABrIgokACAKQRBqIgtBAEHMAPwLACAKQX82AlwgCkEANgIMIApCADcCBCMAQSBrIg0kACALQgA3AkQgCyAB.NgIAAn8jAEEQayIUJAACQCABIhgoAhggASgCFCIAa0EATA0AIAAoAgAiAEF/Rg0AIAEoAgggAEECdGooAgAhAgsCQAJAIAJFBEBBACEADAELIBgoAmAhCCAY.KAJkIQAgFEEANgIMIBRCADcCBCAAIAhrIgFBDG0hAwJAIAAgCEYNACADQdaq1aoBTw0CIBQgARAGIgw2AgQgFCABIAxqNgIMIAFBDGsiACAAQQxwa0EMaiIA.BEAgDEEAIAD8CwALIBQgACAMajYCCCACLQBURQRAQQEgAyADQQFNGyEFIAIoAkQhCUEAIQEDQCAJIAggAUEMbCIDaiIGKAIAQQJ0aigCACECIAkgBigCBEEC.dGooAgAhACADIAxqIgMgCSAGKAIIQQJ0aigCADYCCCADIAA2AgQgAyACNgIAIAFBAWoiASAFRw0ACwwBC0EAIQAgA0ECTwRAIANBAXEgA0H+////AXEhBUEA.IQEDQCAIIABBDGwiAmoiAykCACEiIAIgDGoiAiADKAIINgIIIAIgIjcCACAIIABBAXJBDGwiAmoiAykCACEiIAIgDGoiAiADKAIINgIIIAIgIjcCACAAQQJq.IQAgAUECaiIBIAVHDQALRQ0BCyAIIABBDGwiAGoiASkCACEiIAAgDGoiACABKAIINgIIIAAgIjcCAAsCfyMAQRBrIiEkAEHYABAGIgRBADYCOCAEQgA3AjAg.BEIANwIoIARCADcCICAEQgA3AhggBEIANwIQIARCADcCCCAEQgA3AgAgBEIANwJAIARCADcCSCAEQgA3AlAgBCAENgI8IwBBEGsiHyQAIARCADcCUCAEKAJM.IQAgBEEANgJMIAAEQCAAEAULIARCADcCRCAEKAJAIQAgBEEANgJAIAAEQCAAEAULIAQgFCgCCCAUKAIEa0ECdRDbAQJAIBQoAggiASAUKAIEIghGDQAgBCgC.ACEJQQAhACABIAhrQQxtIgFBAk8EQCABQQFxIAFBfnEhAkEAIQUDQCAJIABBDGwiAWoiBiABIAhqIgEoAgA2AgAgBiABKAIENgIEIAYgASgCCDYCCCAJIABB.AXJBDGwiAWoiBiABIAhqIgEoAgA2AgAgBiABKAIENgIEIAYgASgCCDYCCCAAQQJqIQAgBUECaiIFIAJHDQALRQ0BCyAJIABBDGwiAGoiASAAIAhqIgAoAgA2.AgAgASAAKAIENgIEIAEgACgCCDYCCAsgH0F/NgIMQQAhAUEAIQNBACEGIwBBEGsiDiQAAkACQCAfQQxqIhlFDQAgBEEMaiAEKAIEIAQoAgBrQQJ1QbTqABA0.IA5BADYCDCAOQgA3AgQgBCgCBCICIAQoAgAiDGshBSACIAxGIgBFBEAgBUEASA0CIA4gBRAGIgE2AgggDiABNgIEIA4gASAFajYCDAsCQCAABEAgBUECdSEV.DAELA0AgDCADQQJ0aigCACIAIA4oAgggAWtBAnVPBEAgDkEANgIAIA5BBGogAEEBaiAOEB0gBCgCACEMIAQoAgQhAiAOKAIEIQELIAEgAEECdGoiACAAKAIA.QQFqNgIAIANBAWoiAyACIAxrIgBBAnUiFUkNAAsgAiAMRgRAQQAhAwwBCyAVQYCAgIACTw0CIABBAXQiABAGIQMgAEF4cSIARQ0AIANB/wEgAPwLAAsgDigC.CCIAIAFrIgJBAnUhFgJAIAAgAUYNACAWQYCAgIAETw0CQQAhACACEAYhBiACBEAgBkEAIAL8CwALQQEgFiAWQQFNGyIFQQNxIQdBACECIBZBBE8EQCAFQfz/.//8DcSEIA0AgBiAAQQJ0IhNqIAI2AgAgBiATQQRyIgVqIAEgE2ooAgAgAmoiAjYCACAGIBNBCHIiCWogASAFaigCACACaiICNgIAIAYgE0EMciIFaiABIAlq.KAIAIAJqIgI2AgAgASAFaigCACACaiECIABBBGohACAQQQRqIhAgCEcNAAsgB0UNAQtBACEQA0AgBiAAQQJ0IgVqIAI2AgAgAEEBaiEAIAEgBWooAgAgAmoh.AiAQQQFqIhAgB0cNAAsLIBUEQANAIAwgEUECdCIIaiECQX8hEiARQQFqIhMgEUECayATQQNwGyIAQX9HBEAgDCAAQQJ0aigCACESCyACKAIAIQcCfwJAIBFB.A3BFBEBBfyEPIBFBAmoiAEF/RwRAIAwgAEECdGooAgAhDwsCQCAHIBJGDQAgByAPRg0AIA8gEkcNAgsgBCAEKAIoQQFqNgIoIBFBA2oMAgsgAkEEaygCACEP.CwJAAkAgASAPQQJ0IgBqKAIAIhpBAEwNACAAIAZqKAIAIQBBACECA0AgAyAAQQN0aiIJKAIAIgVBf0YNAQJAIAUgEkcNACAJKAIEIhtBf0cEfyAMIBtBAnRq.KAIABUF/CyAHRg0AAkAgAkEBaiIQIBpODQADQCADIABBAWoiAkEDdGoiCSgCACEHIAMgAEEDdGoiBSAJKAIENgIEIAUgBzYCACAHQX9GDQEgAiEAIBBBAWoi.ECAaSA0ACwsgAyAAQQN0akF/NgIAIBtBf0YNAiAEKAIMIgAgCGogGzYCACAAIBtBAnRqIBE2AgAMAwsgAEEBaiEAIAJBAWoiAiAaRw0ACwsgASASQQJ0IgBq.KAIAIgVBAEwNACAAIAZqKAIAIQBBACECA0AgAyAAQQN0aiIJKAIAQX9GBEAgCSARNgIEIAkgDzYCAAwCCyAAQQFqIQAgAkEBaiICIAVHDQALCyATCyIRIBVJ.DQALCyAZIBY2AgAgBgRAIAYQBQsgAwRAIAMQBQsgDigCBCIARQ0AIA4gADYCCCAAEAULIA5BEGokACAZQQBHIhsEQEEAIQBBACEPAkAgBCgCBCICIAQoAgAi.EUYNACACIBFrQQJ1IgFBAEgNAiABQQFrQQN2Qfz///8BcUEEaiIBEAYhDyABRQ0AIA9BACAB/AsACwNAAkBBACEMQQAhHCACIBFGDQADQCAAIQECQCAPIAwi.AkEDdkH8////AXFqKAIAIAJ2QQFxDQADQAJAIAIiBUEBaiICIAVBAmsgAkEDcBsiAkF/Rg0AIAQoAgwgAkECdGooAgAiA0F/Rg0AIANBAWoiAiADQQJrIAJB.A3AbIgIgDEYNACACQX9GDQAgDyACQQN2Qfz///8BcWooAgAgAnZBAXFFDQELCyAFIQYCfwJAAkACQANAIA8gBkEDdkH8////AXFqIgIgAigCAEEBIAZ0cjYC.ACAEKAIAIhEgBkEBaiICIAZBAmsgAkEDcBsiDkECdGooAgAhCEF/QQIgBkEDcCIaGyEJAkAgACABRiIZDQAgACIDIQIgBiAJaiISQX9GBEADQCAIIAMoAgBG.BEAgAygCBCIQQX9HDQULIANBCGoiAyABRw0ADAILAAsDQAJAIAIoAgAgCEcNACAEKAIMIgMgEkECdGooAgAiFSACKAIEIhBGDQBBfyECQX8gEEF/Rg0HGgwG.CyACQQhqIgIgAUcNAAsLIBEgBkECdGogCUECdGooAgAhFgJAIAEgF0kEQCABIA42AgQgASAWNgIADAELIAEgAGsiCEEDdSIJQQFqIgdBgICAgAJPDQtB////./wEgFyAAayIDQQJ1IgIgByACIAdLGyADQfj///8HTxsiAkGAgICAAk8NAyACQQN0IhMQBiIHIAhqIgggDjYCBCAIIBY2AgAgACECIAggCUEDdGsiCSEDIBlF.BEADQCADIAIoAgA2AgAgAyACKAIENgIEIANBCGohAyACQQhqIgIgAUcNAAsLIAcgE2ohFyAABEAgABAFCyAJIQAgCCEBCwJAAkAgGgRAIAZBAWshAgwBCyAG.QQJqIgJBf0YNAQsgBCgCDCACQQJ0aigCACICQX9GDQAgAkF/QQIgAkEDcBtqIgYgBUYNACABQQhqIQEgBkF/Rw0BCwsgBCgCACERDAQLIAQoAgwhA0F/IRVB.fyESDAELEA4ACyADIBBBAnRqKAIAIQIgEAshASAVQX9HBEAgAyAVQQJ0akF/NgIACyACQX9HBEAgAyACQQJ0akF/NgIACyADIBJBAnRqQX82AgAgAyABQQJ0.akF/NgIAQQEhHAsgDEEBaiIMIAQoAgQiAiARa0ECdUkNAAsgHA0BCwsgAARAIAAQBQsgDwRAIA8QBQtBACEBQQAhEEEAIRJBACEVIAQgHygCDCIANgIkIARB.GGogAEG06gAQNAJAIABFDQAgAEEASA0CIABBAWtBBXYiAkEBaiISQQJ0EAYhASACQQJ0QQRqIgJFDQAgAUEAIAL8CwALIAQoAgQiAiAEKAIAIg9rIQUCQCAC.IA9GDQAgBUECdSIDQQBIDQIgA0EBa0EDdkH8////AXFBBGoiAxAGIRAgA0UNACAQQQAgA/wLAAsCQCAFQQlJBEAgACEDDAELIAAhAwJAA0ACQCAPIBVBA2wi.GkECdGoiBSgCACIJIAUoAgQiBkYNACAJIAUoAggiBUYNAEEAIRwgBSAGRg0AA0AgECAaIBxqIghBA3ZB/P///wFxaigCACAIdkEBcUUEQAJ/QQEgBCgCACAI.QQJ0aigCACIFdCIPIAEgBUEFdiIGQQJ0aigCACIXcSIWRQRAIAEhAiAADAELAkAgBCgCHCIOIAQoAiAiAkkEQCAOQX82AgAgDkEEaiECDAELIA4gBCgCGCIJ.ayIZQQJ1IgxBAWoiB0GAgICABE8NCUH/////AyACIAlrIgZBAXUiAiAHIAIgB0sbIAZB/P///wdPGyICQYCAgIAETw0GIBkgAkECdCITEAYiB2oiBkF/NgIA.IAZBBGohAiAGIAxBAnRrIgwhFyAJIgYgDkcEQANAIBcgBigCADYCACAXQQRqIRcgBkEEaiIGIA5HDQALCyAEIAcgE2o2AiAgBCACNgIcIAQgDDYCGCAJRQ0A.IAkQBQsgBCACNgIcAkAgBCgCNCIOIAQoAjgiAkkEQCAOIAU2AgAgDkEEaiEFDAELIA4gBCgCMCIJayIZQQJ1IgxBAWoiB0GAgICABE8NCUH/////AyACIAlr.IgZBAXUiAiAHIAIgB0sbIAZB/P///wdPGyICQYCAgIAETw0GIBkgAkECdCITEAYiB2oiAiAFNgIAIAJBBGohBSACIAxBAnRrIgwhBiAJIgIgDkcEQANAIAYg.AigCADYCACAGQQRqIQYgAkEEaiICIA5HDQALCyAEIAcgE2o2AjggBCAFNgI0IAQgDDYCMCAJRQ0AIAkQBQsgBCAFNgI0AkAgEkEFdCADRwRAIAEhAgwBCyAD.Qf////8HTw0JQf////8HIQUgA0H+////A00EQCADIBJBBnQiBSADQeD///8DcUEgaiICIAIgBUkbIgVPBEAgASECDAILIAVBAEgNCgsgBUEBa0EFdkEBaiIS.QQJ0EAYhAiADQQFrQQN2Qfz///8BcUEEakEAIAMbIgUEQCACIAEgBfwKAAALIAEQBQsgAiADQQN2Qfz///8BcWoiASABKAIAQX4gA3dxNgIAQQEgAHQhDyAD.QQFqIQMgAiAAQQV2IgZBAnRqKAIAIRcgACIFQQFqCyACIAZBAnRqIA8gF3I2AgAgCCEAAkACQAJAA0AgAEF/Rg0BIBAgAEEDdkH8////AXFqIgEgASgCAEEB.IAB0cjYCACAEKAIYIAVBAnRqIAA2AgAgFgRAIAQoAgAgAEECdGogBTYCAAsgCAJ/QX8gAEEBaiIBIABBAmsgAUEDcBsiAEF/Rg0AGkF/IAQoAgwgAEECdGoo.AgAiAUF/Rg0AGiABQQFqIgAgAUECayAAQQNwGwsiAEcNAAsgCEF/Rw0CQQEhAAwBCyAIQQNwBEAgCEEBayEADAELIAhBAmoiAEF/Rg0BCyAEKAIMIABBAnRq.KAIAIgBBf0YNAAJAIABBA3AEQCAAQQFrIQAMAQsgAEECaiIAQX9GDQELA0AgECAAQQN2Qfz///8BcWoiASABKAIAQQEgAHRyNgIAIBYEQCAEKAIAIABBAnRq.IAU2AgALAkAgAEEDcARAIABBAWshAAwBCyAAQQJqIgBBf0YNAgsgBCgCDCAAQQJ0aigCACIAQX9GDQEgAEF/QQIgAEEDcBtqIgBBf0cNAAsLIAIhASEACyAc.QQFqIhxBA0cNAAsgBCgCACEPIAQoAgQhAgsgFUEBaiIVIAIgD2tBAnVBA25JDQALDAELEA4AC0EAIQIgBEEANgIsIANBA3ZB/P///wFxIgAgA0EfcSIJcgRA.IAAgAWohBiABIQVBACEAA0AgBSgCACAAdkEBcUUEQCAEIAJBAWoiAjYCLAtBACAAQQFqIABBH0YiAxshACAFQQRBACADG2oiBSAGRw0AIAAgCUcNAAsLIBAE.QCAQEAULIAEEQCABEAULCyAfQRBqJAACQCAbBEAgBCEeDAELICFBADYCDCAEECoLICFBEGokACAeDAELEAcACyEAIBQoAgQiAUUNACAUIAE2AgggARAFCyAU.QRBqJAAgAAwBCxAHAAshASALKAIEIQAgCyABNgIEIApBBGohBCAABEAgABAqIAsoAgQhAQsCQCABRQ0AIBgoAmAhAiAYKAJkIQAgDUEAOgAQIAtBOGogACAC.a0EMbSANQRBqEBogGCgCZCIAIBgoAmAiAkYNACALQSxqIR5BACEGA0AgCygCOCAGQQN2Qfz///8BcWooAgAgBnZBAXFFBEAgDSAGQQNsIgg2AhAgC0EAIA1B.EGoiAxB5IAsoAgghCSALKAIMIQUgDSAIQQFqNgIQIAtBASADEHkgCygCFCECIAsoAhghACANIAhBAmo2AhAgC0ECIAMQeUECQQFBf0EAIAUgCUYbIAAgAmtB.AnUiAyAFIAlrQQJ1IgJLIgAbIAsoAiQgCygCIGtBAnUgAyACIAAbSxshCAJAIAsoAkRBAEwNACANIAsoAkwiAjYCCCANIAooAggiAzYCDCAKKAIMIQAgDSAE.NgIYIA0gDUEIajYCFCANIA1BDGo2AhAgCgJ/IAAgA0sEQCADIAI2AgAgA0EEagwBCyANQRBqEBwgDSgCDAsiAzYCCCANIB4gCEECdGooAgAiAkEASAR/QX8F.IAsoAgAoAmAgAkEDbiIAQQxsaiACIABBA2xrQQJ0aigCAAsiAjYCCCANIAM2AgwgCigCDCEAIA0gBDYCGCANIA1BCGo2AhQgDSANQQxqNgIQIAoCfyAAIANL.BEAgAyACNgIAIANBBGoMAQsgDUEQahAcIA0oAgwLIgM2AgggCyALKAJIIgBBAmo2AkggAEEBcUUNACANIAI2AgggDSADNgIMIAooAgwhACANIAQ2AhggDSAN.QQhqNgIUIA0gDUEMajYCECAKAn8gACADSwRAIAMgAjYCACADQQRqDAELIA1BEGoQHCANKAIMCzYCCCALIAsoAkhBAWo2AkgLQQAhBSMAQSBrIgckACALIAso.AkRBAWo2AkQgCyAIQQxsaiIAKAIMIAAoAghrQQJ1IglBAEoEQCALIAhBAnRqKAIsIQADQCALKAI4QX8gAEEDbiIMIABBf0YbIgNBA3ZB/P///wFxaiICIAIo.AgBBASADdHI2AgAgCyALKAJIQQFqNgJIAn8CQAJAIAVFBEAgByAAQQBIBH9BfwUgCygCACgCYCAMQQxsaiAAQQNwQQJ0aigCAAsiAzYCCCAHIAooAggiCDYC.DCAKKAIMIQIgByAENgIYIAcgB0EIajYCFCAHIAdBDGo2AhAgCgJ/IAIgCEsEQCAIIAM2AgAgCEEEagwBCyAHQRBqEBwgBygCDAsiCDYCCEF/IQwCQCAAQX9G.DQAgAEEBaiICIABBAmsgAkEDcBsiA0EASA0AIAsoAgAoAmAgA0EDbiICQQxsaiADIAJBA2xrQQJ0aigCACEMCyAHIAw2AgggByAINgIMIAooAgwhAiAHIAQ2.AhggByAHQQhqNgIUIAcgB0EMajYCECAKAn8gAiAISwRAIAggDDYCACAIQQRqDAELIAdBEGoQHCAHKAIMCyIINgIIIAsCf0F/IABBf0YNABpBf0F/QQIgAEED.cBsgAGoiA0EASA0AGiALKAIAKAJgIANBA24iAkEMbGogAyACQQNsa0ECdGooAgALIgM2AkwgByADNgIIIAcgCDYCDCAKKAIMIAcgBDYCGCAHIAdBCGo2AhQg.ByAHQQxqNgIQIAhLBEAgCCADNgIAIAogCEEEajYCCAwCCyAHQRBqEBwgCiAHKAIMNgIIDAELIAsgAEEASAR/QX8FIAsoAgAoAmAgDEEMbGogAEEDcEECdGoo.AgALIgM2AkwgByADNgIIIAcgCigCCCIINgIMIAooAgwhAiAHIAQ2AhggByAHQQhqNgIUIAcgB0EMajYCECAKAn8gAiAISwRAIAggAzYCACAIQQRqDAELIAdB.EGoQHCAHKAIMCzYCCCAFQQFxBEBBfyAAQX9GDQMaIAxBA2wgAEcEQCAAQQFrIQAMAwsgAEECaiEADAELQX8gAEF/Rg0CGiAAQQFqIgIgAEECayACQQNwGyEA.C0F/IABBf0YNARoLIAsoAgQoAgwgAEECdGooAgALIQAgBUEBaiIFIAlHDQALCyAHQSBqJAAgGCgCYCECIBgoAmQhAAsgBkEBaiIGIAAgAmtBDG1JDQALCyAN.QSBqJAACQCABBEAgHSgCACIABEAgHSAANgIEIAAQBQsgHSAKKAIENgIAIB0gCigCCDYCBCAdIAooAgw2AgggCigCVCEgDAELIAooAgQiAEUNACAKIAA2Aggg.ABAFCyAKKAJIIgAEQCAAEAULIAooAjAiAARAIAogADYCNCAAEAULIAooAiQiAARAIAogADYCKCAAEAULIAooAhgiAARAIAogADYCHCAAEAULIAooAhQhACAK.QQA2AhQgAARAIAAQKgsgCkHgAGokACAgC1oAIAEoAmAhAUEMEAYiACABIAJBDGxqIgEoAgg2AgggACABKQIANwIAIAMoAgAiAQRAIAMgATYCBCABEAULIAMg.ADYCACADIABBDGoiADYCCCADIAA2AgRBAQtqAQF/An9BACABKAIEIgNFDQAaQQAgASgCCCACQQJ0aigCACgCPCIBQQBIDQAaQQAgAygCGCIAIAMoAhwiAkYN.ABoCQANAIAAoAgAiAygCGCABRg0BIABBBGoiACACRw0AC0EADAELIAMLCwcAIAEoAgQLaAECfwJ/QQAgASgCDCIAIAEoAggiAUYNABpBASAAIAFrQQJ1IgAg.AEEBTRshA0EAIQACQANAIAEgAEECdGooAgAiBCgCPCACRg0BIABBAWoiACADRw0AC0EADAELIARBACAAQX9HGwsLEAAgASgCCCACQQJ0aigCAAvWAgEDfwJ/.IwBBIGsiACQAAkAgAhAZIgRB9////wdPDQACQCAEQQpNBEAgACAEOgAfIABBFGohBQwBCyAEQfj///8HcSIGQQhqEAYhBSAAIAZB+P///wdrNgIcIAAgBDYC.GCAAIAU2AhQLIAQEQCAFIAIgBPwKAAALIAQgBWpBADoAACADEBkiAkH3////B08NAAJAIAJBCk0EQCAAIAI6ABMgAEEIaiEFDAELIAJB+P///wdxIgRBCGoQ.BiEFIAAgBEH4////B2s2AhAgACACNgIMIAAgBTYCCAsgAgRAIAUgAyAC/AoAAAsgAiAFakEAOgAAAn9BfyABKAIEIgJFDQAaQX8gAiAAQRRqIABBCGoQyQEi.AkUNABogASACKAIYEMYBCyAALAATQQBIBEAgACgCCBAFCyAALAAfQQBIBEAgACgCFBAFCyAAQSBqJAAMAQsQKQALC/wBAQN/An8jAEEgayIAJAAgAhAZIgNB.9////wdJBEACQCADQQpNBEAgACADOgAfIABBFGohBAwBCyADQfj///8HcSIFQQhqEAYhBCAAIAVB+P///wdrNgIcIAAgAzYCGCAAIAQ2AhQLIAMEQCAEIAIg.A/wKAAALIAMgBGpBADoAACAAQQA6AAwgAEHuwrWrBjYCCCAAQQQ6ABMCf0F/IAEoAgQiAkUNABpBfyACIABBCGogAEEUahDJASICRQ0AGiABIAIoAhgQxgEL.IAAsABNBAEgEQCAAKAIIEAULIAAsAB9BAEgEQCAAKAIUEAULIABBIGokAAwBCxApAAsLCQAgASACEMcBC/oBAQJ/IwBBQGoiBCQAIARBCGoiBUEAOwEmIAVB.ADYCACAFQgA3AwggBUIANwMQIAVCADcDGCAFQgA3AB0gBUIANwMQIAUgATYCACAFIAKtNwMIIARBMGogACAFIAMQ8QEgACAEKAIwNgIYIABBHGohASAAQRhq.IARBNGohAiAELAA/IQMCQAJAAkAgACwAJ0EASARAIAEgBCgCNCACIANBAEgiABsgBCgCOCADIAAbEFUMAQsgA0EATg0BIAEgBCgCNCAEKAI4EFQLIAQsAD9B.AE4NASAEKAI0EAUMAQsgASACKAIINgIIIAEgAikCADcCAAsgBEFAayQAC/oBAQJ/IwBBQGoiBCQAIARBCGoiBUEAOwEmIAVBADYCACAFQgA3AwggBUIANwMQ.IAVCADcDGCAFQgA3AB0gBUIANwMQIAUgATYCACAFIAKtNwMIIARBMGogACAFIAMQ8gEgACAEKAIwNgIYIABBHGohASAAQRhqIARBNGohAiAELAA/IQMCQAJA.AkAgACwAJ0EASARAIAEgBCgCNCACIANBAEgiABsgBCgCOCADIAAbEFUMAQsgA0EATg0BIAEgBCgCNCAEKAI4EFQLIAQsAD9BAE4NASAEKAI0EAUMAQsgASAC.KAIINgIIIAEgAikCADcCAAsgBEFAayQACzoBAX9BKBAGIgBCADcCECAAQgA3AgQgAEIANwIYIABCADcCICAAIABBBGo2AgAgACAAQRBqNgIMIAALcgEDfyAA.BEAgACwAG0EASARAIAAoAhAQBQsgACgCACICBEAgAiIBIAAoAgQiA0cEQANAIANBDGshASADQQFrLAAAQQBIBEAgASgCABAFCyABIgMgAkcNAAsgACgCACEB.CyAAIAI2AgQgARAFCyAAEAULC8AEAQd/IAIhBwJAIAEiBCAAIgIoAgxGDQAgAigCACIDIAIoAgQiAEcEQANAIABBDGshASAAQQFrLAAAQQBIBEAgASgCABAF.CyABIgAgA0cNAAsLIAIgBDYCDCACIAM2AgQgBCgCACIBIARBBGoiCUYNAANAIAICfyACKAIIIANLBEAgASwAG0EATgRAIAMgASgCGDYCCCADIAEpAhA3AgAg.A0EMagwCCyADIAEoAhAgASgCFBANIANBDGoMAQsCf0EAIQgCQCACKAIEIAIoAgAiAGsiA0EMbUEBaiIEQdaq1aoBSQRAQdWq1aoBIAIoAgggAGtBDG0iBUEB.dCIGIAQgBCAGSRsgBUGq1arVAE8bIgUEQCAFQdaq1aoBTw0CIAVBDGwQBiEICyADIAhqIQQCQCABLAAbQQBOBEAgBCABKAIYNgIIIAQgASkCEDcCAAwBCyAE.IAEoAhAgASgCFBANIAIoAgQgAigCACIAayEDCyAEIANBdG1BDGxqIQYgAwRAIAYgACAD/AoAAAsgAiAFQQxsIAhqNgIIIAIgBEEMaiIENgIEIAIgBjYCACAA.BEAgABAFCyAEDAILEAcACxAOAAsLIgM2AgQCQCABKAIEIgAEQANAIAAiASgCACIADQAMAgsACwNAIAEgASgCCCIBKAIARw0ACwsgASAJRw0ACwtBACEBAkAg.B0EASA0AIAcgAigCBCACKAIAIgBrQQxtTw0AIAAgB0EMbGoiACgCACAAIAAsAAtBAEgbIQELIAELBwAgASgCCAvMAQEEfwJ/IwBBEGsiAyQAIAIQGSIEQff/.//8HSQRAAkAgBEEKTQRAIAMgBDoADyADQQRqIQUMAQsgBEH4////B3EiBkEIahAGIQUgAyAGQfj///8HazYCDCADIAQ2AgggAyAFNgIECyAEBEAgBSACIAT8.CgAAC0EAIQIgBCAFakEAOgAAIAEgA0EEaiAAQRBqIgEQyAEEQCAAKAIQIAEgACwAG0EASBshAgsgAywAD0EASARAIAMoAgQQBQsgA0EQaiQAIAIMAQsQKQAL.C4wDAgd/AXwCfCMAQSBrIgAkACAAQgA3AxggAhAZIgNB9////wdJBEACQCADQQpNBEAgACADOgAXIABBDGohBAwBCyADQfj///8HcSIGQQhqEAYhBCAAIAZB.+P///wdrNgIUIAAgAzYCECAAIAQ2AgwLIAMEQCAEIAIgA/wKAAALIAMgBGpBADoAACAAQQxqIQMCQCABKAIEIgJFDQAgAUEEaiEGIAMoAgAgAyADLAALIgFB.AEgiBRshBCADKAIEIAEgBRshAQJAA0AgBCACKAIQIAJBEGogAiwAGyIDQQBIIgUbIgcgAigCFCADIAUbIgMgASABIANLIgUbIggQEyIJQQBIIAEgA0kgCRtB.AUYEQCACKAIAIgINAQwDCyAHIAQgCBATIgNBAEggBSADG0EBRw0BIAIoAgQiAg0ACwwBCwJAIAIgBkYNACACKAIgIAIoAhwiAWtBCEcNACAAIAEpAAA3AxgL.CyAAKwMYIAAsABdBAEgEQCAAKAIMEAULIABBIGokAAwBCxApAAsL/gMBCH8CQCMAQSBrIgAkACACEBkiBEH3////B0kEQAJAIARBCk0EQCAAIAQ6AB8gAEEU.aiEFDAELIARB+P///wdxIgdBCGoQBiEFIAAgB0H4////B2s2AhwgACAENgIYIAAgBTYCFAsgBARAIAUgAiAE/AoAAAsgBCAFakEAOgAAIABBADYCECAAQgA3.AgggAEEUaiEEIABBCGohBQJAIAEoAgQiAkUNACABQQRqIQggBCgCACAEIAQsAAsiAUEASCIGGyEHIAQoAgQgASAGGyEBAkADQCAHIAIoAhAgAkEQaiACLAAb.IgRBAEgiBhsiCSACKAIUIAQgBhsiBCABIAEgBEsiBhsiChATIgtBAEggASAESSALG0EBRgRAIAIoAgAiAg0BDAMLIAkgByAKEBMiBEEASCAGIAQbQQFHDQEg.AigCBCICDQALDAELIAIgCEYNACACKAIcIgEgAigCICIERg0AIAQgAWsiAUEDcQ0AIAUgAUECdhAMIAUoAgAiASAFKAIERwRAIAIoAiAgAigCHCICayIEBEAg.ASACIAT8CgAACwwBCxAVAAsgAygCACIBBEAgAyABNgIEIAEQBQsgAyAAKAIINgIAIAMgACgCDDYCBCADIAAoAhA2AgggACwAH0EASARAIAAoAhQQBQsgAEEg.aiQADAELECkACwuAAwEHfwJ/IwBBEGsiAyQAIANBADYCDCACEBkiBUH3////B0kEQAJAIAVBCk0EQCADIAU6AAsgAyEADAELIAVB+P///wdxIgZBCGoQBiEA.IAMgBkH4////B2s2AgggAyAFNgIEIAMgADYCAAsgBQRAIAAgAiAF/AoAAAsgACAFakEAOgAAAkAgASgCBCIERQ0AIAFBBGohBSADKAIAIAMgAywACyIBQQBI.IgAbIQggAygCBCABIAAbIQcCQANAIAggBCgCECAEQRBqIAQsABsiAUEASCIAGyIGIAQoAhQgASAAGyIJIAcgByAJSyICGyIBEBMiAEEASCAHIAlJIAAbQQFG.BEAgBCgCACIEDQEMAwsgBiAIIAEQEyIAQQBIIAIgABtBAUcNASAEKAIEIgQNAAsMAQsCQCAEIAVGDQAgBCgCICAEKAIcIgBrQQRHDQAgAyAAKAAANgIMCwsg.AygCDCADLAALQQBIBEAgAygCABAFCyADQRBqJAAMAQsQKQALC8cCAQd/An8jAEEQayIAJAAgAhAZIgNB9////wdJBEACQCADQQpNBEAgACADOgAPIABBBGoh.BAwBCyADQfj///8HcSIFQQhqEAYhBCAAIAVB+P///wdrNgIMIAAgAzYCCCAAIAQ2AgQLIAMEQCAEIAIgA/wKAAALIAMgBGpBADoAACAALAAPIQICf0EAIAEo.AgQiAUUNABogACgCCCACIAJBAEgiBBshAyAAKAIEIABBBGogBBshBANAIAQgASgCECABQRBqIAEsABsiBUEASCIGGyIHIAEoAhQgBSAGGyIFIAMgAyAFSyIG.GyIIEBMiCUEASCADIAVJIAkbBH8gAQVBASAHIAQgCBATIgVBAEggBiAFG0EBRw0CGiABQQRqCygCACIBDQALQQALIAJBAEgEQCAAKAIEEAULIABBEGokAAwB.CxApAAsLJgEBf0EcEAYiAEEANgIYIABCADcCECAAQgA3AgggAEIANwIAIAALEAAgACgCACABQQF0ai8BAAsQACAAKAIAIAFBAXRqLgEACw0AIAAoAgAgAWot.AAALDQAgACgCACABaiwAAAsQACAAKAIAIAFBAnRqKgIACx0AIAAEQCAALAAPQQBIBEAgACgCBBAFCyAAEAULCxUAIAAoAgQgAEEEaiAALAAPQQBIGwsIACAA.KAIARQtOAQJ/IwBBEGsiASQAIAAEQCAAKAIQIQIgASAAQQxqNgIMIAFBDGogAhAeIAAoAgQhAiABIAA2AgggAUEIaiACECEgABAFCyABQRBqJAALLAEBf0EY.EAYiAEIANwIQIABCADcCBCAAIABBBGo2AgAgACAAQRBqNgIMIAALEAAgACgCZCAAKAJga0EMbQs/AQF/QewAEAYiAEH86gA2AgAgAEEEakEAQdAA/AsAIABC.ADcCVCAAQcDqADYCACAAQgA3AlwgAEIANwJkIAALEgAgACACNgIgIAAgATYCHEEBCyEBAX9B1AAQBiIAQfzqADYCACAAQQRqQQBB0AD8CwAgAAsZAQF/QQgQ.BiIAQX82AgQgAEGICDYCACAACwcAIAAqAhQLEAAgACgCCCABQQJ0aioCAAsnAQF/QRgQBiIAQgA3AgggAEF/NgIEIABB3A42AgAgAEIANwIQIAALBwAgACgC.PAsHACAAKAIwCwcAIAAoAigLBwAgAC0AIAsHACAALAAYCwcAIAAoAjgLBwAgACgCWAspAQF/QeAAEAYQQyIAQgA3A0AgAEEANgJYIABCADcDSCAAQgA3AE0g.AAsJAEHAABAGEEMLIgEBfyAABEAgACgCCCIBBEAgACABNgIMIAEQBQsgABAFCwsyAQJ/QSgQBiIBQX82AgAgAUEIaiIAQgA3AxAgAEEANgIIIABCADcDACAA.QgA3AxggAQsYACAAQgA3AxAgACABNgIAIAAgAq03AwgLNAEBf0EoEAYiAEEAOwEmIABBADYCACAAQgA3AwggAEIANwMQIABCADcDGCAAQgA3AB0gAAsGACAA.EFYLyAEBAn9ByAAQBiICQgA3AgQgAkH0DzYCACACQgA3AgwgAkIANwIUIAJCADcCHCACQgA3AiQgAkGEETYCACACQgA3AiwgAkIANwI0IAJCADcCPCACQQA2.AkQgAiEDAkACQCABQQBIBEAgAiEADAELIAAoAgwgACgCCCICa0ECdSABTAR/IABBCGogAUEBahBSIAAoAggFIAILIAFBAnRqIgIoAgAhACACIAM2AgAgAEUN.AQsgACAAKAIAKAIEEQIACyABQX9zQR92C0YBA38gACgCCCIBIAAoAgwiA0YEQEEBDwsDQCABKAIAIgIgACgCICACKAIAKAIQEQEAIgIEQCABQQRqIgEgA0cN.AQsLIAILnQUCDn8BfiAAKAIgIgIpAwggAikDECIPVwRAQQAPCyACKAIAIA+nai0AACEFIAIgD0IBfDcDEAJAIAVFDQADQCAAIAMgACgCACgCEBEBAARAIAUg.A0EBaiIDRw0BDAILC0EADwsCQCAAKAIIIgMgACgCDCICRwRAA0AgAygCACIBIAAgACgCBCABKAIAKAIIEQMARQ0CIANBBGoiAyACRw0ACwsgBQRAQQAhAwNA.IAAoAgggA0ECdGooAgAiAiAAKAIgIAIoAgAoAgwRAQBFDQIgA0EBaiIDIAVHDQALA0BBACEDAkAgCEECdCILIAAoAghqKAIAIgIgAigCACgCGBEAACIMQQBM.DQACQANAAkACQAJAIAAoAgggC2ooAgAiAiADIAIoAgAoAhQRAQAiCiAAKAIYIgQgACgCFCICayIJQQJ1IgZJDQAgBiAKQQFqIgFJBEAgACgCHCACayIHQQJ1.IAFPBEAgASAGa0ECdCIBBEAgBEEAIAH8CwALIAAgASAEajYCGAwCCyABQYCAgIAETw0DQf////8DIAdBAXUiBCABIAEgBEkbIAdB/P///wdPGyIEQYCAgIAE.Tw0FIARBAnQiDRAGIg4gCWohBCABIAZrQQJ0IgcEQCAEQQAgB/wLAAsgBCAGQQJ0ayEBIAkEQCABIAIgCfwKAAALIAAgDSAOajYCHCAAIAQgB2o2AhggACAB.NgIUIAJFDQIgAhAFIAAoAhQhAQwCCyABIAZPDQAgACACIAFBAnRqNgIYCyACIQELIAEgCkECdGogCDYCACAMIANBAWoiA0cNAQwDCwsQBwALEA4ACyAIQQFq.IgggBUcNAAsLIAAgACgCACgCHBEAAEUEQEEADwsgACAAKAIAKAIgEQAADwtBAAt2AQR/AkACQCAAKAIIIgFBAEgNACAAKAIEIAEQ2wEgACgCCCICQQBMDQAg.ACgCBCIAKAIEIAAoAgAiA2tBAnUhBEEAIQADQCAAIARGDQIgAyAAQQJ0aiAANgIAIABBAWoiACACRw0ACwsgAUF/c0Efdg8LEBUACxUAIAFBAToAVCABIAEo.AkQ2AkhBAQuZEAIOfwR+IwBBMGsiASQAIAAoAiAhAwJAAkAgAC8BJCIGQQh0IAZBCHZyQf//A3FBgQRNBEAgAykDCCIQIAMpAxAiD0IEfCIRUw0CIAEgAygC.ACIGIA+naigAACIINgIYIAMgETcDECAQIA9CCHwiD1MNAiABIAYgEadqKAAANgIUIAMgDzcDEAwBC0EBIAFBGGogAxBCRQ0BQQEgAUEUaiAAKAIgEEJFDQEg.ASgCGCEICyAIQdWq1aoFSw0AIAAoAiAiAykDCCIRIAMpAxAiD31CA38gDyARWQ0AIAitVA0AIAMoAgAgD6dqLQAAIQIgAyAPQgF8NwMQIAEoAhQhBgJAAkAg.AkUEQAJ/IwBBIGsiAiQAIAhBA2whAwJAAkAgCEUNACADQYCAgIAETw0BIAhBDGwiBBAGIQcgBEUNACAHQQAgBPwLAAsCQAJAAkAgA0EBIAAoAiAgBxCXASIL.RQ0AIAhFDQBBACEDA0ACQCAHIAxBAnRqIgkoAgAiBUEBdiEEAkAgBUEBcQRAIAMgBEgNAkEAIARrIQQMAQsgBCADQf////8Hc0sNAQsgAyAEaiIEQQBIDQAg.BCAGTw0AIAIgBDYCACAJKAIEIgVBAXYhAwJAIAVBAXEEQCADIARLDQJBACADayEDDAELIAMgBEH/////B3NLDQELIAMgBGoiBUEASA0AIAUgBk8NACACIAU2.AgQgCSgCCCIJQQF2IQMCQCAJQQFxBEAgAyAFSw0CQQAgA2shAwwBCyADIAVB/////wdzSw0BCyADIAVqIgNBAEgNACADIAZPDQAgAiADNgIIIAIgACgCLCIJ.KAJkIgU2AgwgCSgCaCENIAIgCUHgAGo2AhggAiACNgIUIAIgAkEMajYCECAMQQNqIQwgCQJ/IAUgDUkEQCAFIAQ2AgAgBSACKAIENgIEIAUgAigCCDYCCCAF.QQxqDAELIAJBEGoQFCACKAIMCzYCZCAOQQFqIg4gCEcNAQwDCwtBACELDAELIAdFDQELIAcQBQsgAkEgaiQAIAsMAQsQBwALDQEMAwsgBkH/AU0EQCAIRQ0B.QQAhAwNAAkAgAUEANgIQIAFCADcDCCAAKAIgIgIpAwgiESACKQMQIg9XDQAgAigCACIEIA+nai0AACEHIAIgD0IBfCIQNwMQIAYgB00NACABIAc2AgggECAR.WQ0AIAQgEKdqLQAAIQUgAiAPQgJ8IhA3AxAgBSAGTw0AIAEgBTYCDCAQIBFZDQAgBCAQp2otAAAhBCACIA9CA3w3AxAgBCAGTw0AIAEgBDYCECABIAAoAiwi.BCgCZCICNgIcIAQoAmghBSABIARB4ABqNgIoIAEgAUEIajYCJCABIAFBHGo2AiAgBAJ/IAIgBUkEQCACIAc2AgAgAiABKAIMNgIEIAIgASgCEDYCCCACQQxq.DAELIAFBIGoQFCABKAIcCzYCZCADQQFqIgMgCEcNAQwDCwsMAwsgBkH//wNNBEAgCEUNAUEAIQMDQAJAIAFBADYCECABQgA3AwggACgCICICKQMIIhEgAikD.ECIPQgJ8IhBTDQAgAigCACIEIA+nai8AACEHIAIgEDcDECAGIAdNDQAgASAHNgIIIBEgD0IEfCISUw0AIAQgEKdqLwAAIQUgAiASNwMQIAUgBk8NACABIAU2.AgwgESAPQgZ8Ig9TDQAgBCASp2ovAAAhBCACIA83AxAgBCAGTw0AIAEgBDYCECABIAAoAiwiBCgCZCICNgIcIAQoAmghBSABIARB4ABqNgIoIAEgAUEIajYC.JCABIAFBHGo2AiAgBAJ/IAIgBUkEQCACIAc2AgAgAiABKAIMNgIEIAIgASgCEDYCCCACQQxqDAELIAFBIGoQFCABKAIcCzYCZCADQQFqIgMgCEcNAQwDCwsM.AwsCQCAGQf///wBLDQAgAC8BJCIDQQh0IANBCHZyQf//A3FBggRJDQAgCEUNAQNAAkAgAUEANgIQIAFCADcDCEEBIAFBIGoiAyAAKAIgEEJFDQAgASgCICIC.IAZPDQAgASACNgIIQQEgAyAAKAIgEEJFDQAgASgCICICIAZPDQAgASACNgIMQQEgAyAAKAIgEEJFDQAgASgCICIDIAZPDQAgASADNgIQIAEgACgCLCICKAJk.IgM2AhwgAigCaCEEIAEgAkHgAGo2AiggASABQQhqNgIkIAEgAUEcajYCICACAn8gAyAESQRAIAMgASgCCDYCACADIAEoAgw2AgQgAyABKAIQNgIIIANBDGoM.AQsgAUEgahAUIAEoAhwLNgJkIAdBAWoiByAIRw0BDAMLCwwDCyAIRQ0AQQAhAwNAIAFBADYCECABQgA3AwggACgCICICKQMIIhEgAikDECIPQgR8IhBTDQIg.AigCACIEIA+naigAACEHIAIgEDcDECAGIAdNDQIgASAHNgIIIBEgD0IIfCISUw0CIAQgEKdqKAAAIQUgAiASNwMQIAUgBk8NAiABIAU2AgwgESAPQgx8Ig9T.DQIgBCASp2ooAAAhBCACIA83AxAgBCAGTw0CIAEgBDYCECABIAAoAiwiBCgCZCICNgIcIAQoAmghBSABIARB4ABqNgIoIAEgAUEIajYCJCABIAFBHGo2AiAg.BAJ/IAIgBUkEQCACIAc2AgAgAiABKAIMNgIEIAIgASgCEDYCCCACQQxqDAELIAFBIGoQFCABKAIcCzYCZCADQQFqIgMgCEcNAAsLIAAoAgQgBjYCUEEBIQoM.AQsLIAFBMGokACAKC/wCAQh/IwBBEGsiBSQAAkACQCAAKAIMIgEoAjggASgCNGsiASAAKAIEIgYoAgggBigCACIDa00NACABQQBIDQEgBigCBCEHIAEQBiIC.IAFqIQggAyAHRwRAIAMhASACIQQDQCAEIAEoAgA2AgAgBEEEaiEEIAFBBGoiASAHRw0ACwsgBiAINgIIIAYgAiAHIANrajYCBCAGIAI2AgAgA0UNACADEAUL.IABBCGohAwJAIAAoAkwiAQRAIAEoAgAiAiABKAIERgRAQQEhBAwCC0EAIQEDQCAFIAIgAUECdGooAgA2AgggAyAFQQhqEN0BIgRFDQIgAUEBaiIBIAAoAkwi.AigCBCACKAIAIgJrQQJ1SQ0ACwwBCyAAKAIMKAJAIgAoAgQgACgCAGtBAnUiAEEDbiECIABBA0kEQEEBIQQMAQtBACEBA0AgBSABQQNsNgIMIAMgBUEMahDd.ASIERQ0BIAFBAWoiASACRw0ACwsgBUEQaiQAIAQPCxAHAAu/AgEMfyAAKAIMIAAoAkQoAlAhAiABQQA6AFQgAUHEAGogAkHU4AAQNCAAKAJEIgIoAmQiAyAC.KAJgIgpGBEBBAQ8LIAIoAlAhAkEBIAMgCmtBDG0iAyADQQFNGyEMKAIcIQ0DQAJAQQAhBiANIAhBDGwiBGoiAygCACIHQX9GDQAgBCAKaiIEKAIAIgUgAk8N.ACAAKAJIKAIMIgsgB0ECdGooAgAiCSACTw0AIAEoAkQiByAFQQJ0aiAJNgIAIAMoAgQiBUF/Rg0AIAQoAgQiCSACTw0AIAsgBUECdGooAgAiBSACTw0AIAcg.CUECdGogBTYCACADKAIIIgNBf0YNACAEKAIIIgQgAk8NACALIANBAnRqKAIAIgMgAk8NACAHIARBAnRqIAM2AgBBASEGIAhBAWoiCCAMRw0BCwsgBgsHAgV/.AX4AC1QBAX8gAEHc3AA2AgggAEGI5QA2AgAgACgCOCIBBEAgACABNgI8IAEQBQsgAEHc3gA2AgggACgCLCIBBEAgARAFCyAAKAIgIgEEQCABEAULIAAQBQtS.AQF/IABB3NwANgIIIABBiOUANgIAIAAoAjgiAQRAIAAgATYCPCABEAULIABB3N4ANgIIIAAoAiwiAQRAIAEQBQsgACgCICIBBEAgARAFCyAAC0sBAX8gAEGI.5AA2AgAgACgCMCIBBEAgACABNgI0IAEQBQsgAEHQ4gA2AgAgACgCJCIBBEAgARAFCyAAKAIYIgEEQCABEAULIAAQBQv5AgEIfyMAQRBrIgUkAAJAAkAgACgC.DCIBKAIcIAEoAhhrIgEgACgCBCIGKAIIIAYoAgAiA2tNDQAgAUEASA0BIAYoAgQhByABEAYiAiABaiEIIAMgB0cEQCADIQEgAiEEA0AgBCABKAIANgIAIARB.BGohBCABQQRqIgEgB0cNAAsLIAYgCDYCCCAGIAIgByADa2o2AgQgBiACNgIAIANFDQAgAxAFCyAAQQhqIQMCQCAAKAJMIgEEQCABKAIAIgIgASgCBEYEQEEB.IQQMAgtBACEBA0AgBSACIAFBAnRqKAIANgIIIAMgBUEIahDeASIERQ0CIAFBAWoiASAAKAJMIgIoAgQgAigCACICa0ECdUkNAAsMAQsgACgCDCIAKAIEIAAo.AgBrQQJ1IgBBA24hAiAAQQNJBEBBASEEDAELQQAhAQNAIAUgAUEDbDYCDCADIAVBDGoQ3gEiBEUNASABQQFqIgEgAkcNAAsLIAVBEGokACAEDwsQBwALygIB.DH8gACgCDCEMIAAoAkQoAlAhAiABQQA6AFQgAUHEAGogAkHU4AAQNCAAKAJEIgIoAmQiBCACKAJgIgpGBEBBAQ8LIAIoAlAhAkEBIAQgCmtBDG0iBCAEQQFN.GyENA0ACQEEAIQQgBkHVqtWqBUYNACAGQQxsIgMgDCgCAGoiBSgCACIHQX9GDQAgAyAKaiIIKAIAIgMgAk8NACAAKAJIKAIMIgsgB0ECdGooAgAiCSACTw0A.IAEoAkQiByADQQJ0aiAJNgIAIAUoAgQiA0F/Rg0AIAgoAgQiCSACTw0AIAsgA0ECdGooAgAiAyACTw0AIAcgCUECdGogAzYCACAFKAIIIgVBf0YNACAIKAII.IgggAk8NACALIAVBAnRqKAIAIgUgAk8NACAHIAhBAnRqIAU2AgBBASEEIAZBAWoiBiANRw0BCwsgBAtUAQF/IABBiOQANgIIIABB5OIANgIAIAAoAjgiAQRA.IAAgATYCPCABEAULIABB0OIANgIIIAAoAiwiAQRAIAEQBQsgACgCICIBBEAgARAFCyAAEAULUgEBfyAAQYjkADYCCCAAQeTiADYCACAAKAI4IgEEQCAAIAE2.AjwgARAFCyAAQdDiADYCCCAAKAIsIgEEQCABEAULIAAoAiAiAQRAIAEQBQsgAAtJAQF/IABBiOQANgIAIAAoAjAiAQRAIAAgATYCNCABEAULIABB0OIANgIA.IAAoAiQiAQRAIAEQBQsgACgCGCIBBEAgARAFCyAACy0BAX8gAEHQ4gA2AgAgACgCJCIBBEAgARAFCyAAKAIYIgEEQCABEAULIAAQBQuUAQEDfyMAQUBqIgMk.ACAAIAEgACgCACgCLBEBACEEIAAgASAAKAIAKAIoEQEAIQAgAxBDIgUgASgCOCAEQf8BcSAAQQAgAEEBayIAQQpNBH8gAC0AkGoFQX8LIARsrBBnQeAAEAYg.BRBkIgAgAhAyGiAAQQE6AFQgACAAKAJENgJIIAAgASgCPDYCPCADQUBrJAAgAAsrAQF/IABB0OIANgIAIAAoAiQiAQRAIAEQBQsgACgCGCIBBEAgARAFCyAA.C4oBAQF/IABB4OAANgIAIAAoAlgiAQRAIAAgATYCXCABEAULIAAoAkgiAQRAIAAgATYCTCABEAULIAAoAjwiAQRAIAAgATYCQCABEAULIAAoAjAiAQRAIAAg.ATYCNCABEAULIABB0OIANgIAIAAoAiQiAQRAIAEQBQsgACgCGCIBBEAgARAFCyAAEAULoAMBCX8jAEEQayIFJAACQAJAIAAoAgwiASgCHCABKAIYayIGIAAo.AgQiBygCCCAHKAIAIgRrTQ0AIAZBAEgNASAHKAIEIQggBhAGIgMgBmohCSAEIAhHBEAgBCEBIAMhAgNAIAIgASgCADYCACACQQRqIQIgAUEEaiIBIAhHDQAL.CyAHIAk2AgggByADIAggBGtqNgIEIAcgAzYCACAERQ0AIAQQBSAAKAIMIgEoAhwgASgCGGshBgsgAEEIaiEEQQAhASAFQQA2AgQgAEHgAGogBkECdSAFQQRq.EB0CQCAAKAJ0IgIEQCACKAIAIgMgAigCBEYEQEEBIQIMAgsDQCAFIAMgAUECdGooAgA2AgggBCAFQQhqEN8BIgJFDQIgAUEBaiIBIAAoAnQiAygCBCADKAIA.IgNrQQJ1SQ0ACwwBCyAAKAIMIgAoAgQgACgCAGtBAnUiAEEDbiEDIABBA0kEQEEBIQIMAQsDQCAFIAFBA2w2AgwgBCAFQQxqEN8BIgJFDQEgAUEBaiIBIANH.DQALCyAFQRBqJAAgAg8LEAcAC8oCAQx/IAAoAgwhDCAAKAJsKAJQIQIgAUEAOgBUIAFBxABqIAJB1OAAEDQgACgCbCICKAJkIgQgAigCYCIKRgRAQQEPCyAC.KAJQIQJBASAEIAprQQxtIgQgBEEBTRshDQNAAkBBACEEIAZB1arVqgVGDQAgBkEMbCIDIAwoAgBqIgUoAgAiB0F/Rg0AIAMgCmoiCCgCACIDIAJPDQAgACgC.cCgCDCILIAdBAnRqKAIAIgkgAk8NACABKAJEIgcgA0ECdGogCTYCACAFKAIEIgNBf0YNACAIKAIEIgkgAk8NACALIANBAnRqKAIAIgMgAk8NACAHIAlBAnRq.IAM2AgAgBSgCCCIFQX9GDQAgCCgCCCIIIAJPDQAgCyAFQQJ0aigCACIFIAJPDQAgByAIQQJ0aiAFNgIAQQEhBCAGQQFqIgYgDUcNAQsLIAQLkwEBAX8gAEHg.4AA2AgggAEGM3wA2AgAgACgCYCIBBEAgACABNgJkIAEQBQsgACgCUCIBBEAgACABNgJUIAEQBQsgACgCRCIBBEAgACABNgJIIAEQBQsgACgCOCIBBEAgACAB.NgI8IAEQBQsgAEHQ4gA2AgggACgCLCIBBEAgARAFCyAAKAIgIgEEQCABEAULIAAQBQuRAQEBfyAAQeDgADYCCCAAQYzfADYCACAAKAJgIgEEQCAAIAE2AmQg.ARAFCyAAKAJQIgEEQCAAIAE2AlQgARAFCyAAKAJEIgEEQCAAIAE2AkggARAFCyAAKAI4IgEEQCAAIAE2AjwgARAFCyAAQdDiADYCCCAAKAIsIgEEQCABEAUL.IAAoAiAiAQRAIAEQBQsgAAuIAQEBfyAAQeDgADYCACAAKAJYIgEEQCAAIAE2AlwgARAFCyAAKAJIIgEEQCAAIAE2AkwgARAFCyAAKAI8IgEEQCAAIAE2AkAg.ARAFCyAAKAIwIgEEQCAAIAE2AjQgARAFCyAAQdDiADYCACAAKAIkIgEEQCABEAULIAAoAhgiAQRAIAEQBQsgAAuJAQECfyMAQRBrIgMkACAAIAE2AgQgASgC.ACEEIAEoAgQhASADQQA6AA8gAEEYaiABIARrQQJ1QQNuIANBD2oQGiAAKAIEIgEoAhghBCABKAIcIQEgA0EAOgAOIABBJGogASAEa0ECdSADQQ5qEBogACAC.KQIINwIQIAAgAikCADcCCCADQRBqJAALLQEBfyAAQdzeADYCACAAKAIkIgEEQCABEAULIAAoAhgiAQRAIAEQBQsgABAFCysBAX8gAEHc3gA2AgAgACgCJCIB.BEAgARAFCyAAKAIYIgEEQCABEAULIAALSwEBfyAAQdzcADYCACAAKAIwIgEEQCAAIAE2AjQgARAFCyAAQdzeADYCACAAKAIkIgEEQCABEAULIAAoAhgiAQRA.IAEQBQsgABAFCwkAIAAQ4AEQBQsJACAAEOEBEAULCQAgABDiARAFCwcAIAEtABgL2EMCGX8DfiMAQdAAayISJAAgAEEANgKEASAAKAKUAQRAIAAoApABIgwE.QANAIAwoAgAgDBAFIgwNAAsLIABBADYCkAECQCAAKAKMASIBRQ0AIAFBAnQiAUUNACAAKAKIAUEAIAH8CwALIABBADYClAELAkACQCAAKAIEIgwtACQiAUEI.dCAMLQAlckGBBE0EQCAMKAIgIQUCQCABQf8BcUEBTQRAIAUpAxAiG0IEfCIaIAUpAwhVDQMgBSgCACAbp2ooAAAhDiAFIBo3AxAMAQtBASASQRBqIAUQEkUN.AiAAKAIEIgwtACQhASASKAIQIQ4LIAAgDjYChAELIAwoAiAhBQJAIAFB/wFxQQFNBEAgBSkDECIbQgR8IhogBSkDCFUEQEEAIQwMBAsgEiAFKAIAIBunaigA.ACIBNgJMIAUgGjcDEAwBC0EBIBJBzABqIAUQEkUEQEEAIQwMAwsgACgCBCEMIBIoAkwhAQsgACABNgKcASAMKAIgIQECQCAMLQAkQQFNBEAgASkDECIbQgR8.IhogASkDCFUEQEEAIQwMBAsgEiABKAIAIBunaigAACIXNgJIIAEgGjcDEAwBC0EBIBJByABqIAEQEkUEQEEAIQwMAwsgEigCSCEXC0EAIQwgF0HVqtWqBUsN.ASAAKAKcASIFIBdBA2wiAUsNASABQQF2rSAFrCIaQgF9IBp+QgGIVg0BIAAoAgQiBSgCICIIKQMIIhwgCCkDECIaVw0BIAgoAgAiASAap2otAAAhECAIIBpC.AXwiGzcDEAJAIAUtACRBAU0EQCAcIBpCBXwiGlMNAyASIAEgG6dqKAAAIg42AkQgCCAaNwMQDAELQQEgEkHEAGogCBASRQ0CIBIoAkQhDgsgDiAXSw0BIBcg.DkEDbiAOaksNASAAKAIEIgEoAiAhBQJAIAEtACRBAU0EQCAFKQMQIhtCBHwiGiAFKQMIVQ0DIBIgBSgCACAbp2ooAAAiATYCQCAFIBo3AxAMAQtBASASQUBr.IAUQEkUNAiASKAJAIQELIAEgDksNASAAIAAoAhg2AhxB2AAQBhB+IQUgACgCCCEIIAAgBTYCCCAIBEAgCBAqIAAoAghFDQILIAAgACgCoAE2AqQBIABBoAFq.IBcQRyAAIAAoAqwBNgKwASAAQawBaiAXEEcgAEEANgJAIABBfzYCXCAAQn83AlQgACAAKAIkNgIoIAAgACgCMDYCNCAAIAAoAkg2AkwgAEHYAWoiGRCSASAZ.IBAQkQEgACgCCCAXIAAoApwBIAFqEH1FDQEgACgCnAEhBSASQQE6ABAgAEH4AGogASAFaiASQRBqEBoCQCAAKAIEIggtACQiBUEIdCAILQAlckGBBE0EQCAI.KAIgIQgCQCAFQQFNBEAgCCkDECIbQgR8IhogCCkDCFUNBSAIKAIAIBunaigAACEDIAggGjcDEAwBC0EBIBJBPGogCBASRQ0EIBIoAjwhAwsgA0UNAyADrSAA.KAIEKAIgIgUpAwggBSkDEH1VDQMgEkEQaiIHQQA7ASYgB0EANgIAIAdCADcDCCAHQgA3AxAgB0IANwMYIAdCADcAHSAAKAIEKAIgIgQoAgAgBCkDECIap2og.A2ohCCAEKQMIIBp9pyADayEFIAcgBC8BJjsBJiAHIAg2AgAgB0IANwMQIAcgBa03AwggACAHEEYiF0F/Rw0BDAMLQX8hFyAAIAgoAiAQRkF/Rg0CCyAAQegB.aiIGIAAQ5QEgACAQNgL0AiAAIAEgACgCnAFqNgKAAyASQRBqIghBADsBJiAIQQA2AgAgCEIANwMIIAhCADcDECAIQgA3AxggCEIANwAdQQAhECMAQRBrIhYk.AAJAAkAgBigCkAEiASABKAIAKAIgEQAALwEkIgFBCHQgAUEIdnJB//8DcUGBBE0EQCAGIAYpAyA3A0ggBiAGKQMYNwNAIAYgBikDEDcDOCAGIAYpAwg3AzAg.BiAGKQMANwMoIAZBKGpBASAWQQhqEEFFDQEgBiAGKQNINwMgIAYgBikDQDcDGCAGIAYpAzgiHDcDECAGIAYpAzAiGzcDCCAGIAYpAyg3AwAgFikDCCIaIBsg.HH1WDQEgBiAaIBx8NwMQCwJAIAYvASZBgQRNBEAgBiAGKQMgNwOAASAGIAYpAxg3A3ggBiAGKQMQNwNwIAYgBikDCDcDaCAGIAYpAwA3A2AgBkHgAGpBASAW.QQhqEEFFDQIgBiAGKQOAATcDICAGIAYpA3g3AxggBiAGKQNwIhw3AxAgBiAGKQNoIhs3AwggBiAGKQNgNwMAIBYpAwgiGiAbIBx9Vg0CIAYgGiAcfDcDEAwB.CyAGQdAAaiAGEAhFDQILIAYQ5wFFDQEgCCAGKQMgNwMgIAggBikDGDcDGCAIIAYpAxA3AxAgCCAGKQMINwMIIAggBikDADcDAAJAIAYoApABIgEgASgCACgC.IBEAAC8BJCIBQQh0IAFBCHZyQf//A3FBgQRNBEACQCAGKAKQASIBIAEoAgAoAiARAAAtACRBAU0EQCAIKQMQIhtCBHwiGiAIKQMIVQ0FIAgoAgAgG6dqKAAA.IQkgCCAaNwMQDAELQQEgFkEIaiAIEBJFDQQgFigCCCEJCyAJIAYoApgBIgVPDQMgCCkDECIaIAgpAwhZDQMgCCgCACAap2otAAAgCCAaQgF8NwMQDQMgBkKC.gICA8AA3A7ABDAELIAZCgoCAgPAANwOwASAGKAKYASEFCyAFQQBIDQFBACEJIBZBADYCCCAGQZwBaiAFIBZBCGoQHUEBIRACQAJAAkAgBigCtAEgBigCsAFr.QQFqIgsgBigCvAEiBSAGKAK4ASIPayIKQQxtIgdLBEAgBigCwAEgD2tBDG0iBCALTwRAIAsgB2tBDGxBDGsiASABQQxwa0EMaiIBBEAgBUEAIAH8CwALIAYg.ASAFajYCvAEMBAsgC0HWqtWqAU8NAUHVqtWqASAEQQF0IgEgCyABIAtLGyAEQarVqtUATxsiAUHWqtWqAU8NAiABQQxsIgQQBiIFIApqIQMgCyAHa0EMbEEM.ayIBIAFBDHBrQQxqIgcEQCADQQAgB/wLAAsgAyAKQXRtQQxsaiEBIAoEQCABIA8gCvwKAAALIAYgBCAFajYCwAEgBiADIAdqNgK8ASAGIAE2ArgBIA9FDQMg.DxAFDAMLIAcgC00NAiAFIA8gC0EMbGoiB0cEQANAIAVBDGsiASgCACIEBEAgBUEIayAENgIAIAQQBQsgASIFIAdHDQALCyAGIAc2ArwBDAILEAcACxAOAAsg.BkHEAWogBigCvAEgBigCuAFrQQxtEAwgBigCvAEgBigCuAFGDQEDQEEBIBZBCGogCBASRQ0BIBYoAggiBSAGKAKUASIBKAIEIAEoAgBrQQJ1QQNuSw0BIAUE.QCAJQQxsIgEgBigCuAFqIAUQDCAFQQEgCCAGKAK4ASABaigCABCXARogBigCxAEgCUECdGogBTYCAAsgCUEBaiIJIAYoArwBIAYoArgBa0EMbUkNAAsMAQtB.ACEQCyAWQRBqJAACQCAQRQ0AQQAhECMAQeAAayICJAAgAkEANgJQIAJCADcCSCACQgA3AzggAkIANwMwIAJBgICA/AM2AkAgAkEANgIsIAJCADcCJCAAIgco.AnwhGAJAAkAgDkEASgRAIABB6AFqIQUgACgC2AEgACgC3AFHIRYDQAJAAkAgBSgCrAEiAEF/RwRAIAUoAsQBIABBAnRqIgAgACgCACIBQQFrIgA2AgBBCSEE.IAFBAEwNAiAFKAK4ASAFKAKsAUEMbGooAgAgAEECdGooAgAiAEEESw0CIABBAnQoAvBeIQQMAQtBByEEIAUoApABIgAgACgCACgCIBEAAC8BJCIAQQh0IABB.CHZyQf//A3FBgQRLDQBBASEEIAUtAExBAUcNAEEAIQQgBSgCQCIPIAUoAkgiCUEDdmoiACAFKAJEIgpPDQAgAC0AACAFIAlBAWoiADYCSCAJQQdxdkEBcUUN.AAJAIAogDyAAQQN2IgNqIgFNBEAgACEBDAELIAEtAAAgBSAJQQJqIgE2AkggAUEDdiEDIABBB3F2QQFxIQQLIAogAyAPaiIASwR/IAAtAAAgBSABQQFqNgJI.IAFBB3F2QQF0QQJxIARyBSAEC0EBdEEBciEECyAFIAQ2AqgBCwJAAkAgBCIDRQRAIAIoAkwiACACKAJIRgRAQX8hBAwGC0F/IQEgBygCCCIUKAIYIgsCf0F/.IABBBGsiCSgCACINQX9GDQAaQX8gDUEBaiIAIA1BAmsgAEEDcBsiAEF/Rg0AGiAUKAIAIABBAnRqKAIACyITQQJ0aigCACIEQX9HBEAgBEEBaiIAIARBAmsg.AEEDcBshAQsgASANRgRAQX8hBAwGCyANQX9HBEBBfyEEIBQoAgwgDUECdGooAgBBf0cNBgsgFCgCDCEDIAFBf0cEQEF/IQQgAyABQQJ0aigCAEF/Rw0GCyAD.IA1BAnRqIBBBA2wiAEEBaiIENgIAIAMgBEECdCIPaiANNgIAIAMgAUECdGogAEECaiIRNgIAIAMgEUECdCIKaiABNgIAQX8hFQJ/QX8gDUF/Rg0AGgJAIA1B.A3AEQCANQQFrIQMMAQtBfyANQQJqIgNBf0YNARoLIBQoAgAgA0ECdGooAgALIQMCQCABQX9GDQAgAUEBaiIEIAFBAmsgBEEDcBsiAUF/Rg0AIBQoAgAgAUEC.dGooAgAhFQtBfyEEIAMgE0YNBSATIBVGDQUgFCgCACIBIABBAnRqIBM2AgAgASAPaiAVNgIAIAEgCmogAzYCACADQX9HBEAgCyADQQJ0aiARNgIACyAHKAJ4.IBNBA3ZB/P///wFxaiIBIAEoAgBBfiATd3E2AgAgCSAANgIADAELQX8hBAJ/An8CQAJAAkACQAJAAkACQCADQQFrDgcBDQANAA0CDQsgAigCTCIAIAIoAkhG.DQwgBygCCCIRKAIMIQogAEEEaygCACITQX9HBEAgCiATQQJ0aigCAEF/Rw0NCyAKIBBBA2wiAUECQQEgA0EFRiILG2oiCUECdCIDaiATNgIAIAogE0ECdGog.CTYCACACIBEoAhwiBDYCXCARKAIgIQAgAiARQRhqNgIQIAJBnNkANgIMIAIgAkHcAGo2AgggEQJ/IAAgBEsEQCAEQX82AgAgBEEEagwBCyACQQhqEAkgAigC.XAsiDzYCHEF/IQQgBygCCCIAKAIcIAAoAhgiCmtBAnUgGEoNDCADIAAoAgAiA2ogDyARKAIYIgRrQQJ1QQFrIgA2AgAgBCAPRwRAIAogAEECdGogCTYCAAsg.ASABQQJqIAsbIQQgAyABQQJ0aiALQQJ0agJ/IBNBf0YEQCADIARBAnRqQX82AgBBfwwBCwJAAkACQCATQQNwBEAgE0EBayENDAELIBNBAmoiDUF/Rg0BCyAD.IARBAnRqIAMgDUECdGooAgAiADYCACAAQX9GDQEgCiAAQQJ0aiAENgIADAELIAMgBEECdGpBfzYCAAtBfyATQQFqIgAgE0ECayAAQQNwGyIAQX9GDQAaIAMg.AEECdGooAgALNgIAIAIoAkxBBGsgATYCAAwCCyACKAJIIhUgAigCTCIARg0LIABBBGsiASgCACEUIAIgATYCTAJAIAIoAjQiCUUEQCABIQAMAQsgAigCPEUE.QCABIQAMAQsgAigCMAJ/IAlB/////wdqIBBxIAlpQQFLIgpFDQAaIBAgCSAQSw0AGiAQIAlwCyIPQQJ0aigCACIERQRAIAEhAAwBCyAEKAIAIgNFBEAgASEA.DAELAkAgCkUEQCAJQQFrIQoDQAJAIBAgAygCBCIERwRAIAQgCnEgD0YNASABIQAMBQsgAygCCCAQRg0DCyADKAIAIgMNAAsgASEADAILA0ACQCAQIAMoAgQi.BEcEQCAEIAlPBH8gBCAJcAUgBAsgD0YNASABIQAMBAsgAygCCCAQRg0CCyADKAIAIgMNAAsgASEADAELIAIgATYCXCACKAJQIQQgAiADQQxqNgIMIAIgAkHI.AGo2AhAgAiACQdwAajYCCAJAIAEgBEkEQCABIAMoAgw2AgAMAQsgAkEIahAJIAIoAlwhAAsgAiAANgJMIAIoAkghFQsgACAVRgRAQX8hBAwMC0F/IQQgAEEE.aygCACITIBRGDQsgBygCCCEVIBNBf0YiCkUEQCAVKAIMIBNBAnRqKAIAQX9HDQwLIBUoAgwhESAUQX9HBEAgESAUQQJ0aigCAEF/Rw0MCyARIBNBAnRqIBBB.A2wiC0ECaiIPNgIAIBEgD0ECdCIJaiATNgIAIBEgFEECdGogC0EBaiIBNgIAIBEgAUECdCIDaiAUNgIAIAoNAiATQQNwBEAgE0EBayENDAULIBNBAmoiDUF/.Rw0EIBUoAgAhBEF/DAULIAIgEEEDbDYCWCACIAcoAggiBCgCHCIBNgJcIAQoAiAhACACIARBGGo2AhAgAkGc2QA2AgwgAiACQdwAajYCCCAEAn8gACABSwRA.IAFBfzYCACABQQRqDAELIAJBCGoQCSACKAJcCyIJNgIcIAIoAlhBAnQiASAHKAIIIhEoAgBqIAkgBCgCGCIKayIPQQJ1IgNBAWsiBDYCACACIBEoAhwiCzYC.XCARKAIgIQAgAiARQRhqNgIQIAJBnNkANgIMIAIgAkHcAGo2AgggEQJ/IAAgC0sEQCALQX82AgAgC0EEagwBCyACQQhqEAkgAigCXAsiADYCHCARKAIAIAFq.IAAgESgCGGtBAnVBAWs2AgQgAigCWCEBIAIgBygCCCIRKAIcIgs2AlwgESgCICEAIAIgEUEYajYCECACQZzZADYCDCACIAJB3ABqNgIIIBECfyAAIAtLBEAg.C0F/NgIAIAtBBGoMAQsgAkEIahAJIAIoAlwLIgA2AhwgESgCACABQQJ0aiAAIBEoAhhrQQJ1QQFrNgIIIAcoAggiACgCHCAAKAIYIgtrQQJ1IBhKDQIgAigC.WCEAAkACQCAJIApHBEAgCyAEQQJ0aiAANgIAQQAhASAPQXxGDQELIAsgD2ogAEEBajYCACADQQFqIgFBf0YNAQsgCyABQQJ0aiACKAJYQQJqNgIACyACIAIo.AkwiATYCXCACKAJQIQAgAiACQcgAajYCECACIAJB2ABqNgIMIAIgAkHcAGo2AgggAgJ/IAAgAUsEQCABIAIoAlg2AgAgAUEEagwBCyACQQhqEAkgAigCXAsi.ADYCTCAAQQRrKAIAIQELIAIgATYCICAFIAJBIGoQ4wEgBygCKCIDIAcoAiRGDQYgDiAQQX9zaiEKA0AgCiADQQhrKAIAIgBJBEBBfyEEDAsLIAAgCkcNByAD.QQRrLQAAIQEgA0EMayIAKAIAIQQgByAANgIoIARBAEgEQEF/IQQMCwsgAigCTEEEaygCACEDIAIgDiAEQX9zajYCHCACIAJBHGoiADYCWCACIAJBMGo2Alwg.AkEIaiACQdwAaiAAIAJB2ABqEIwBIAIoAggCfyABQQFxBEBBfyADQX9GDQEaIANBAWoiACADQQJrIABBA3AbDAELQX8gA0F/Rg0AGiADQQFrIANBA3ANABog.A0ECags2AgwgBygCKCIDIAcoAiRHDQALDAYLQX8hDSAVKAIAIgQgC0ECdGpBfzYCAEF/DAMLQX8hBAwHCyAVKAIAIgQgDUECdGooAgALIQ0gBCALQQJ0aiAN.NgIAQX8gE0EBaiIBIBNBAmsgAUEDcBsiAUF/Rg0AGiAEIAFBAnRqKAIACyEBIAMgBGogATYCAAJ/IBRBf0YEQCAEIAlqQX82AgBBfyEDQX8MAQsCQAJAAkAg.FEEDcARAIBRBAWshAwwBCyAUQQJqIgNBf0YNAQsgBCAJaiAEIANBAnRqKAIAIgE2AgAgAUF/Rg0BIBUoAhggAUECdGogDzYCAAwBCyAEIAlqQX82AgALQX8h.A0F/IBRBAWoiASAUQQJrIAFBA3AbIgFBf0YNABogFSgCACABQQJ0aigCACEDIAELIQEgAiADNgJYIAcoAoQDIg8gDUECdCIKaiIEIAQoAgAgDyADQQJ0aigC.AGo2AgAgFSgCGCEPIA1Bf0cEQCAKIA9qIA8gAigCWEECdGooAgA2AgALIAEhAwJAA0AgA0F/Rg0BIBUoAgAgA0ECdGogDTYCACABAn9BfyADQQFqIgQgA0EC.ayAEQQNwGyIEQX9GDQAaQX8gFSgCDCAEQQJ0aigCACIDQX9GDQAaIANBAWoiBCADQQJrIARBA3AbCyIDRw0AC0F/IQQMBQsgDyACKAJYIgFBAnRqQX82AgAg.FgR/IAAFIAIgAigCKCIENgJcIAIoAiwhACACIAJBJGo2AhAgAiACQdgAajYCDCACIAJB3ABqNgIIIAICfyAAIARLBEAgBCABNgIAIARBBGoMAQsgAkEIahAJ.IAIoAlwLNgIoIAIoAkwLQQRrIgAgCzYCACAAKAIAIQALIAIgADYCICAFIAJBIGoQ4wELIBBBAWoiECAORw0ACyAOIRALQX8hBCAHKAIIIg4oAhwgDigCGGtB.AnUgGEoNACACKAJMIgMgAigCSEcEQCAHQcgAaiERIAdBPGohFiAHQbgCaiEPA0AgA0EEayIBKAIAIQAgAiABNgJMIAIgADYCWAJAAkACQCAHLwGOAkGBBE0E.QCAHKALgAiAHKALoAiIBQQN2aiIAIAcoAuQCTw0BIAAtAAAgByABQQFqNgLoAiABQQdxdkEBcUUNAQwCCyAPEBANAQsgAkEAOgAIIBYgAkEIahBEIAIgBygC.TCIBNgJcIAcoAlAgAiARNgIQIAIgAkHYAGo2AgwgAiACQdwAajYCCCABSwRAIAEgAigCWDYCACAHIAFBBGo2AkwMAgsgAkEIahAJIAcgAigCXDYCTAwBCwJA.IBAgBygCCCILKAIEIAsoAgAiCWtBAnVBA25ODQBBfyEBAkAgCygCGCIFAn9BfyACKAJYIhhBf0YNABpBfyAYQQFqIgAgGEECayAAQQNwGyIAQX9GDQAaIAkg.AEECdGooAgALIgpBAnRqKAIAIgNBf0YEQEEBIQ5BfyENDAELQQEhDkF/IQ0gA0EBaiIAIANBAmsgAEEDcBsiAEF/Rg0AQQAhDiAAQQFqIgEgAEECayABQQNw.GyIBQX9HBEAgCSABQQJ0aigCACENCyAAIQELQX8hAyAFIA1BAnRqKAIAIgVBf0cEQCAFQQFqIgAgBUECayAAQQNwGyEDCyABIBhGDQAgAyAYRg0AIAEgA0YN.ACAYQX9HBEAgCygCDCAYQQJ0aigCAEF/Rw0BCyAORQRAIAsoAgwgAUECdGooAgBBf0cNAQtBfyEAAn9BfyADQX9GDQAaIAsoAgwgA0ECdGooAgBBf0cNAUF/.IANBAWoiBSADQQJrIAVBA3AbIgVBf0YNABogCSAFQQJ0aigCAAshDiACIBBBA2wiBTYCCCALKAIMIgkgBUECdGogGDYCACAJIBhBAnRqIAU2AgAgCSACKAII.QQFqIgVBAnRqIAE2AgAgCSABQQJ0aiAFNgIAIAkgAigCCEECaiIBQQJ0aiADNgIAIAkgA0ECdGogATYCACALKAIAIgsgAigCCCIJQQJ0aiIBIA02AgAgASAK.NgIIIAEgDjYCBCAHKAJ4IgogDUF/IAlBAWoiDhsiBUEDdkH8////AXFqIgEgASgCAEF+IAV3cTYCACAOQX9HBEAgCyAOQQJ0aigCACEACyAKIABBA3ZB/P//./wFxaiIBIAEoAgBBfiAAd3E2AgBBfyEDIAlBAmoiAEF/RwRAIAsgAEECdGooAgAhAwsgCiADQQN2Qfz///8BcWoiACAAKAIAQX4gA3dxNgIAIAJBAToAXCAW.IAJB3ABqEEQgESACQQhqEIsBIBBBAWohEAwBCwwDCyACKAJMIgMgAigCSEcNAAsgBygCCCEOCyAQIA4oAgQgDigCAGtBAnVBA25HDQAgDigCHCAOKAIYa0EC.dSEEIAIoAiQiASACKAIoIhBGDQEDQCAOKAIYIgAgBEEBayIDQQJ0aiINKAIAQX9GBEADQCAEQQJrIQMgBEEBayEEIAAgA0ECdGoiDSgCAEF/Rg0ACwsgASgC.ACIKIANNBEAgAiAONgIIIA0oAgAhDSACQQE6ABQgAiANNgIQIAIgDTYCDCANQX9HBEADQCADIAcoAggoAgAgDUECdGoiACgCAEcEQEF/IQQMBQsgACAKNgIA.IAJBCGoQbyACKAIQIg1Bf0cNAAsgBygCCCEOCyAOKAIYIgAgA0ECdGohBSAKQX9HBEAgACAKQQJ0aiAFKAIANgIACyAFQX82AgBBASAKdCEPIAcoAngiBSAK.QQN2Qfz///8BcWoiCgJ/QQEgA3QiACAFIANBA3ZB/P///wFxaiIFKAIAcQRAIAooAgAgD3IMAQsgCigCACAPQX9zcQs2AgAgBSAFKAIAIABBf3NxNgIAIARB.AWshBAsgAUEEaiIBIBBHDQALCyACKAIkIQELIAEEQCACIAE2AiggARAFCyACKAI4IgAEQANAIAAoAgAgABAFIgANAAsLIAIoAjAhACACQQA2AjAgAARAIAAQ.BQsgAigCSCIABEAgAiAANgJMIAAQBQsgAkHgAGokACAEIgBBf0YNACAIKAIAIAgpAxAiGqdqIQUgCCkDCCAafachASAHKAIEKAIgIgggCC8BJjsBJiAIIAU2.AgAgCEIANwMQIAggAa03AwggBygCBCIILwEkIgFBCHQgAUEIdnIiBUH//wNxQYEETQRAIAgoAiAiASABKQMQIBesfDcDEAsCQCAHKALYASAHKALcAUYNACAH.KAIIIgEoAgAhCCABKAIEIQECQCAFQf//A3FBgQRPBEAgASAIRg0CDAELIAEgCEYNAQNAAkAgEiAMNgIMIAcgEkEMahCQAUUNACAMQQNqIgwgBygCCCIBKAIE.IAEoAgBrQQJ1SQ0BDAMLC0EAIQwMAgsDQAJAIBIgDDYCCCAHIBJBCGoQjwFFDQAgDEEDaiIMIAcoAggiASgCBCABKAIAa0ECdUkNAQwCCwtBACEMDAELIAYQ.jgEgBygC2AEiDCAHKALcAUcEQEEAIRcDQCAMIBdBkAFsIghqQQRqIAcoAggQfCAZKAIAIgEgCGoiBSgChAEiDCAFKAKIASIFRwRAA0AgGSgCACASIAwoAgA2.AgQgCGpBBGogEkEEahB6IAxBBGoiDCAFRw0ACyAZKAIAIQELQQAhDCABIAhqQQRqEHtFDQIgF0EBaiIXIAcoAtwBIAcoAtgBIgxrQZABbUkNAAsLIAdBuAFq.IAcoAggiASgCHCABKAIYa0ECdRBFIAcoAtgBIgEgBygC3AFHBEBBACEMA0AgASAMQZABbGoiAUHoAGogASgCPCABKAI4a0ECdSIFIAcoAggiASgCHCABKAIY.a0ECdSIBIAEgBUgbEEUgDEEBaiIMIAcoAtwBIAcoAtgBIgFrQZABbUkNAAsLIAcgABCNASEMCwwBC0EAIQwLIBJB0ABqJAAgDAuDOgIZfwN+IwBB0ABrIgwk.ACAAQQA2AoQBIAAoApQBBEAgACgCkAEiCgRAA0AgCigCACAKEAUiCg0ACwsgAEEANgKQAQJAIAAoAowBIgJFDQAgAkECdCICRQ0AIAAoAogBQQAgAvwLAAsg.AEEANgKUAQsCQAJAIAAoAgQiCi0AJCIEQQh0IAotACVyQYEETQRAIAooAiAhAgJAIARB/wFxQQFNBEAgAikDECIaQgR8IhsgAikDCFUNAyACKAIAIBqnaigA.ACELIAIgGzcDEAwBC0EBIAxBEGogAhASRQ0CIAAoAgQiCi0AJCEEIAwoAhAhCwsgACALNgKEAQsgCigCICECAkAgBEH/AXFBAU0EQCACKQMQIhpCBHwiGyAC.KQMIVQRAQQAhCgwECyAMIAIoAgAgGqdqKAAAIgQ2AkwgAiAbNwMQDAELQQEgDEHMAGogAhASRQRAQQAhCgwDCyAAKAIEIQogDCgCTCEECyAAIAQ2ApwBIAoo.AiAhAgJAIAotACRBAU0EQCACKQMQIhpCBHwiGyACKQMIVQRAQQAhCgwECyAMIAIoAgAgGqdqKAAAIg42AkggAiAbNwMQDAELQQEgDEHIAGogAhASRQRAQQAh.CgwDCyAMKAJIIQ4LQQAhCiAOQdWq1aoFSw0BIAAoApwBIgIgDkEDbCIBSw0BIAFBAXatIAKsIhpCAX0gGn5CAYhWDQEgACgCBCIBKAIgIgIpAwgiGyACKQMQ.IhpXDQEgAigCACIFIBqnai0AACEIIAIgGkIBfCIcNwMQAkAgAS0AJEEBTQRAIBsgGkIFfCIaUw0DIAwgBSAcp2ooAAAiCzYCRCACIBo3AxAMAQtBASAMQcQA.aiACEBJFDQIgDCgCRCELCyALIA5LDQEgDiALQQNuIAtqSw0BIAAoAgQiASgCICECAkAgAS0AJEEBTQRAIAIpAxAiGkIEfCIbIAIpAwhVDQMgDCACKAIAIBqn.aigAACIENgJAIAIgGzcDEAwBC0EBIAxBQGsgAhASRQ0CIAwoAkAhBAsgBCALSw0BIAAgACgCGDYCHEHYABAGEH4hASAAKAIIIQIgACABNgIIIAIEQCACECog.ACgCCEUNAgsgACAAKAKgATYCpAEgAEGgAWogDhBHIAAgACgCrAE2ArABIABBrAFqIA4QRyAAQQA2AkAgAEF/NgJcIABCfzcCVCAAIAAoAiQ2AiggACAAKAIw.NgI0IAAgACgCSDYCTCAAQdgBaiIWEJIBIBYgCBCRASAAKAIIIA4gACgCnAEgBGoQfUUNASAAKAKcASECIAxBAToAECAAQfgAaiACIARqIAxBEGoQGgJAIAAo.AgQiAi0AJCIBQQh0IAItACVyQYEETQRAIAIoAiAhAgJAIAFBAU0EQCACKQMQIhpCBHwiGyACKQMIVQ0FIAIoAgAgGqdqKAAAIQEgAiAbNwMQDAELQQEgDEE8.aiACEBJFDQQgDCgCPCEBCyABRQ0DIAGtIAAoAgQoAiAiAikDCCACKQMQfVUNAyAMQRBqIgJBADsBJiACQQA2AgAgAkIANwMIIAJCADcDECACQgA3AxggAkIA.NwAdIAAoAgQoAiAiBSgCACAFKQMQIhqnaiABaiERIAUpAwggGn2nIAFrIQEgAiAFLwEmOwEmIAIgETYCACACQgA3AxAgAiABrTcDCCAAIAIQRiIOQX9HDQEM.AwtBfyEOIAAgAigCIBBGQX9GDQILIABB6AFqIhQgABDlASAAIAg2AvQCIAAgBCAAKAKcAWo2AoADIAxBEGoiAkEAOwEmIAJBADYCACACQgA3AwggAkIANwMQ.IAJCADcDGCACQgA3AB0gAiERQQAhASMAQRBrIgIkAAJAIBQgERDpAUUNACARKQMQIhpCBHwiGyARKQMIVQ0AIBEoAgAgGqdqKAAAIQUgESAbNwMQIAVBAEgN.ACAFIBQoApgBIghODQAgAkEANgIMIBRBnAFqIAggAkEMahAdIBRBqAFqIBEQCCEBCyACQRBqJAACQCABRQ0AQQAhCCMAQeAAayIDJAAgA0EANgJQIANCADcC.SCADQgA3AzggA0IANwMwIANBgICA/AM2AkAgA0EANgIsIANCADcCJCAAIgUoAnwhEwJAAkAgC0EASgRAIABBkANqIRcgAEHoAWohECAAKALYASAAKALcAUch.FQNAAkACQAJAAkACQAJAIAUoAqQDQX9HBEAgFxAQDQELQQEhASAFLQC0AkEBRgRAIAUoAqgCIgcgBSgCsAIiAkEDdmoiACAFKAKsAiIJTw0CIAAtAAAgBSAC.QQFqIgA2ArACIAJBB3F2QQFxRQ0CQQAhBgJAIAkgByAAQQN2IgRqIgFNBEAgACEBDAELIAEtAAAgBSACQQJqIgE2ArACIAFBA3YhBCAAQQdxdkEBcSEGCyAJ.IAQgB2oiAEsEfyAALQAAIAUgAUEBajYCsAIgAUEHcXZBAXRBAnEgBnIFIAYLQQF0QQFyIQELIAUgATYCoAMMAwsgBSAFKAKkAyIBNgKgAyABDQIMAQsgBUEA.NgKgAwsgAygCTCIAIAMoAkhGBEBBfyECDAYLQX8hBCAFKAIIIgcoAhgiDwJ/QX8gAEEEayISKAIAIgFBf0YNABpBfyABQQFqIgAgAUECayAAQQNwGyIAQX9G.DQAaIAcoAgAgAEECdGooAgALIglBAnRqKAIAIgBBf0cEQCAAQQFqIgIgAEECayACQQNwGyEECyABIARGBEBBfyECDAYLIAFBf0cEQEF/IQIgBygCDCABQQJ0.aigCAEF/Rw0GCyAHKAIMIQYgBEF/RwRAQX8hAiAGIARBAnRqKAIAQX9HDQYLIAYgAUECdGogCEEDbCIAQQFqIgI2AgAgBiACQQJ0IhhqIAE2AgAgBiAEQQJ0.aiAAQQJqIg02AgAgBiANQQJ0IhlqIAQ2AgBBfyEGAn9BfyABQX9GDQAaAkAgAUEDcARAIAFBAWshAQwBC0F/IAFBAmoiAUF/Rg0BGgsgBygCACABQQJ0aigC.AAshAQJAIARBf0YNACAEQQFqIgIgBEECayACQQNwGyICQX9GDQAgBygCACACQQJ0aigCACEGC0F/IQIgASAJRg0FIAYgCUYNBSAHKAIAIgIgAEECdGogCTYC.ACACIBhqIAY2AgAgAiAZaiABNgIAIAFBf0cEQCAPIAFBAnRqIA02AgALIAUoAnggCUEDdkH8////AXFqIgIgAigCAEF+IAl3cTYCACASIAA2AgAMAQtBfyEC.An8CfwJAAkACQAJAAkACQAJAIAFBAWsOBwENAA0ADQINCyADKAJMIgAgAygCSEYNDCAFKAIIIgYoAgwhByAAQQRrKAIAIgRBf0cEQCAHIARBAnRqKAIAQX9H.DQ0LIAcgCEEDbCIAQQJBASABQQVGIgkbaiINQQJ0IhJqIAQ2AgAgByAEQQJ0aiANNgIAIAMgBigCHCIBNgJcIAYoAiAhByADIAZBGGo2AhAgA0Gc2QA2Agwg.AyADQdwAajYCCCAGAn8gASAHSQRAIAFBfzYCACABQQRqDAELIANBCGoQCSADKAJcCyIBNgIcIAUoAggiBygCHCAHKAIYIg9rQQJ1IBNKDQwgBygCACICIBJq.IAEgBigCGCIGa0ECdUEBayIHNgIAIAEgBkcEQCAPIAdBAnRqIA02AgALIAAgAEECaiAJGyEGIAIgAEECdGogCUECdGoCfyAEQX9GBEAgAiAGQQJ0akF/NgIA.QX8MAQsCQAJAAkAgBEEDcARAIARBAWshAQwBCyAEQQJqIgFBf0YNAQsgAiAGQQJ0aiACIAFBAnRqKAIAIgE2AgAgAUF/Rg0BIA8gAUECdGogBjYCAAwBCyAC.IAZBAnRqQX82AgALQX8gBEEBaiIBIARBAmsgAUEDcBsiAUF/Rg0AGiACIAFBAnRqKAIACzYCACADKAJMQQRrIAA2AgAMAgsgAygCSCIGIAMoAkwiAEYNCyAA.QQRrIgIoAgAhBCADIAI2AkwCQCADKAI0IgdFBEAgAiEADAELIAMoAjxFBEAgAiEADAELIAMoAjACfyAHQf////8HaiAIcSAHaUEBSyIJRQ0AGiAIIAcgCEsN.ABogCCAHcAsiDUECdGooAgAiAUUEQCACIQAMAQsgASgCACIBRQRAIAIhAAwBCwJAIAlFBEAgB0EBayEHA0ACQCAIIAEoAgQiCUcEQCAHIAlxIA1GDQEgAiEA.DAULIAEoAgggCEYNAwsgASgCACIBDQALIAIhAAwCCwNAAkAgCCABKAIEIglHBEAgByAJTQR/IAkgB3AFIAkLIA1GDQEgAiEADAQLIAEoAgggCEYNAgsgASgC.ACIBDQALIAIhAAwBCyADIAI2AlwgAygCUCEGIAMgAUEMajYCDCADIANByABqNgIQIAMgA0HcAGo2AggCQCACIAZJBEAgAiABKAIMNgIADAELIANBCGoQCSAD.KAJcIQALIAMgADYCTCADKAJIIQYLIAAgBkYEQEF/IQIMDAtBfyECIABBBGsoAgAiASAERg0LIAUoAgghByABQX9GIhJFBEAgBygCDCABQQJ0aigCAEF/Rw0M.CyAHKAIMIQYgBEF/RwRAIAYgBEECdGooAgBBf0cNDAsgBiABQQJ0aiAIQQNsIglBAmoiDzYCACAGIA9BAnQiDWogATYCACAGIARBAnRqIAlBAWoiAjYCACAG.IAJBAnQiGGogBDYCACASDQIgAUEDcARAIAFBAWshBgwFCyABQQJqIgZBf0cNBCAHKAIAIQJBfwwFCyADIAhBA2w2AlggAyAFKAIIIgIoAhwiADYCXCACKAIg.IQEgAyACQRhqNgIQIANBnNkANgIMIAMgA0HcAGo2AgggAgJ/IAAgAUkEQCAAQX82AgAgAEEEagwBCyADQQhqEAkgAygCXAsiATYCHCADKAJYQQJ0IgQgBSgC.CCIAKAIAaiABIAIoAhgiB2siBkECdSIJQQFrIg02AgAgAyAAKAIcIgI2AlwgACgCICEPIAMgAEEYajYCECADQZzZADYCDCADIANB3ABqNgIIIAACfyACIA9J.BEAgAkF/NgIAIAJBBGoMAQsgA0EIahAJIAMoAlwLIgI2AhwgACgCACAEaiACIAAoAhhrQQJ1QQFrNgIEIAMoAlghBCADIAUoAggiACgCHCICNgJcIAAoAiAh.DyADIABBGGo2AhAgA0Gc2QA2AgwgAyADQdwAajYCCCAAAn8gAiAPSQRAIAJBfzYCACACQQRqDAELIANBCGoQCSADKAJcCyICNgIcIAAoAgAgBEECdGogAiAA.KAIYa0ECdUEBazYCCCAFKAIIIgAoAhwgACgCGCIAa0ECdSATSg0CIAMoAlghAgJAAkAgASAHRwRAIAAgDUECdGogAjYCAEEAIQQgBkF8Rg0BCyAAIAZqIAJB.AWo2AgAgCUEBaiIEQX9GDQELIAAgBEECdGogAygCWEECajYCAAsgAyADKAJMIgA2AlwgAygCUCECIAMgA0HIAGo2AhAgAyADQdgAajYCDCADIANB3ABqNgII.IAMCfyAAIAJJBEAgACADKAJYNgIAIABBBGoMAQsgA0EIahAJIAMoAlwLIgA2AkwgAEEEaygCACEACyADIAA2AiAgECADQSBqEOQBIAUoAigiASAFKAIkRg0G.IAsgCEF/c2ohAgNAIAIgAUEIaygCACIASQRAQX8hAgwLCyAAIAJHDQcgAUEEay0AACEEIAFBDGsiACgCACEBIAUgADYCKCABQQBIBEBBfyECDAsLIAMoAkxB.BGsoAgAhACADIAsgAUF/c2o2AhwgAyADQRxqIgE2AlggAyADQTBqNgJcIANBCGogA0HcAGogASADQdgAahCMASADKAIIAn8gBEEBcQRAQX8gAEF/Rg0BGiAA.QQFqIgEgAEECayABQQNwGwwBC0F/IABBf0YNABogAEEBayAAQQNwDQAaIABBAmoLNgIMIAUoAigiASAFKAIkRw0ACwwGC0F/IQYgBygCACICIAlBAnRqQX82.AgBBfwwDC0F/IQIMBwsgBygCACICIAZBAnRqKAIACyEGIAIgCUECdGogBjYCAEF/IAFBAWoiEiABQQJrIBJBA3AbIgFBf0YNABogAiABQQJ0aigCAAshASAC.IBhqIAE2AgACfyAEQX9GBEAgAiANakF/NgIAQX8hAUF/DAELAkACQAJAIARBA3AEQCAEQQFrIQEMAQsgBEECaiIBQX9GDQELIAIgDWogAiABQQJ0aigCACIC.NgIAIAJBf0YNASAHKAIYIAJBAnRqIA82AgAMAQsgAiANakF/NgIAC0F/IQFBfyAEQQFqIgIgBEECayACQQNwGyICQX9GDQAaIAcoAgAgAkECdGooAgAhASAC.CyECIAMgATYCWCAFKAKEAyIEIAZBAnQiDWoiDyAPKAIAIAQgAUECdGooAgBqNgIAIAcoAhghBCAGQX9HBEAgBCANaiAEIAMoAlhBAnRqKAIANgIACyACIQEC.QANAIAFBf0YNASAHKAIAIAFBAnRqIAY2AgAgAgJ/QX8gAUEBaiINIAFBAmsgDUEDcBsiAUF/Rg0AGkF/IAcoAgwgAUECdGooAgAiAUF/Rg0AGiABQQFqIg0g.AUECayANQQNwGwsiAUcNAAtBfyECDAULIAQgAygCWCICQQJ0akF/NgIAIBUEfyAABSADIAMoAigiADYCXCADKAIsIQEgAyADQSRqNgIQIAMgA0HYAGo2Agwg.AyADQdwAajYCCCADAn8gACABSQRAIAAgAjYCACAAQQRqDAELIANBCGoQCSADKAJcCzYCKCADKAJMC0EEayIAIAk2AgAgACgCACEACyADIAA2AiAgECADQSBq.EOQBCyAIQQFqIgggC0cNAAsgCyEIC0F/IQIgBSgCCCIGKAIcIAYoAhhrQQJ1IBNKDQAgAygCTCIBIAMoAkhHBEAgBUHIAGohEyAFQTxqIQ0gBUG4AmohDwNA.IAFBBGsiACgCACEBIAMgADYCTCADIAE2AlgCQAJAAkAgBS8BjgJBgQRNBEAgBSgC4AIgBSgC6AIiAEEDdmoiASAFKALkAk8NASABLQAAIAUgAEEBajYC6AIg.AEEHcXZBAXFFDQEMAgsgDxAQDQELIANBADoACCANIANBCGoQRCADIAUoAkwiADYCXCAFKAJQIQEgAyATNgIQIAMgA0HYAGo2AgwgAyADQdwAajYCCCAAIAFJ.BEAgACADKAJYNgIAIAUgAEEEajYCTAwCCyADQQhqEAkgBSADKAJcNgJMDAELAkAgCCAFKAIIIgcoAgQgBygCACIJa0ECdUEDbk4NAEF/IQACQCAHKAIYIhAC.f0F/IAMoAlgiC0F/Rg0AGkF/IAtBAWoiASALQQJrIAFBA3AbIgFBf0YNABogCSABQQJ0aigCAAsiF0ECdGooAgAiAUF/RgRAQQEhBkF/IQQMAQtBASEGQX8h.BCABQQFqIhUgAUECayAVQQNwGyIBQX9GDQBBACEGIAFBAWoiACABQQJrIABBA3AbIgBBf0cEQCAJIABBAnRqKAIAIQQLIAEhAAtBfyEBIBAgBEECdGooAgAi.EEF/RwRAIBBBAWoiASAQQQJrIAFBA3AbIQELIAAgC0YNACABIAtGDQAgACABRg0AIAtBf0cEQCAHKAIMIAtBAnRqKAIAQX9HDQELIAZFBEAgBygCDCAAQQJ0.aigCAEF/Rw0BC0F/IQYCf0F/IAFBf0YNABogBygCDCABQQJ0aigCAEF/Rw0BQX8gAUEBaiIQIAFBAmsgEEEDcBsiEEF/Rg0AGiAJIBBBAnRqKAIACyEVIAMg.CEEDbCIQNgIIIAcoAgwiCSAQQQJ0aiALNgIAIAkgC0ECdGogEDYCACAJIAMoAghBAWoiC0ECdGogADYCACAJIABBAnRqIAs2AgAgCSADKAIIQQJqIgBBAnRq.IAE2AgAgCSABQQJ0aiAANgIAIAcoAgAiACADKAIIIgtBAnRqIgEgBDYCACABIBc2AgggASAVNgIEIAUoAngiByAEQX8gC0EBaiIBGyIEQQN2Qfz///8BcWoi.CSAJKAIAQX4gBHdxNgIAIAFBf0cEQCAAIAFBAnRqKAIAIQYLIAcgBkEDdkH8////AXFqIgEgASgCAEF+IAZ3cTYCAEF/IQEgC0ECaiILQX9HBEAgACALQQJ0.aigCACEBCyAHIAFBA3ZB/P///wFxaiIAIAAoAgBBfiABd3E2AgAgA0EBOgBcIA0gA0HcAGoQRCATIANBCGoQiwEgCEEBaiEIDAELDAMLIAMoAkwiASADKAJI.Rw0ACyAFKAIIIQYLIAggBigCBCAGKAIAa0ECdUEDbkcNACAGKAIcIAYoAhhrQQJ1IQIgAygCJCIEIAMoAigiC0YNAQNAIAYoAhgiCCACQQFrIgFBAnRqIgAo.AgBBf0YEQANAIAJBAmshASACQQFrIQIgCCABQQJ0aiIAKAIAQX9GDQALCyAEKAIAIgggAU0EQCADIAY2AgggACgCACEAIANBAToAFCADIAA2AhAgAyAANgIM.IABBf0cEQANAIAEgBSgCCCgCACAAQQJ0aiIAKAIARwRAQX8hAgwFCyAAIAg2AgAgA0EIahBvIAMoAhAiAEF/Rw0ACyAFKAIIIQYLIAYoAhgiByABQQJ0aiEA.IAhBf0cEQCAHIAhBAnRqIAAoAgA2AgALIABBfzYCAEEBIAh0IQAgBSgCeCIHIAhBA3ZB/P///wFxaiIIAn9BASABdCIJIAcgAUEDdkH8////AXFqIgEoAgBx.BEAgCCgCACAAcgwBCyAIKAIAIABBf3NxCzYCACABIAEoAgAgCUF/c3E2AgAgAkEBayECCyAEQQRqIgQgC0cNAAsLIAMoAiQhBAsgBARAIAMgBDYCKCAEEAUL.IAMoAjgiAARAA0AgACgCACAAEAUiAA0ACwsgAygCMCEAIANBADYCMCAABEAgABAFCyADKAJIIgAEQCADIAA2AkwgABAFCyADQeAAaiQAIAJBf0YNACARKAIA.IBEpAxAiGqdqIQEgESkDCCAafachCCAFKAIEKAIgIgAgAC8BJjsBJiAAIAE2AgAgAEIANwMQIAAgCK03AwggBSgCBCIALwEkIgFBCHQgAUEIdnIiCEH//wNx.QYEETQRAIAAoAiAiACAAKQMQIA6sfDcDEAsCQCAFKALYASAFKALcAUYNACAFKAIIIgEoAgAhACABKAIEIQECQCAIQf//A3FBgQRPBEAgACABRg0CDAELIAAg.AUYNAQNAAkAgDCAKNgIMIAUgDEEMahCQAUUNACAKQQNqIgogBSgCCCIAKAIEIAAoAgBrQQJ1SQ0BDAMLC0EAIQoMAgsDQAJAIAwgCjYCCCAFIAxBCGoQjwFF.DQAgCkEDaiIKIAUoAggiACgCBCAAKAIAa0ECdUkNAQwCCwtBACEKDAELIBQQjgEgBSgC2AEiCiAFKALcAUcEQEEAIQ4DQCAKIA5BkAFsIgBqQQRqIAUoAggQ.fCAWKAIAIgQgAGoiASgChAEiCiABKAKIASIBRwRAA0AgFigCACEIIAwgCigCADYCBCAAIAhqQQRqIAxBBGoQeiAKQQRqIgogAUcNAAsgFigCACEEC0EAIQog.ACAEakEEahB7RQ0CIA5BAWoiDiAFKALcASAFKALYASIKa0GQAW1JDQALCyAFQbgBaiAFKAIIIgAoAhwgACgCGGtBAnUQRSAFKALYASIEIAUoAtwBRwRAQQAh.CgNAIAQgCkGQAWxqIgBB6ABqIAAoAjwgACgCOGtBAnUiACAFKAIIIgEoAhwgASgCGGtBAnUiASAAIAFKGxBFIApBAWoiCiAFKALcASAFKALYASIEa0GQAW1J.DQALCyAFIAIQjQEhCgsMAQtBACEKCyAMQdAAaiQAIAoLJQEBfyAAQdwONgIAIAAoAggiAQRAIAAgATYCDCABEAULIAAQBQv3NwIYfwN+IwBB0ABrIgwkACAA.QQA2AoQBIAAoApQBBEAgACgCkAEiCQRAA0AgCSgCACAJEAUiCQ0ACwsgAEEANgKQAQJAIAAoAowBIgFFDQAgAUECdCIBRQ0AIAAoAogBQQAgAfwLAAsgAEEA.NgKUAQsCQAJAIAAoAgQiCS0AJCIBQQh0IAktACVyQYEETQRAIAkoAiAhAgJAIAFB/wFxQQFNBEAgAikDECIZQgR8IhogAikDCFUNAyACKAIAIBmnaigAACEL.IAIgGjcDEAwBC0EBIAxBEGogAhASRQ0CIAAoAgQiCS0AJCEBIAwoAhAhCwsgACALNgKEAQsgCSgCICECAkAgAUH/AXFBAU0EQCACKQMQIhlCBHwiGiACKQMI.VQRAQQAhCQwECyAMIAIoAgAgGadqKAAAIgE2AkwgAiAaNwMQDAELQQEgDEHMAGogAhASRQRAQQAhCQwDCyAAKAIEIQkgDCgCTCEBCyAAIAE2ApwBIAkoAiAh.AQJAIAktACRBAU0EQCABKQMQIhlCBHwiGiABKQMIVQRAQQAhCQwECyAMIAEoAgAgGadqKAAAIg82AkggASAaNwMQDAELQQEgDEHIAGogARASRQRAQQAhCQwD.CyAMKAJIIQ8LQQAhCSAPQdWq1aoFSw0BIAAoApwBIgEgD0EDbCICSw0BIAJBAXatIAGsIhlCAX0gGX5CAYhWDQEgACgCBCICKAIgIgEpAwgiGiABKQMQIhlX.DQEgASgCACIFIBmnai0AACEGIAEgGUIBfCIbNwMQAkAgAi0AJEEBTQRAIBogGUIFfCIZUw0DIAwgBSAbp2ooAAAiCzYCRCABIBk3AxAMAQtBASAMQcQAaiAB.EBJFDQIgDCgCRCELCyALIA9LDQEgDyALQQNuIAtqSw0BIAAoAgQiASgCICECAkAgAS0AJEEBTQRAIAIpAxAiGUIEfCIaIAIpAwhVDQMgDCACKAIAIBmnaigA.ACIBNgJAIAIgGjcDEAwBC0EBIAxBQGsgAhASRQ0CIAwoAkAhAQsgASALSw0BIAAgACgCGDYCHEHYABAGEH4hBSAAKAIIIQIgACAFNgIIIAIEQCACECogACgC.CEUNAgsgACAAKAKgATYCpAEgAEGgAWogDxBHIAAgACgCrAE2ArABIABBrAFqIA8QRyAAQQA2AkAgAEF/NgJcIABCfzcCVCAAIAAoAiQ2AiggACAAKAIwNgI0.IAAgACgCSDYCTCAAQdgBaiITEJIBIBMgBhCRASAAKAIIIA8gACgCnAEgAWoQfUUNASAAKAKcASECIAxBAToAECAAQfgAaiABIAJqIAxBEGoQGgJAIAAoAgQi.AS0AJCICQQh0IAEtACVyQYEETQRAIAEoAiAhAQJAIAJBAU0EQCABKQMQIhlCBHwiGiABKQMIVQ0FIAEoAgAgGadqKAAAIQ8gASAaNwMQDAELQQEgDEE8aiAB.EBJFDQQgDCgCPCEPCyAPRQ0DIA+tIAAoAgQoAiAiASkDCCABKQMQfVUNAyAMQRBqIgFBADsBJiABQQA2AgAgAUIANwMIIAFCADcDECABQgA3AxggAUIANwAd.IAAoAgQoAiAiAigCACACKQMQIhmnaiAPaiEFIAIpAwggGX2nIA9rIQcgASACLwEmOwEmIAEgBTYCACABQgA3AxAgASAHrTcDCCAAIAEQRiIPQX9HDQEMAwtB.fyEPIAAgASgCIBBGQX9GDQILIABB6AFqIhYiASAANgKQASAAIAAoAgAoAiARAAAoAiAiAigCACACKAIQaiECIAAgACgCACgCIBEAACgCICIFKQMIIAUpAxB9.pyEFIAEgACAAKAIAKAIgEQAAKAIgLwEmOwEmIAEgAjYCACABQgA3AxAgASAFrTcDCCAAIAY2AvQCIAxBEGoiAUEAOwEmIAFBADYCACABQgA3AwggAUIANwMQ.IAFCADcDGCABQgA3AB0CQCAWIAEiFBDpAUUNAEEAIQcjAEHQAGsiAyQAIANBADYCQCADQgA3AjggA0IANwMoIANCADcDICADQYCAgPwDNgIwIANBADYCHCAD.QgA3AhQgACIGKAJ8IRACQAJAIAtBAEoEQCAAKALYASAAKALcAUchFQNAAkACfwJ/AkACQAJAAkACQAJAIAYtALQCQQFHDQACQAJAIAYoAqgCIgUgBigCsAIi.AkEDdmoiACAGKAKsAiIETw0AIAAtAAAgBiACQQFqIgA2ArACIAJBB3F2QQFxRQ0AQQAhAQJAIAQgBSAAQQN2IgdqIgpNBEAgACECDAELIAotAAAgBiACQQJq.IgI2ArACIAJBA3YhByAAQQdxdkEBcSEBCyAEIAUgB2oiAEsEQCAALQAAIAYgAkEBajYCsAIgAkEHcXZBAXRBAnEgAXIhAQtBfyEFIAFBAXQOBwINAQ0BDQMN.CyADKAI8IgAgAygCOEYEQEF/IQUMDQtBfyEEIAYoAggiBygCGCIRAn9BfyAAQQRrIhIoAgAiAUF/Rg0AGkF/IAFBAWoiACABQQJrIABBA3AbIgBBf0YNABog.BygCACAAQQJ0aigCAAsiCkECdGooAgAiAEF/RwRAIABBAWoiAiAAQQJrIAJBA3AbIQQLIAEgBEYEQEF/IQUMDQsgAUF/RwRAQX8hBSAHKAIMIAFBAnRqKAIA.QX9HDQ0LIAcoAgwhACAEQX9HBEBBfyEFIAAgBEECdGooAgBBf0cNDQsgACABQQJ0aiAIQQNsIg1BAWoiAjYCACAAIAJBAnQiF2ogATYCACAAIARBAnRqIA1B.AmoiDjYCACAAIA5BAnQiGGogBDYCAEF/IQACf0F/IAFBf0YNABoCQCABQQNwBEAgAUEBayECDAELQX8gAUECaiICQX9GDQEaCyAHKAIAIAJBAnRqKAIACyEB.AkAgBEF/Rg0AIARBAWoiAiAEQQJrIAJBA3AbIgJBf0YNACAHKAIAIAJBAnRqKAIAIQALQX8hBSABIApGDQwgACAKRg0MIAcoAgAiAiANQQJ0aiAKNgIAIAIg.F2ogADYCACACIBhqIAE2AgAgAUF/RwRAIBEgAUECdGogDjYCAAsgBigCeCAKQQN2Qfz///8BcWoiACAAKAIAQX4gCndxNgIAIBIgDTYCAAwJCyADKAI8IgAg.AygCOEYNCyAGKAIIIgIoAgwhBCAAQQRrKAIAIgBBf0cEQCAEIABBAnRqKAIAQX9HDQwLIAQgCEEDbCIHQQJBASABQQJGIgobaiINQQJ0IhFqIAA2AgAgBCAA.QQJ0aiANNgIAIAMgAigCHCIBNgJMIAIoAiAhBCADIAJBGGo2AgggA0Gc2QA2AgQgAyADQcwAajYCACACAn8gASAESQRAIAFBfzYCACABQQRqDAELIAMQCSAD.KAJMCyIENgIcIAYoAggiASgCHCABKAIYIg5rQQJ1IBBKDQsgASgCACIBIBFqIAQgAigCGCICa0ECdUEBayIFNgIAIAIgBEcEQCAOIAVBAnRqIA02AgALIAcg.B0ECaiAKGyECIAEgB0ECdGogCkECdGoCfyAAQX9GBEAgASACQQJ0akF/NgIAQX8MAQsCQAJAAkAgAEEDcARAIABBAWshBAwBCyAAQQJqIgRBf0YNAQsgASAC.QQJ0aiABIARBAnRqKAIAIgU2AgAgBUF/Rg0BIA4gBUECdGogAjYCAAwBCyABIAJBAnRqQX82AgALQX8gAEEBaiICIABBAmsgAkEDcBsiAEF/Rg0AGiABIABB.AnRqKAIACzYCACADKAI8QQRrIAc2AgAMAgtBfyEFIAMoAjgiDSADKAI8IgBGDQogAEEEayIBKAIAIQcgAyABNgI8AkAgAygCJCIERQRAIAEhAAwBCyADKAIs.RQRAIAEhAAwBCyADKAIgAn8gBEH/////B2ogCHEgBGlBAUsiCkUNABogCCAEIAhLDQAaIAggBHALIg5BAnRqKAIAIgJFBEAgASEADAELIAIoAgAiAkUEQCAB.IQAMAQsCQCAKRQRAIARBAWshBANAAkAgCCACKAIEIgpHBEAgBCAKcSAORg0BIAEhAAwFCyACKAIIIAhGDQMLIAIoAgAiAg0ACyABIQAMAgsDQAJAIAggAigC.BCIKRwRAIAQgCk0EfyAKIARwBSAKCyAORg0BIAEhAAwECyACKAIIIAhGDQILIAIoAgAiAg0ACyABIQAMAQsgAyABNgJMIAMoAkAhBCADIAJBDGo2AgQgAyAD.QThqNgIIIAMgA0HMAGo2AgACQCABIARJBEAgASACKAIMNgIADAELIAMQCSADKAJMIQALIAMgADYCPCADKAI4IQ0LIAAgDUYNCiAAQQRrKAIAIgIgB0YNCiAG.KAIIIQQgAkF/RiIRRQRAIAQoAgwgAkECdGooAgBBf0cNCwsgBCgCDCEBIAdBf0cEQCABIAdBAnRqKAIAQX9HDQsLIAEgAkECdGogCEEDbCIKQQJqIg42AgAg.ASAOQQJ0Ig1qIAI2AgAgASAHQQJ0aiAKQQFqIgU2AgAgASAFQQJ0IhJqIAc2AgAgEQ0CIAJBA3AEQCACQQFrIQEMBQsgAkECaiIBQX9HDQQgBCgCACEFQX8M.BQsgAyAIQQNsNgJIIAMgBigCCCIBKAIcIgA2AkwgASgCICECIAMgAUEYajYCCCADQZzZADYCBCADIANBzABqNgIAIAECfyAAIAJJBEAgAEF/NgIAIABBBGoM.AQsgAxAJIAMoAkwLIgI2AhwgAygCSEECdCIHIAYoAggiACgCAGogAiABKAIYIgRrIgVBAnUiCkEBayINNgIAIAMgACgCHCIBNgJMIAAoAiAhDiADIABBGGo2.AgggA0Gc2QA2AgQgAyADQcwAajYCACAAAn8gASAOSQRAIAFBfzYCACABQQRqDAELIAMQCSADKAJMCyIBNgIcIAAoAgAgB2ogASAAKAIYa0ECdUEBazYCBCAD.KAJIIQcgAyAGKAIIIgAoAhwiATYCTCAAKAIgIQ4gAyAAQRhqNgIIIANBnNkANgIEIAMgA0HMAGo2AgAgAAJ/IAEgDkkEQCABQX82AgAgAUEEagwBCyADEAkg.AygCTAsiATYCHCAAKAIAIAdBAnRqIAEgACgCGGtBAnVBAWs2AgggBigCCCIAKAIcIAAoAhgiAGtBAnUgEEoNAiADKAJIIQcCQAJAIAIgBEcEQCAAIA1BAnRq.IAc2AgBBACEBIAVBfEYNAQsgACAFaiAHQQFqNgIAIApBAWoiAUF/Rg0BCyAAIAFBAnRqIAMoAkhBAmo2AgALIAMgAygCPCIANgJMIAMoAkAhASADIANBOGo2.AgggAyADQcgAajYCBCADIANBzABqNgIAIAMCfyAAIAFJBEAgACADKAJINgIAIABBBGoMAQsgAxAJIAMoAkwLNgI8CyAGKAIoIgIgBigCJEYNBSALIAhBf3Nq.IQEDQCABIAJBCGsoAgAiAEkEQEF/IQUMCgsgACABRw0GIAJBBGstAAAhBSACQQxrIgAoAgAhAiAGIAA2AiggAkEASARAQX8hBQwKCyADKAI8QQRrKAIAIQAg.AyALIAJBf3NqNgIQIAMgA0EQaiICNgJIIAMgA0EgajYCTCADIANBzABqIAIgA0HIAGoQjAEgAygCAAJ/IAVBAXEEQEF/IABBf0YNARogAEEBaiICIABBAmsg.AkEDcBsMAQtBfyAAQX9GDQAaIABBAWsgAEEDcA0AGiAAQQJqCzYCDCAGKAIoIgIgBigCJEcNAAsMBQtBfyEBIAQoAgAiBSAKQQJ0akF/NgIAQX8MAwtBfyEF.DAYLIAQoAgAiBSABQQJ0aigCAAshASAFIApBAnRqIAE2AgBBfyACQQFqIhEgAkECayARQQNwGyICQX9GDQAaIAUgAkECdGooAgALIQIgBSASaiACNgIAAn8g.B0F/RgRAIAUgDWpBfzYCAEF/IQJBfwwBCwJAAkACQCAHQQNwBEAgB0EBayECDAELIAdBAmoiAkF/Rg0BCyAFIA1qIAUgAkECdGooAgAiAjYCACACQX9GDQEg.BCgCGCACQQJ0aiAONgIADAELIAUgDWpBfzYCAAtBfyECQX8gB0EBaiIFIAdBAmsgBUEDcBsiBUF/Rg0AGiAEKAIAIAVBAnRqKAIAIQIgBQshBSADIAI2Akgg.BCgCGCEHIAFBf0cEQCAHIAFBAnRqIAcgAkECdGooAgA2AgALIAUhAgJAA0AgAkF/Rg0BIAQoAgAgAkECdGogATYCAAJ/QX8gAkEBaiINIAJBAmsgDUEDcBsi.AkF/Rg0AGkF/IAQoAgwgAkECdGooAgAiAkF/Rg0AGiACQQFqIg0gAkECayANQQNwGwsiAiAFRw0AC0F/IQUMBAsgByADKAJIIgFBAnRqQX82AgAgFQR/IAAF.IAMgAygCGCIANgJMIAMoAhwhAiADIANBFGo2AgggAyADQcgAajYCBCADIANBzABqNgIAIAMCfyAAIAJJBEAgACABNgIAIABBBGoMAQsgAxAJIAMoAkwLNgIY.IAMoAjwLQQRrIAo2AgALIAhBAWoiCCALRw0ACyALIQcLQX8hBSAGKAIIIggoAhwgCCgCGGtBAnUgEEoNACADKAI8IgIgAygCOEcEQCAGQcgAaiENIAZBPGoh.DiAGQbgCaiEVA0AgAkEEayIAKAIAIQEgAyAANgI8IAMgATYCSAJAAkACQCAGLwGOAkGBBE0EQCAGKALgAiAGKALoAiIAQQN2aiIBIAYoAuQCTw0BIAEtAAAg.BiAAQQFqNgLoAiAAQQdxdkEBcUUNAQwCCyAVEBANAQsgA0EAOgAAIA4gAxBEIAMgBigCTCIANgJMIAYoAlAhASADIA02AgggAyADQcgAajYCBCADIANBzABq.NgIAIAAgAUkEQCAAIAMoAkg2AgAgBiAAQQRqNgJMDAILIAMQCSAGIAMoAkw2AkwMAQsCQCAHIAYoAggiCigCBCAKKAIAIhBrQQJ1QQNuTg0AQX8hAQJAIAoo.AhgiBAJ/QX8gAygCSCILQX9GDQAaQX8gC0EBaiIAIAtBAmsgAEEDcBsiAEF/Rg0AGiAQIABBAnRqKAIACyIRQQJ0aigCACICQX9GBEBBASEIQX8hAAwBC0EB.IQhBfyEAIAJBAWoiEiACQQJrIBJBA3AbIgJBf0YNAEEAIQggAkEBaiIBIAJBAmsgAUEDcBsiAUF/RwRAIBAgAUECdGooAgAhAAsgAiEBC0F/IQIgBCAAQQJ0.aigCACIEQX9HBEAgBEEBaiICIARBAmsgAkEDcBshAgsgASALRg0AIAIgC0YNACABIAJGDQAgC0F/RwRAIAooAgwgC0ECdGooAgBBf0cNAQsgCEUEQCAKKAIM.IAFBAnRqKAIAQX9HDQELQX8hBAJ/QX8gAkF/Rg0AGiAKKAIMIAJBAnRqKAIAQX9HDQFBfyACQQFqIgggAkECayAIQQNwGyIIQX9GDQAaIBAgCEECdGooAgAL.IRIgAyAHQQNsIhA2AgAgCigCDCIIIBBBAnRqIAs2AgAgCCALQQJ0aiAQNgIAIAggAygCAEEBaiILQQJ0aiABNgIAIAggAUECdGogCzYCACAIIAMoAgBBAmoi.AUECdGogAjYCACAIIAJBAnRqIAE2AgAgCigCACIBIAMoAgAiC0ECdGoiAiAANgIAIAIgETYCCCACIBI2AgQgBigCeCIIIABBfyALQQFqIgAbIgJBA3ZB/P//./wFxaiIKIAooAgBBfiACd3E2AgAgAEF/RwRAIAEgAEECdGooAgAhBAsgCCAEQQN2Qfz///8BcWoiACAAKAIAQX4gBHdxNgIAQX8hAiALQQJqIgBBf0cEQCAB.IABBAnRqKAIAIQILIAggAkEDdkH8////AXFqIgAgACgCAEF+IAJ3cTYCACADQQE6AEwgDiADQcwAahBEIA0gAxCLASAHQQFqIQcMAQsMAwsgAygCPCICIAMo.AjhHDQALIAYoAgghCAsgByAIKAIEIAgoAgBrQQJ1QQNuRw0AIAgoAhwgCCgCGGtBAnUhBSADKAIUIgQgAygCGCILRg0BA0AgCCgCGCIAIAVBAWsiAkECdGoi.ASgCAEF/RgRAA0AgBUECayECIAVBAWshBSAAIAJBAnRqIgEoAgBBf0YNAAsLIAQoAgAiACACTQRAIAMgCDYCACABKAIAIQEgA0EBOgAMIAMgATYCCCADIAE2.AgQgAUF/RwRAA0AgAiAGKAIIKAIAIAFBAnRqIgEoAgBHBEBBfyEFDAULIAEgADYCACADEG8gAygCCCIBQX9HDQALIAYoAgghCAsgCCgCGCIHIAJBAnRqIQEg.AEF/RwRAIAcgAEECdGogASgCADYCAAsgAUF/NgIAQQEgAHQhASAGKAJ4IgcgAEEDdkH8////AXFqIgACf0EBIAJ0IgogByACQQN2Qfz///8BcWoiAigCAHEE.QCAAKAIAIAFyDAELIAAoAgAgAUF/c3ELNgIAIAIgAigCACAKQX9zcTYCACAFQQFrIQULIARBBGoiBCALRw0ACwsgAygCFCEECyAEBEAgAyAENgIYIAQQBQsg.AygCKCICBEADQCACKAIAIAIQBSICDQALCyADKAIgIQAgA0EANgIgIAAEQCAAEAULIAMoAjgiAARAIAMgADYCPCAAEAULIANB0ABqJAAgBUF/Rg0AIBQoAgAg.FCkDECIZp2ohASAUKQMIIBl9pyECIAYoAgQoAiAiACAALwEmOwEmIAAgATYCACAAQgA3AxAgACACrTcDCCAGKAIEIgAvASQiAUEIdCABQQh2ciICQf//A3FB.gQRNBEAgACgCICIAIAApAxAgD6x8NwMQCwJAIAYoAtgBIAYoAtwBRg0AIAYoAggiASgCACEAIAEoAgQhAQJAIAJB//8DcUGBBE8EQCAAIAFGDQIMAQsgACAB.Rg0BA0ACQCAMIAk2AgwgBiAMQQxqEJABRQ0AIAlBA2oiCSAGKAIIIgAoAgQgACgCAGtBAnVJDQEMAwsLQQAhCQwCCwNAAkAgDCAJNgIIIAYgDEEIahCPAUUN.ACAJQQNqIgkgBigCCCIAKAIEIAAoAgBrQQJ1SQ0BDAILC0EAIQkMAQsgFhCOASAGKALYASIJIAYoAtwBRwRAQQAhCwNAIAkgC0GQAWwiAGpBBGogBigCCBB8.IBMoAgAiASAAaiICKAKEASIJIAIoAogBIgJHBEADQCATKAIAIQEgDCAJKAIANgIEIAAgAWpBBGogDEEEahB6IAlBBGoiCSACRw0ACyATKAIAIQELQQAhCSAA.IAFqQQRqEHtFDQIgC0EBaiILIAYoAtwBIAYoAtgBIglrQZABbUkNAAsLIAZBuAFqIAYoAggiACgCHCAAKAIYa0ECdRBFIAYoAtgBIgEgBigC3AFHBEBBACEJ.A0AgASAJQZABbGoiAEHoAGogACgCPCAAKAI4a0ECdSIAIAYoAggiASgCHCABKAIYa0ECdSIBIAAgAUobEEUgCUEBaiIJIAYoAtwBIAYoAtgBIgFrQZABbUkN.AAsLIAYgBRCNASEJCwwBC0EAIQkLIAxB0ABqJAAgCQsjAQF/IABB3A42AgAgACgCCCIBBEAgACABNgIMIAEQBQsgAAsWACAAKAIwIgAgASAAKAIAKAIQEQEA.CxYAIAAoAjAiACABIAAoAgAoAgwRAQALFAAgACgCMCIAIAAoAgAoAiQRAAALqQEBA38gAEGI2AA2AgAgACgCMCEBIABBADYCMCABBEAgASABKAIAKAIEEQIA.CyAAQeDnADYCACAAKAIUIgEEQCAAIAE2AhggARAFCyAAKAIIIgEEQCABIgIgACgCDCIDRwRAA0AgA0EEayIDKAIAIQIgA0EANgIAIAIEQCACIAIoAgAoAgQR.AgALIAEgA0cNAAsgACgCCCECCyAAIAE2AgwgAhAFCyAAEAULpwEBA38gAEGI2AA2AgAgACgCMCEBIABBADYCMCABBEAgASABKAIAKAIEEQIACyAAQeDnADYC.ACAAKAIUIgEEQCAAIAE2AhggARAFCyAAKAIIIgEEQCABIgIgACgCDCIDRwRAA0AgA0EEayIDKAIAIQIgA0EANgIAIAIEQCACIAIoAgAoAgQRAgALIAEgA0cN.AAsgACgCCCECCyAAIAE2AgwgAhAFCyAACxQAIAAoAjAiACAAKAIAKAIcEQAACxQAIAAoAjAiACAAKAIAKAIYEQAAC9sKAgJ/AX4gACgCICIBKQMIIAEpAxAi.A1cEQEEADwsgASgCACADp2otAAAhAiABIANCAXw3AxAgACgCMCEBIABBADYCMCABBEAgASABKAIAKAIEEQIACwJAAkACfwJAAkACQCACDgMAAQIEC0GAAxAG.IgFB9NgANgIAIAFBBGpBAEHQAPwLACABQgA3A2AgAUF/NgJcIAFCfzcCVCABQgA3A2ggAUIANwNwIAFCADcDeCABQgA3A4ABIAFCADcDiAEgAUIANwOQASAB.QgA3ApwBIAFBgICA/AM2ApgBIAFCADcCpAEgAUIANwKsASABQgA3ArQBIAFCADcCvAEgAUIANwLEASABQgA3AswBIAFC/////w83AtQBIAFCADcC3AEgAUHo.AWoiAkEAOwEmIAJBADYCACACQgA3AwggAkIANwMQIAJCADcDGCACQgA3AB0gAUGQAmoiAkEAOwEmIAJBADYCACACQgA3AwggAkIANwMQIAJCADcDGCACQgA3.AB0gAUG4AmoiAkIANwAFIAJCADcCACABQcgCaiICQQA7ASYgAkEANgIAIAJCADcDCCACQgA3AxAgAkIANwMYIAJCADcAHSABQQA2AvgCIAFCADcD8AIgAQwC.C0GoAxAGIgFBqNkANgIAIAFBBGpBAEHQAPwLACABQgA3A2AgAUF/NgJcIAFCfzcCVCABQgA3A2ggAUIANwNwIAFCADcDeCABQgA3A4ABIAFCADcDiAEgAUIA.NwOQASABQgA3ApwBIAFBgICA/AM2ApgBIAFCADcCpAEgAUIANwKsASABQgA3ArQBIAFCADcCvAEgAUIANwLEASABQgA3AswBIAFC/////w83AtQBIAFCADcC.3AEgAUHoAWoiAkEAOwEmIAJBADYCACACQgA3AwggAkIANwMQIAJCADcDGCACQgA3AB0gAUGQAmoiAkEAOwEmIAJBADYCACACQgA3AwggAkIANwMQIAJCADcD.GCACQgA3AB0gAUG4AmoiAkIANwAFIAJCADcCACABQcgCaiICQQA7ASYgAkEANgIAIAJCADcDCCACQgA3AxAgAkIANwMYIAJCADcAHSABQgA3A4gDIAFCADcD.gAMgAUIANwP4AiABQgA3A/ACIAFBkANqIgJCADcABSACQgA3AgAgAUJ/NwOgAyABDAELQbgDEAYiAUHY2QA2AgAgAUEEakEAQdAA/AsAIAFCADcDYCABQX82.AlwgAUJ/NwJUIAFCADcDaCABQgA3A3AgAUIANwN4IAFCADcDgAEgAUIANwOIASABQgA3A5ABIAFCADcCnAEgAUGAgID8AzYCmAEgAUIANwKkASABQgA3AqwB.IAFCADcCtAEgAUIANwK8ASABQgA3AsQBIAFCADcCzAEgAUL/////DzcC1AEgAUIANwLcASABQegBaiICQQA7ASYgAkEANgIAIAJCADcDCCACQgA3AxAgAkIA.NwMYIAJCADcAHSABQZACaiICQQA7ASYgAkEANgIAIAJCADcDCCACQgA3AxAgAkIANwMYIAJCADcAHSABQbgCaiICQgA3AAUgAkIANwIAIAFByAJqIgJBADsB.JiACQQA2AgAgAkIANwMIIAJCADcDECACQgA3AxggAkIANwAdIAFCADcDiAMgAUIANwOAAyABQgA3A/gCIAFCADcD8AIgAUIANwOgAyABQoKAgIDwADcDmAMg.AUJ/NwOQAyABQgA3A6gDIAFCADcDsAMgAQshASAAKAIwIQIgACABNgIwIAJFDQEgAiACKAIAKAIEEQIACyAAKAIwIgENAEEADwsgASAAIAEoAgAoAggRAQAL.FgAgACgCMCIAIAEgACgCACgCFBEBAAt+AQN/IABB4OcANgIAIAAoAhQiAgRAIAAgAjYCGCACEAULIAAoAggiAgRAIAIiASAAKAIMIgNHBEADQCADQQRrIgMo.AgAhASADQQA2AgAgAQRAIAEgASgCACgCBBECAAsgAiADRw0ACyAAKAIIIQELIAAgAjYCDCABEAULIAALGwAgACgCLEUEQEEADwsgACAAKAIAKAIwEQAAC5gB.AgR/AX4jAEEQayICJAACQCAAKAIEIgNBf0YNACABKQMQQgBVDQAgASABKAIEIAAoAggiBCAAKAIMIgUgBSAEaxBTIAEpAxBCAFUNACABIAEoAgQgAEEUaiAA.QRhqQQQQUyABKQMQIAIgACgCBDoAD0IAVQ0AIAEgASgCBCACQQ9qIAJBEGpBARBTCyACQRBqJAAgA0F/Rwt1AQF/IABBpNYANgIAIABB3A42AhggACgCICIB.BEAgACABNgIkIAEQBQsgAEHEEzYCACAAKAIUIQEgAEEANgIUIAEEQCABIAEoAgAoAgQRAgALIABB7BE2AgAgACgCECEBIABBADYCECABBEAgARAXCyAAEAUL.cwEBfyAAQaTWADYCACAAQdwONgIYIAAoAiAiAQRAIAAgATYCJCABEAULIABBxBM2AgAgACgCFCEBIABBADYCFCABBEAgASABKAIAKAIEEQIACyAAQewRNgIA.IAAoAhAhASAAQQA2AhAgAQRAIAEQFwsgAAsTACAAQRhqIAAQNSAAKAIIEPMBCyUBAX8gAEEYaiAAEDUiAQR/IAEFIAAoAggLIAAoAgQoAiAQ7AELEQAgACAB.IAAoAgAoAjgRAQALMwACfyAAKAIELQAkQQJPBEBBACAAIAAoAgAoAjQRAABFDQEaCyAAQRhqIAAoAhAQiAELCwkDDn8BfQR+AAtAAQJ/IAFBAjYCACABKAIM.IAEoAggiA2siAkF7TQR/IAFBCGogAkEEaq0QYyABKAIIBSADCyACaiAAKAIENgAACy8AAn8gACgCBC0AJEEBTQRAQQAgACAAKAIAKAI0EQAARQ0BGgsgACAB.IAIQmwELC0MBAX8gACABNgIEIAEoAgQoAgggAkECdGooAgAhAyAAIAI2AgwgACADNgIIIAEoAgQoAgggAkECdGooAgAoAhxBCUYL+QECBH8BfiMAQSBrIgUk.AEF/IARBAnQgBEH/////A0sbIgYQBiEHIAYEQCAHQQAgBvwLAAsgASkCACEKIAUgBykCADcCECAFIAo3AgggBUEYaiAAQQhqIgggBUEQaiAFQQhqEGsgAiAF.KAIYNgIAIAIgBSgCHDYCBCADIARKBEBBACAEa0ECdCEJIAQhAANAIAEgAEECdCIGaikCACEKIAUgAiAGaiIGIAlqKQIANwIQIAUgCjcCCCAFQRhqIAggBUEQ.aiAFQQhqEGsgBiAFKAIYNgIAIAYgBSgCHDYCBCAAIARqIgAgA0gNAAsLIAcQBSAFQSBqJABBAQunBwIKfwJ+IwBBMGsiBiQAIAAoAggiB0ECa0EcTQRAIAAg.BzYCTCAAQX5BfyAHdCIJayIHNgJUIAAgCUF/czYCUCAAIAdBAXY2AlwgAEMAAABAIAezlTgCWAsgACAFNgI0AkACQCAEIAAoAigiBCgCBCAEKAIAa0ECdSIK.bCILIANKDQAgBkEANgIQIAZCADcDCCAKQQBMDQAgAEEIaiEMIABBLGohDSAAQeAAaiEOQQAhCQNAIAkgACgCKCIEKAIEIAQoAgAiBGtBAnVPDQIgBiAEIAlB.AnRqKAIANgIEIA0gBkEEaiAGQQhqEEgCQCAGKAIMIgQgBEEfdSIFcyAFayAGKAIIIgUgBUEfdSIHcyAHa2qtIAYoAhAiByAHQR91IghzIAhrrXwiEFAEQCAG.IAAoAlw2AggMAQsgBiAAKAJcIgisIhEgBax+IBB/pyIFNgIIIAYgESAErH4gEH+nIgQ2AgwgBCAEQR91Ig9zIA9rIAUgBUEfdSIEcyAEa2ohBCAHQQBOBEAg.BiAIIARrNgIQDAELIAYgBCAIazYCEAsgDhAQIQQgBigCCCEFAkAgBARAIAZBACAGKAIQazYCECAGQQAgBigCDGsiBzYCDCAGQQAgBWsiBTYCCAwBCyAGKAIM.IQcLAkAgBUEATgRAIAAoAlwiBSAGKAIQaiEEIAUgB2ohBQwBCwJ/IAdBAEgEQCAGKAIQIgQgBEEfdSIFcyAFawwBCyAAKAJUIAYoAhAiBEEfdSIFIAQgBXNr.agshBSAEQQBIBEAgByAHQR91IgRzIARrIQQMAQsgACgCVCAHQR91IgQgBCAHc2tqIQQLIAAoAlQhBwJAIAQgBXJFBEAgByIEIQUMAQsCQCAFDQAgBCAHRw0A.IAQhBQwBCwJAIAQNACAFIAdHDQAgBSEEDAELAkAgBQ0AIAQgACgCXCIITA0AIAhBAXQgBGshBEEAIQUMAQsCQCAFIAdHDQAgBCAAKAJcIghODQAgCEEBdCAE.ayEEDAELAkAgBCAHRw0AIAUgACgCXCIHTg0AIAdBAXQgBWshBQwBCyAEDQBBACEEIAUgACgCXCIHTA0AIAdBAXQgBWshBQsgASAJQQN0IgdqKQIAIRAgBiAE.NgIkIAYgBTYCICAGIBA3AhggBkEoaiAMIAZBIGogBkEYahBrIAIgB2oiBCAGKAIoNgIAIAQgBigCLDYCBCAJQQFqIgkgCkcNAAsLIAZBMGokACADIAtODwsQ.FQALDwAgAEGgzgA2AgAgABAFCw0AIABBoM4ANgIAIAALoQECAn8DfgJAIAEpAwgiBSABKQMQIgRCBHwiBlMNACABKAIAIASnaigAACEDIAEgBjcDECAFIARC.CHwiBFMNACABIAQ3AxAgA0EBcUUNACADZyIBQQJrQRxLDQAgAEEgIAFrIgE2AgggAEF+QX8gAXQiAmsiATYCECAAIAJBf3M2AgxBASECIAAgAUEBdjYCGCAA.QwAAAEAgAbOVOAIUCyACC6cHAgp/An4jAEEwayIGJAAgACgCCCIHQQJrQRxNBEAgACAHNgJMIABBfkF/IAd0IglrIgc2AlQgACAJQX9zNgJQIAAgB0EBdjYC.XCAAQwAAAEAgB7OVOAJYCyAAIAU2AjQCQAJAIAQgACgCKCIEKAIEIAQoAgBrQQJ1IgpsIgsgA0oNACAGQQA2AhAgBkIANwMIIApBAEwNACAAQQhqIQwgAEEs.aiENIABB4ABqIQ5BACEJA0AgCSAAKAIoIgQoAgQgBCgCACIEa0ECdU8NAiAGIAQgCUECdGooAgA2AgQgDSAGQQRqIAZBCGoQSgJAIAYoAgwiBCAEQR91IgVz.IAVrIAYoAggiBSAFQR91IgdzIAdraq0gBigCECIHIAdBH3UiCHMgCGutfCIQUARAIAYgACgCXDYCCAwBCyAGIAAoAlwiCKwiESAFrH4gEH+nIgU2AgggBiAR.IASsfiAQf6ciBDYCDCAEIARBH3UiD3MgD2sgBSAFQR91IgRzIARraiEEIAdBAE4EQCAGIAggBGs2AhAMAQsgBiAEIAhrNgIQCyAOEBAhBCAGKAIIIQUCQCAE.BEAgBkEAIAYoAhBrNgIQIAZBACAGKAIMayIHNgIMIAZBACAFayIFNgIIDAELIAYoAgwhBwsCQCAFQQBOBEAgACgCXCIFIAYoAhBqIQQgBSAHaiEFDAELAn8g.B0EASARAIAYoAhAiBCAEQR91IgVzIAVrDAELIAAoAlQgBigCECIEQR91IgUgBCAFc2tqCyEFIARBAEgEQCAHIAdBH3UiBHMgBGshBAwBCyAAKAJUIAdBH3Ui.BCAEIAdza2ohBAsgACgCVCEHAkAgBCAFckUEQCAHIgQhBQwBCwJAIAUNACAEIAdHDQAgBCEFDAELAkAgBA0AIAUgB0cNACAFIQQMAQsCQCAFDQAgBCAAKAJc.IghMDQAgCEEBdCAEayEEQQAhBQwBCwJAIAUgB0cNACAEIAAoAlwiCE4NACAIQQF0IARrIQQMAQsCQCAEIAdHDQAgBSAAKAJcIgdODQAgB0EBdCAFayEFDAEL.IAQNAEEAIQQgBSAAKAJcIgdMDQAgB0EBdCAFayEFCyABIAlBA3QiB2opAgAhECAGIAQ2AiQgBiAFNgIgIAYgEDcCGCAGQShqIAwgBkEgaiAGQRhqEGsgAiAH.aiIEIAYoAig2AgAgBCAGKAIsNgIEIAlBAWoiCSAKRw0ACwsgBkEwaiQAIAMgC04PCxAVAAvjAQEFfyABQQE2AgAgAUEIaiEEIAEoAgwgASgCCCICayIDQXtN.BH8gBCADQQRqrRBjIAQoAgAFIAILIANqIAAoAgQ2AAAgACgCCCIDIAAoAgxHBEBBACECA0AgAyACQQJ0aiEGIAEoAgwgASgCCCIDayIFQXtNBH8gBCAFQQRq.rRBjIAQoAgAFIAMLIAVqIAYoAgA2AAAgAkEBaiICIAAoAgwgACgCCCIDa0ECdUkNAAsLIAEoAgwgASgCCCICayIBQXtNBH8gBCABQQRqrRBjIAQoAgAFIAIL.IAFqIAAoAhQ2AAALDwAgAEGsxgA2AgAgABAFCw0AIABBrMYANgIAIAAL+QECBX8BfiMAQSBrIgUkAEF/IARBAnQgBEH/////A0sbIgYQBiEHIAYEQCAHQQAg.BvwLAAsgBykCACELIAUgASkCADcCGCAFIAs3AgggBUEQaiAAQQhqIgggBUEIaiAFQRhqEGwgAiAFKAIQNgIAIAIgBSgCFDYCBCADIARKBEBBACAEa0ECdCEJ.IAQhAANAIAIgAEECdCIKaiIGIAlqKQIAIQsgBSABIApqKQIANwIYIAUgCzcCCCAFQRBqIAggBUEIaiAFQRhqEGwgBiAFKAIQNgIAIAYgBSgCFDYCBCAAIARq.IgAgA0gNAAsLIAcQBSAFQSBqJABBAQujBwIKfwJ+IwBBMGsiBiQAIAAoAggiB0ECa0EcTQRAIAAgBzYCTCAAQX5BfyAHdCIJayIHNgJUIAAgCUF/czYCUCAA.IAdBAXY2AlwgAEMAAABAIAezlTgCWAsgACAFNgI0AkACQCAEIAAoAigiBCgCBCAEKAIAa0ECdSIKbCILIANKDQAgBkEANgIQIAZCADcDCCAKQQBMDQAgAEEI.aiEMIABBLGohDSAAQeAAaiEOQQAhCQNAIAkgACgCKCIEKAIEIAQoAgAiBGtBAnVPDQIgBiAEIAlBAnRqKAIANgIEIA0gBkEEaiAGQQhqEEgCQCAGKAIMIgQg.BEEfdSIFcyAFayAGKAIIIgUgBUEfdSIHcyAHa2qtIAYoAhAiByAHQR91IghzIAhrrXwiEFAEQCAGIAAoAlw2AggMAQsgBiAAKAJcIgisIhEgBax+IBB/pyIF.NgIIIAYgESAErH4gEH+nIgQ2AgwgBCAEQR91Ig9zIA9rIAUgBUEfdSIEcyAEa2ohBCAHQQBOBEAgBiAIIARrNgIQDAELIAYgBCAIazYCEAsgDhAQIQQgBigC.CCEFAkAgBARAIAZBACAGKAIQazYCECAGQQAgBigCDGsiBzYCDCAGQQAgBWsiBTYCCAwBCyAGKAIMIQcLAkAgBUEATgRAIAAoAlwiBSAGKAIQaiEEIAUgB2oh.BQwBCwJ/IAdBAEgEQCAGKAIQIgQgBEEfdSIFcyAFawwBCyAAKAJUIAYoAhAiBEEfdSIFIAQgBXNragshBSAEQQBIBEAgByAHQR91IgRzIARrIQQMAQsgACgC.VCAHQR91IgQgBCAHc2tqIQQLIAAoAlQhBwJAIAQgBXJFBEAgByIEIQUMAQsCQCAFDQAgBCAHRw0AIAQhBQwBCwJAIAQNACAFIAdHDQAgBSEEDAELAkAgBQ0A.IAQgACgCXCIITA0AIAhBAXQgBGshBEEAIQUMAQsCQCAFIAdHDQAgBCAAKAJcIghODQAgCEEBdCAEayEEDAELAkAgBCAHRw0AIAUgACgCXCIHTg0AIAdBAXQg.BWshBQwBCyAEDQBBACEEIAUgACgCXCIHTA0AIAdBAXQgBWshBQsgBiABIAlBA3QiB2opAgA3AiggBiAENgIcIAYgBTYCGCAGQSBqIAwgBkEYaiAGQShqEGwg.AiAHaiIEIAYoAiA2AgAgBCAGKAIkNgIEIAlBAWoiCSAKRw0ACwsgBkEwaiQAIAMgC04PCxAVAAsOACAAQew+NgIAIAAQBQsMACAAQew+NgIAIAALrQECAn8D.fgJAIAEpAwgiBSABKQMQIgRCBHwiBlMNACABKAIAIASnaigAACEDIAEgBjcDECABLwEmQYEETQRAIAUgBEIIfCIEUw0BIAEgBDcDEAsgA0EBcUUNACADZyIB.QQJrQRxLDQAgAEEgIAFrIgE2AgggAEF+QX8gAXQiAmsiATYCECAAIAJBf3M2AgxBASECIAAgAUEBdjYCGCAAQwAAAEAgAbOVOAIUCyACC6MHAgp/An4jAEEw.ayIGJAAgACgCCCIHQQJrQRxNBEAgACAHNgJMIABBfkF/IAd0IglrIgc2AlQgACAJQX9zNgJQIAAgB0EBdjYCXCAAQwAAAEAgB7OVOAJYCyAAIAU2AjQCQAJA.IAQgACgCKCIEKAIEIAQoAgBrQQJ1IgpsIgsgA0oNACAGQQA2AhAgBkIANwMIIApBAEwNACAAQQhqIQwgAEEsaiENIABB4ABqIQ5BACEJA0AgCSAAKAIoIgQo.AgQgBCgCACIEa0ECdU8NAiAGIAQgCUECdGooAgA2AgQgDSAGQQRqIAZBCGoQSgJAIAYoAgwiBCAEQR91IgVzIAVrIAYoAggiBSAFQR91IgdzIAdraq0gBigC.ECIHIAdBH3UiCHMgCGutfCIQUARAIAYgACgCXDYCCAwBCyAGIAAoAlwiCKwiESAFrH4gEH+nIgU2AgggBiARIASsfiAQf6ciBDYCDCAEIARBH3UiD3MgD2sg.BSAFQR91IgRzIARraiEEIAdBAE4EQCAGIAggBGs2AhAMAQsgBiAEIAhrNgIQCyAOEBAhBCAGKAIIIQUCQCAEBEAgBkEAIAYoAhBrNgIQIAZBACAGKAIMayIH.NgIMIAZBACAFayIFNgIIDAELIAYoAgwhBwsCQCAFQQBOBEAgACgCXCIFIAYoAhBqIQQgBSAHaiEFDAELAn8gB0EASARAIAYoAhAiBCAEQR91IgVzIAVrDAEL.IAAoAlQgBigCECIEQR91IgUgBCAFc2tqCyEFIARBAEgEQCAHIAdBH3UiBHMgBGshBAwBCyAAKAJUIAdBH3UiBCAEIAdza2ohBAsgACgCVCEHAkAgBCAFckUE.QCAHIgQhBQwBCwJAIAUNACAEIAdHDQAgBCEFDAELAkAgBA0AIAUgB0cNACAFIQQMAQsCQCAFDQAgBCAAKAJcIghMDQAgCEEBdCAEayEEQQAhBQwBCwJAIAUg.B0cNACAEIAAoAlwiCE4NACAIQQF0IARrIQQMAQsCQCAEIAdHDQAgBSAAKAJcIgdODQAgB0EBdCAFayEFDAELIAQNAEEAIQQgBSAAKAJcIgdMDQAgB0EBdCAF.ayEFCyAGIAEgCUEDdCIHaikCADcCKCAGIAQ2AhwgBiAFNgIYIAZBIGogDCAGQRhqIAZBKGoQbCACIAdqIgQgBigCIDYCACAEIAYoAiQ2AgQgCUEBaiIJIApH.DQALCyAGQTBqJAAgAyALTg8LEBUACw4AIABBuDc2AgAgABAFCwwAIABBuDc2AgAgAAvaBwEHfyMAQSBrIgUkAAJAAkACQCACQQJrDgIAAQILIAAoAgQhBCAA.KAIMIQYgBUF/NgIcIAVC/////4+AgMA/NwIUIAVCfzcCDCABQX5GDQEgBCgCBCgCCCAGQQJ0aigCACEJIAQgBCgCACgCCBEAAEEBRgRAIAQvASQaIAQoAgQo.AgggBkECdGooAgAhAiAEIAQoAgAoAggRAAAhAAJAIAFBAWtBBUsNACAAQQFHDQAgBCAEKAIAKAIkEQAAIQAgBCAGIAQoAgAoAiwRAQAhByAARQ0AIAdFDQAg.BCAGIAQoAgAoAigRAQAhCCABQQZHDQAgBCgCLCEGQfAAEAYiAyACNgIEIAMgBSkCDDcCCCADIAUpAhQ3AhAgAyAFKAIcNgIYIAMgBzYCKCADIAdBDGoiATYC.JCADIAggACAIGyIANgIgIAMgBjYCHCADIAc2AkQgAyABNgJAIAMgADYCPCADIAY2AjggA0IANwIwIANBuDdB7D4gCBs2AgAgA0KAgID8czcCWCADQn83AlAg.A0KBgICAcDcCSCADQcw7QfjBACAIGzYCLCADQeAAaiIAQgA3AAUgAEIANwIACyADDQILQRwQBiIDIAk2AgQgAyAFKQIMNwIIIAMgBSkCFDcCECADIAUoAhw2.AhggA0GAxQA2AgAMAQsgACgCBCEEIAAoAgwhBiAFQX82AhwgBUL/////j4CAwD83AhQgBUJ/NwIMIAFBfkYNACAEKAIEKAIIIAZBAnRqKAIAIQkgBCAEKAIA.KAIIEQAAQQFGBEAgBC8BJBogBCgCBCgCCCAGQQJ0aigCACECIAQgBCgCACgCCBEAACEAAkAgAUEBa0EFSw0AIABBAUcNACAEIAQoAgAoAiQRAAAhACAEIAYg.BCgCACgCLBEBACEHIABFDQAgB0UNACAEIAYgBCgCACgCKBEBACEIIAFBBkcNACAEKAIsIQZB8AAQBiIDIAI2AgQgAyAFKQIMNwIIIAMgBSkCFDcCECADIAUo.Ahw2AhggAyAHNgIoIAMgB0EMaiIBNgIkIAMgCCAAIAgbIgA2AiAgAyAGNgIcIAMgBzYCRCADIAE2AkAgAyAANgI8IAMgBjYCOCADQgA3AjAgA0GsxgBBoM4A.IAgbNgIAIANCgICA/HM3AlggA0J/NwJQIANCgYCAgHA3AkggA0HoygBByNEAIAgbNgIsIANB4ABqIgBCADcABSAAQgA3AgALIAMNAQtBHBAGIgMgCTYCBCAD.IAUpAgw3AgggAyAFKQIUNwIQIAMgBSgCHDYCGCADQejUADYCAAsgBUEgaiQAIAMLEwAgAEEYaiAAEDUgACgCCBCtAQszAAJ/IAAoAgQtACRBAk8EQEEAIABB.GGogABA1IAIQckUNARoLIABBGGogACgCEBCIAQsLMAACfyAAKAIELQAkQQFNBEBBACAAQRhqIAAoAgggAhByRQ0BGgsgACABIAIQmwELC0gBAX8gACABNgIE.IAEoAgQoAgggAkECdGooAgAhASAAIAI2AgwgACABNgIIIAAoAggiAC0AGEEDRgRAIAAoAhxBCUYhAwsgAwvOBAIKfwF+IAAgBDYCCCAAQSBqIAQQDEF/IARB.AnQgBEH/////A0sbIgUQBiEKIAUEQCAKQQAgBfwLAAsCQCAAKAIIIgZBAEwNACAAKAIgIQUDQAJAIAogB0ECdCIGaigCACIJIAAoAhAiCEoEQCAFIAZqIAg2.AgAMAQsgBSAGaiEGIAAoAgwiCCAJSgRAIAYgCDYCAAwBCyAGIAk2AgALIAdBAWoiByAAKAIIIgZIDQALIAZBAEwNAEEAIQcDQAJAIAEgB0ECdCIGajQCACAF.IAZqNAIAfCIQIAA0AhBVBEAgECAANQIUfSEQDAELIBAgADQCDFkNACAQIAA1AhR8IRALIAIgBmogED4CACAHQQFqIgcgACgCCCIGSA0ACwsCQCADIARMDQAg.BkEATA0AQQAgBGtBAnQhDCAEIQUDQAJAIAZBAEwNACACIAVBAnQiDWoiDiAMaiEPIAAoAiAhCUEAIQcDQAJAIA8gB0ECdCIGaigCACIIIAAoAhAiC0oEQCAG.IAlqIAs2AgAMAQsgBiAJaiEGIAAoAgwiCyAISgRAIAYgCzYCAAwBCyAGIAg2AgALIAdBAWoiByAAKAIIIgZIDQALQQAhByAGQQBMDQAgASANaiEIA0ACQCAI.IAdBAnQiBmo0AgAgBiAJajQCAHwiECAANAIQVQRAIBAgADUCFH0hEAwBCyAQIAA0AgxZDQAgECAANQIUfCEQCyAGIA5qIBA+AgAgB0EBaiIHIAAoAggiBkgN.AAsLIAQgBWoiBSADSA0ACwsgChAFQQELIwEBfyAAQcwZNgIAIAAoAiAiAQRAIAAgATYCJCABEAULIAALiggCC38CfiMAQSBrIgckACAAIAU2AkQCQAJAIAQg.ACgCOCIEKAIEIAQoAgBrQQJ1IgxsIg0gA0oNACAHQQA2AhggB0IANwMQIAxBAEwNACAAQTxqIQ4gAEHwAGohDwNAIAkgACgCOCIEKAIEIAQoAgAiBGtBAnVP.DQIgByAEIAlBAnRqKAIANgIEIA4gB0EEaiAHQRBqEEgCQCAHKAIUIgQgBEEfdSIFcyAFayAHKAIQIgUgBUEfdSIGcyAGa2qtIAcoAhgiBiAGQR91IghzIAhr.rXwiEVAEQCAHIAAoAmw2AhAMAQsgByAAKAJsIgisIhIgBax+IBF/pyIFNgIQIAcgEiAErH4gEX+nIgQ2AhQgBCAEQR91IgpzIAprIAUgBUEfdSIEcyAEa2oh.BCAGQQBOBEAgByAIIARrNgIYDAELIAcgBCAIazYCGAsgDxAQIQQgBygCECEFAkAgBARAIAdBACAHKAIYazYCGCAHQQAgBygCFGsiBjYCFCAHQQAgBWsiBTYC.EAwBCyAHKAIUIQYLAkAgBUEATgRAIAAoAmwiBSAHKAIYaiEEIAUgBmohBQwBCwJ/IAZBAEgEQCAHKAIYIgQgBEEfdSIFcyAFawwBCyAAKAJkIAcoAhgiBEEf.dSIFIAQgBXNragshBSAEQQBIBEAgBiAGQR91IgRzIARrIQQMAQsgACgCZCAGQR91IgQgBCAGc2tqIQQLIAAoAmQhBgJAIAQgBXJFBEAgBiIEIQUMAQsCQCAF.DQAgBCAGRw0AIAQhBQwBCwJAIAQNACAFIAZHDQAgBSEEDAELAkAgBQ0AIAQgACgCbCIITA0AIAhBAXQgBGshBEEAIQUMAQsCQCAFIAZHDQAgBCAAKAJsIghO.DQAgCEEBdCAEayEEDAELAkAgBCAGRw0AIAUgACgCbCIGTg0AIAZBAXQgBWshBQwBCyAEDQBBACEEIAUgACgCbCIGTA0AIAZBAXQgBWshBQsgByAENgIMIAcg.BTYCCAJAIAAoAghBAEwNACACIAlBA3QiCmohECAAKAIgIQRBACEFA0ACQCAFQQJ0IgYgB0EIamooAgAiCCAAKAIQIgtKBEAgBCAGaiALNgIADAELIAQgBmoh.BiAAKAIMIgsgCEoEQCAGIAs2AgAMAQsgBiAINgIACyAFQQFqIgUgACgCCCIGSA0AC0EAIQUgBkEATA0AIAEgCmohCANAAkAgCCAFQQJ0IgZqNAIAIAQgBmo0.AgB8IhEgADQCEFUEQCARIAA1AhR9IREMAQsgESAANAIMWQ0AIBEgADUCFHwhEQsgBiAQaiARPgIAIAVBAWoiBSAAKAIISA0ACwsgCUEBaiIJIAxHDQALCyAH.QSBqJAAgAyANTg8LEBUACy0BAX8gAEHQMDYCACAAQcwZNgIAIAAoAiAiAQRAIAAgATYCJCABEAULIAAQBQsrAQF/IABB0DA2AgAgAEHMGTYCACAAKAIgIgEE.QCAAIAE2AiQgARAFCyAAC6oMAhJ+C38jAEEQayIgJAACQAJAIARBAkcNACAAQQI2AgggACAFNgJAIABBIGpBAhAMIAMgACgCOCIEKAIEIAQoAgBrIgRBAXVI.DQBBASEfIARBAnUiIUEATA0AIABBPGohBSAAQcQAaiEiQQAhAwNAIAMgACgCOCIEKAIEIAQoAgAiBGtBAnVPDQIgICAEIANBAnRqKAIANgIMAn8jAEHQAGsi.GCQAQX8hHQJAICAoAgwiG0F/Rg0AIAUoAiAhGSAbQQFqIgQgG0ECayAEQQNwGyIEQX9HBEAgGSgCACAEQQJ0aigCACEdC0F/IRpBf0ECIBtBA3AbIBtqIgRB.f0cEQCAZKAIAIARBAnRqKAIAIRoLIB0gBSgCJCIEKAIEIAQoAgAiGWtBAnUiBE8NACAEIBpNDQAgGSAdQQJ0aigCACEeAkACQAJAIBkgGkECdGooAgAiGiAD.Tg0AIAMgHkwNACACIBpBA3RqIgQoAgQhGyACIB5BA3RqIhkoAgQhHwJAIAQoAgAiBCAZKAIAIh1HDQAgGyAfRw0AIAUgHzYCDCAFIB02AggMAgsgBSgCBCAD.QQJ0aigCACEZIBhCADcDQCAYQgA3AzggGEIANwMwIBggBSgCACIcLQBUBH8gGQUgHCgCRCAZQQJ0aigCAAs2AhggHCAYQRhqIBwsABggGEEwahAfIAUoAgQg.HkECdGooAgAhGSAYQgA3AyggGEIANwMgIBhCADcDGCAYIAUoAgAiHC0AVAR/IBkFIBwoAkQgGUECdGooAgALNgIAIBwgGCAcLAAYIBhBGGoQHyAFKAIEIBpB.AnRqKAIAIRkgGEIANwMQIBhCADcDCCAYQgA3AwAgGCAFKAIAIhotAFQEfyAZBSAaKAJEIBlBAnRqKAIACzYCTCAaIBhBzABqIBosABggGBAfIBgpAwggGCkD.ICIRfSIKIAp+IBgpAwAgGCkDGCISfSILIAt+fCAYKQMQIBgpAygiE30iDCAMfnwiCFANAEEAIRpC////////////ACAIgCAdrCINIA1CP4ciBoUgBn0iByAf.rCIOIA5CP4ciBoUgBn0iBiAGIAdUG1QNAiAYKQM4IhQgEX0gCn4gGCkDMCIVIBJ9IAt+fCAYKQNAIhYgE30gDH58IgkgCUI/hyIGhSAGfSIXQv//////////./wAgBKwgDX0iDyAPQj+HIgaFIAZ9IgcgG6wgDn0iECAQQj+HIgaFIAZ9IgYgBiAHVBuAVg0CIBdC////////////ACALIAtCP4ciBoUgBn0iByAKIApCP4ci.BoUgBn0iBiAGIAdUGyIHIAwgDEI/hyIGhSAGfSIGIAYgB1QbgFYNAiAUIBEgCSAKfiAIf3x9IgYgBn4gFSASIAkgC34gCH98fSIGIAZ+fCAWIBMgCSAMfiAI.f3x9IgYgBn58IAh+EPsBIQcgBSgCFCIERQ0CIAUoAhAgBEEBayIZQQN2Qfz///8BcWooAgAhBCAFIBk2AhRBASEaIAUgCSAQfiAIIA5+fEIAIAcgD34iBn0g.BiAEIBl2QQFxIgQbfCAIfz4CDCAFIAkgD34gCCANfnwgByAQfiIGQgAgBn0gBBt8IAh/PgIIDAILIAUgAiADIB5KBH8gHkEBdAUgA0EATARAIAVCADcCCAwC.CyADQQF0QQJrC0ECdGoiBCgCADYCCCAFIAQoAgQ2AgwLQQEhGgsgGEHQAGokACAaDAELEBUACyIfRQ0BAkAgACgCCEEATA0AIAIgA0EDdCIbaiEdIAAoAiAh.HkEAIQQDQAJAICIgBEECdCIaaigCACIcIAAoAhAiGUoEQCAaIB5qIBk2AgAMAQsgGiAeaiEaIAAoAgwiGSAcSgRAIBogGTYCAAwBCyAaIBw2AgALIARBAWoi.BCAAKAIIIhlIDQALQQAhBCAZQQBMDQAgASAbaiEZA0ACQCAZIARBAnQiG2o0AgAgGyAeajQCAHwiBiAANAIQVQRAIAYgADUCFH0hBgwBCyAGIAA0AgxZDQAg.BiAANQIUfCEGCyAbIB1qIAY+AgAgBEEBaiIEIAAoAghIDQALCyADQQFqIgMgIUcNAAsLICBBEGokACAfDwsQFQALOwEBfyAAQewuNgIAIAAoAkwiAQRAIAEQ.BQsgAEHMGTYCACAAKAIgIgEEQCAAIAE2AiQgARAFCyAAEAULOQEBfyAAQewuNgIAIAAoAkwiAQRAIAEQBQsgAEHMGTYCACAAKAIgIgEEQCAAIAE2AiQgARAF.CyAAC88NBAl/DH0BfAF+IwBBEGsiCSQAAkACQCAEQQJHDQAgACAFNgJAIABBAjYCSEEIEAYhBSAAKAJEIQQgACAFNgJEIAQEQCAEEAULIABBAjYCCCAAQSBq.QQIQDCADIAAoAjgiBCgCBCAEKAIAayIEQQF1SA0AQQEhByAEQQJ1IgtBAEwNAEEAIQMDQCADIAAoAjgiBCgCBCAEKAIAIgRrQQJ1Tw0CIAkgBCADQQJ0aigC.ADYCDAJ/QwAAAAAhECMAQTBrIgQkAEF/IQcCQCAJKAIMIgZBf0YNACAAKAIwIQggBkEBaiIFIAZBAmsgBUEDcBsiBUF/RwRAIAgoAgAgBUECdGooAgAhBwtB.fyEFQX9BAiAGQQNwGyAGaiIGQX9HBEAgCCgCACAGQQJ0aigCACEFCyAHIAAoAjQiBigCBCAGKAIAIgZrQQJ1IghPDQAgBSAITw0AIAYgB0ECdGooAgAhBwJA.AkAgBiAFQQJ0aigCACIGIANODQAgAyAHTA0AIAIgACgCSCIFIAZsQQJ0aiIIKAIEsiERIAIgBSAHbEECdGoiBSgCBLIhEwJAIAgoAgCyIhIgBSgCALIiGVwN.ACARIBNcDQAgACgCRCIFQYCAgIB4QYCAgIB4IBL8ACASu0QAAMD////fQWQbIBJDAAAAz10bNgIAAkAgEUMAAADPXQ0AIBG7RAAAwP///99BZA0AIAUgEfwA.NgIEQQEhBgwDCyAFQYCAgIB4NgIEQQEhBgwCCyAAKAJAIANBAnRqKAIAIQggBEEANgIoIARCADcDICAEIAAoAjwiBS0AVAR/IAgFIAUoAkQgCEECdGooAgAL.NgIQIAUgBEEQaiAFLAAYIARBIGoQIhogACgCQCAHQQJ0aigCACEHIARBADYCGCAEQgA3AxAgBCAAKAI8IgUtAFQEfyAHBSAFKAJEIAdBAnRqKAIACzYCACAF.IAQgBSwAGCAEQRBqECIaIAAoAkAgBkECdGooAgAhByAEQQA2AgggBEIANwMAIAQgACgCPCIFLQBUBH8gBwUgBSgCRCAHQQJ0aigCAAs2AiwgBSAEQSxqIAUs.ABggBBAiGiAEKgIIIAQqAhgiFJMiDyAPlCAEKgIEIAQqAhQiFZMiFiAWlCAEKgIAIAQqAhAiGpMiFyAXlEMAAAAAkpKSIRgCfSAAKAJYQYICTgRAQwAAAAAg.GEMAAAAAXkUNARoLIAQqAiggFJMiECAPIA8gEJQgFiAEKgIkIBWTIg+UIBcgBCoCICAakyIUlEMAAAAAkpKSIBiVIhCUkyIVIBWUIA8gFiAQlJMiDyAPlCAU.IBcgEJSTIg8gD5RDAAAAAJKSkiAYlZELIQ8gACgCUCIFBEAgACgCTCAFQQFrIgdBA3ZB/P///wFxaigCACEGIAAgBzYCUCAAKAJEIghBgICAgHhBgICAgHhB.gICAgHggESATkyIRIBCUIBOSIBIgGZMiEiAPlCITIBOMIAYgB3ZBAXEiBxuSu0QAAAAAAADgP6CcIhv8AiAbRAAAwP///99BZBsgGyAbYhsgG0QAAAAAAADg.wWMbNgIEIAhBgICAgHhBgICAgHhBgICAgHggEiAQlCAZkiARIA+UIhCMIBAgBxuSu0QAAAAAAADgP6CcIhv8AiAbRAAAwP///99BZBsgGyAbYhsgG0QAAAAA.AADgwWMbNgIACyAFQQBHIQYMAQsgAyAHTARAIANBAEwEQEEBIQYgACgCSEEATA0CIAAoAkQhB0EAIQUDQCAHIAVBAnRqQQA2AgAgBUEBaiIFIAAoAkhIDQAL.DAILIANBAWshBwtBASEGIAAoAkgiBUEATA0AIAIgBSAHbEECdGohByAAKAJEIQhBACEFA0AgCCAFQQJ0IgZqIAYgB2ooAgA2AgBBASEGIAVBAWoiBSAAKAJI.SA0ACwsgBEEwaiQAIAYMAQsQFQALIgdFDQECQCAAKAIIQQBMDQAgAiADQQN0IgxqIQ0gACgCRCEOIAAoAiAhBUEAIQQDQAJAIA4gBEECdCIGaigCACIIIAAo.AhAiCkoEQCAFIAZqIAo2AgAMAQsgBSAGaiEGIAAoAgwiCiAISgRAIAYgCjYCAAwBCyAGIAg2AgALIARBAWoiBCAAKAIIIgZIDQALQQAhBCAGQQBMDQAgASAM.aiEIA0ACQCAIIARBAnQiBmo0AgAgBSAGajQCAHwiHCAANAIQVQRAIBwgADUCFH0hHAwBCyAcIAA0AgxZDQAgHCAANQIUfCEcCyAGIA1qIBw+AgAgBEEBaiIE.IAAoAghIDQALCyADQQFqIgMgC0cNAAsLIAlBEGokACAHDwsQFQALiwIBCX8CQCABKAJYIgNFDQAgAygCAEEBRw0AIAAgAygCCCgAADYCBCAAQQhqIAEtABgQ.DCADKAIIIQMCQCABLQAYIgRFBEBBBCEBDAELIARBA3EhBiAAKAIIIQdBBCEBIARBBE8EQCAEQfwBcSEKA0AgByACQQJ0aiIEIAEgA2oiBSoAADgCACAEIAUq.AAQ4AgQgBCAFKgAIOAIIIAQgBSoADDgCDCACQQRqIQIgAUEQaiEBIAlBBGoiCSAKRw0ACyAGRQ0BCwNAIAcgAkECdGogASADaioAADgCACACQQFqIQIgAUEE.aiEBIAhBAWoiCCAGRw0ACwsgACABIANqKgAAOAIUQQEhAgsgAgvTAwILfwN+IwBBIGsiBCQAIARBADYCHAJAAkAgAS8BJkGBBE0EQCABKQMQIg1CBHwiDiAB.KQMIVQ0CIAEoAgAgDadqKAAAIQUgASAONwMQDAELQQEgBEEcaiABECRFDQEgBCgCHCEFCyAFRQ0AIAUgACgCMCICKAIEIAIoAgBrQQJ1Sw0AIABBzABqIAUQ.IyAEQQxqIgJCADcABSACQgA3AgACQCACIgogARAIRQ0AQQEhAgNAQQEgB3QhBiAKEBAhCSAAKAJMIAdBA3ZB/P///wFxaiEIAn8gCSALcyIDQQFxBEAgCCgC.ACAGcgwBCyAIKAIAIAZBf3NxCyEGIAIgCXMhCyAIIAY2AgAgAyECIAdBAWoiByAFRw0ACyABKQMIIg8gASkDECINQgR8Ig5TDQAgASgCACIDIA2naigAACEC.IAEgDjcDECAPIA1CCHwiDVMNACADIA6naigAACEDIAEgDTcDECACIANKDQAgACADNgIQIAAgAjYCDCADrCACrH0iDUL+////B1YNAEEBIQwgACANpyICQQFq.IgE2AhQgACABQQF2IgE2AhggAEEAIAFrNgIcIAJBAXFFDQAgACABQQFrNgIYCwsgBEEgaiQAIAwLUgEBfyAAQZAtNgIAIAAoAkwiAQRAIAEQBQsgACgCRCEB.IABBADYCRCABBEAgARAFCyAAQcwZNgIAIAAoAiAiAQRAIAAgATYCJCABEAULIAAQBQtQAQF/IABBkC02AgAgACgCTCIBBEAgARAFCyAAKAJEIQEgAEEANgJE.IAEEQCABEAULIABBzBk2AgAgACgCICIBBEAgACABNgIkIAEQBQsgAAu1EwIdfwF+IwBBQGoiCCQAIAAgBDYCCCAAQSBqIAQQDCAIQgA3AzggCEIANwMwIAhC.ADcDKCAIQgA3AyAgCEIANwMYIAhCADcDECAIQQA2AgwgCEEQaiIGIAQgCEEMaiIFEB0gCEEANgIMIAZBDHIgBCAFEB0gCEEANgIMIAhBKGogBCAFEB0gCEEA.NgIMIAhBNGogBCAFEB0CQCAAKAIIQQBMDQAgCCgCECEJIAAoAiAhBkEAIQUDQAJAIAkgBUECdCIHaigCACIKIAAoAhAiDEoEQCAGIAdqIAw2AgAMAQsgBiAH.aiEHIAAoAgwiDCAKSgRAIAcgDDYCAAwBCyAHIAo2AgALIAVBAWoiBSAAKAIIIgdIDQALIAdBAEwNAEEAIQUDQAJAIAEgBUECdCIHajQCACAGIAdqNAIAfCIj.IAA0AhBVBEAgIyAANQIUfSEjDAELICMgADQCDFkNACAjIAA1AhR8ISMLIAIgB2ogIz4CACAFQQFqIgUgACgCCEgNAAsLIAAoAjQhHiAAKAIwIRNBEBAGIhRC.ADcCCCAUQgA3AgACQAJAIARFDQAgBEGAgICABE8NASAEQQJ0IgUQBiEOIAVFDQAgDkEAIAX8CwALAkAgAyAAKAI4IgUoAgQgBSgCACIfa0ECdSIYIARsSA0A.IBhBAkgEQEEBIRAMAQsgBEF+cSEZIARBAXEhGiAEQXxxISAgBEEDcSEbIARBAWshHCAEQQJ0IR0gAEE8aiEhIARBBEkhIkEBIQwDQAJAAn8CQCAfIAxBAnRq.KAIAIgdBf0YNAEEAIQogB0EDcCIDQQBHIAdBAmoiBUF/R3IhFSATKAIMIRZBASEGIAdBAWsgBSADG0ECdCERIAchAwJAA0ACQCAWIANBAnRqKAIAIgVBf0YN.ACAIQRBqIApBDGxqKAIAIQ0gHigCACIJIBMoAgAiCyAFQQJ0aigCAEECdGooAgAhECAJIAVBAWoiDyAFQQJrIA9BA3AbIg9Bf0cEfyALIA9BAnRqKAIABUF/.C0ECdGooAgAhEgJ/AkAgBUEDcARAIAVBAWshBQwBC0F/IAVBAmoiBUF/Rg0BGgsgCyAFQQJ0aigCAAshBSAMIBBMDQAgDCASTA0AIAkgBUECdGooAgAiBSAM.Tg0AAkAgBEUNACACIAQgEGxBAnRqIRAgAiAEIAVsQQJ0aiEPIAIgBCASbEECdGohEkEAIQVBACELIBwEQANAIA0gBUECdCIJaiAJIA9qKAIAIAkgEmooAgBq.IAkgEGooAgBrNgIAIA0gCUEEciIJaiAJIA9qKAIAIAkgEmooAgBqIAkgEGooAgBrNgIAIAVBAmohBSALQQJqIgsgGUcNAAsgGkUNAQsgDSAFQQJ0IgVqIAUg.D2ooAgAgBSASaigCAGogBSAQaigCAGs2AgALQQQhCSAKQQFqIgpBBEYNAgsCQCAHAn8gBkEBcQRAQX8gA0EBaiIFIANBAmsgBUEDcBsiA0F/Rg0BGkF/IBMo.AgwgA0ECdGooAgAiA0F/Rg0BGiADQQFqIgUgA0ECayAFQQNwGwwBCwJAIANBA3AEQCADQQFrIQUMAQtBfyADQQJqIgVBf0YNARoLQX8gEygCDCAFQQJ0aigC.ACIDQX9GDQAaIANBAWsgA0EDcA0AGiADQQJqCyIDRg0AIAYgA0F/RnEEQCAVRQ0BIBMoAgwgEWooAgAiA0F/Rg0BQQAhBiADQQFrIANBAmogA0EDcBshAwsg.A0F/Rw0BCwsgCiIJQQBMDQELAkAgBEUNACAdRQ0AIA5BACAd/AsAC0EAIRAgISAJQQFrIgNBDGxqIhIoAgQiBSAUIANBAnRqIhUoAgAiBmsiA0EAIAMgBU0b.IRZBACELQQAhBwNAIBUgBiIDQQFqIgY2AgAgCyAWRg0FAkAgEigCACADQQN2Qfz///8BcWooAgAgA3ZBAXENACAHQQFqIQcgBEUNACAIQRBqIAtBDGxqKAIA.IQpBACENQQAhA0EAIQ9BACEFICJFBEADQCAOIANBAnQiBWoiESAFIApqKAIAIBEoAgBqNgIAIA4gBUEEciIRaiIXIAogEWooAgAgFygCAGo2AgAgDiAFQQhy.IhFqIhcgCiARaigCACAXKAIAajYCACAOIAVBDHIiBWoiESAFIApqKAIAIBEoAgBqNgIAIANBBGohAyAPQQRqIg8gIEcNAAsgAyEFIBtFDQELA0AgDiAFQQJ0.IgNqIg8gAyAKaigCACAPKAIAajYCACAFQQFqIQUgDUEBaiINIBtHDQALCyALQQFqIgsgCUcNAAsgBCAMbCIGIAdFDQEaAkAgBEUNAEEAIQVBACENIBwEQANA.IA4gBUECdGoiAyADKAIAIAdtNgIAIAMgAygCBCAHbTYCBCAFQQJqIQUgDUECaiINIBlHDQALIBpFDQELIA4gBUECdGoiAyADKAIAIAdtNgIACyAAKAIIQQBM.DQIgAiAGQQJ0IgpqIQkgACgCICEDQQAhBQNAAkAgDiAFQQJ0IgZqKAIAIgcgACgCECILSgRAIAMgBmogCzYCAAwBCyADIAZqIQYgACgCDCILIAdKBEAgBiAL.NgIADAELIAYgBzYCAAsgBUEBaiIFIAAoAggiBkgNAAtBACEFIAZBAEwNAiABIApqIQcDQAJAIAcgBUECdCIGajQCACADIAZqNAIAfCIjIAA0AhBVBEAgIyAA.NQIUfSEjDAELICMgADQCDFkNACAjIAA1AhR8ISMLIAYgCWogIz4CACAFQQFqIgUgACgCCEgNAAsMAgsgBCAMbAshAyAAKAIIQQBMDQAgAiADQQJ0IgpqIQkg.AiAMQQFrIARsQQJ0aiELIAAoAiAhA0EAIQUDQAJAIAsgBUECdCIGaigCACIHIAAoAhAiDUoEQCADIAZqIA02AgAMAQsgAyAGaiEGIAAoAgwiDSAHSgRAIAYg.DTYCAAwBCyAGIAc2AgALIAVBAWoiBSAAKAIIIgZIDQALQQAhBSAGQQBMDQAgASAKaiEHA0ACQCAHIAVBAnQiBmo0AgAgAyAGajQCAHwiIyAANAIQVQRAICMg.ADUCFH0hIwwBCyAjIAA0AgxZDQAgIyAANQIUfCEjCyAGIAlqICM+AgAgBUEBaiIFIAAoAghIDQALC0EBIRAgDEEBaiIMIBhHDQALCyAOBEAgDhAFCyAUEAUg.CCgCNCIABEAgCCAANgI4IAAQBQsgCCgCKCIABEAgCCAANgIsIAAQBQsgCCgCHCIABEAgCCAANgIgIAAQBQsgCCgCECIABEAgCCAANgIUIAAQBQsgCEFAayQA.IBAPCxAHAAu9BwIHfwN+IwBBIGsiBSQAAkAgAS8BJkGBBE0EQCABKQMQIgkgASkDCFkNASABKAIAIAmnai0AACABIAlCAXw3AxANAQsCQEEBIAVBHGogARAk.RQ0AIAUoAhwiBCAAKAIwIgIoAgQgAigCAGtBAnVLDQACQCAEBEBBACECIABBPGogBBAjIAVBDGoiA0IANwAFIANCADcCACADIgcgARAIRQ0BA0BBASACdCED.IAcQECEIIAAoAjwgAkEDdkH8////AXFqIgYCfyAIBEAgBigCACADcgwBCyAGKAIAIANBf3NxCzYCACACQQFqIgIgBEcNAAsLQQEgBUEcaiABECRFDQEgBSgC.HCIEIAAoAjAiAigCBCACKAIAa0ECdUsNASAEBEBBACECIABByABqIAQQIyAFQQxqIgNCADcABSADQgA3AgAgAyIHIAEQCEUNAQNAQQEgAnQhAyAHEBAhCCAA.KAJIIAJBA3ZB/P///wFxaiIGAn8gCEUEQCAGKAIAIANBf3NxDAELIAYoAgAgA3ILNgIAIAJBAWoiAiAERw0ACwtBASAFQRxqIAEQJEUNASAFKAIcIgQgACgC.MCICKAIEIAIoAgBrQQJ1Sw0BIAQEQEEAIQIgAEHUAGogBBAjIAVBDGoiA0IANwAFIANCADcCACADIgcgARAIRQ0BA0BBASACdCEDIAcQECEIIAAoAlQgAkED.dkH8////AXFqIgYCfyAIRQRAIAYoAgAgA0F/c3EMAQsgBigCACADcgs2AgAgAkEBaiICIARHDQALC0EBIAVBHGogARAkRQ0BIAUoAhwiBCAAKAIwIgIoAgQg.AigCAGtBAnVLDQEgBARAQQAhAiAAQeAAaiAEECMgBUEMaiIDQgA3AAUgA0IANwIAIAMiByABEAhFDQEDQEEBIAJ0IQMgBxAQIQggACgCYCACQQN2Qfz///8B.cWoiBgJ/IAhFBEAgBigCACADQX9zcQwBCyAGKAIAIANyCzYCACACQQFqIgIgBEcNAAsLQQAhAiABKQMIIgsgASkDECIJQgR8IgpTDQIgASgCACIDIAmnaigA.ACEEIAEgCjcDECALIAlCCHwiCVMNAiADIAqnaigAACEDIAEgCTcDECADIARIDQIgACADNgIQIAAgBDYCDCADrCAErH0iCUL+////B1YNAkEBIQIgACAJpyIE.QQFqIgE2AhQgACABQQF2IgE2AhggAEEAIAFrNgIcIARBAXFFDQIgACABQQFrNgIYDAILC0EAIQILIAVBIGokACACC2UBAX8gAEGgKzYCACAAKAJgIgEEQCAB.EAULIAAoAlQiAQRAIAEQBQsgACgCSCIBBEAgARAFCyAAKAI8IgEEQCABEAULIABBzBk2AgAgACgCICIBBEAgACABNgIkIAEQBQsgABAFC2MBAX8gAEGgKzYC.ACAAKAJgIgEEQCABEAULIAAoAlQiAQRAIAEQBQsgACgCSCIBBEAgARAFCyAAKAI8IgEEQCABEAULIABBzBk2AgAgACgCICIBBEAgACABNgIkIAEQBQsgAAvF.DgIafwF+IAAgBDYCCCAAQSBqIAQQDEF/IARBAnQiEiAEQf////8DSxsiBRAGIQ0gBUUiB0UEQCANQQAgBfwLAAsgBRAGIQ4gB0UEQCAOQQAgBfwLAAsCQCAA.KAIIIglBAEwNACAAKAIgIQdBACEFA0ACQCANIAVBAnQiBmooAgAiDCAAKAIQIghKBEAgBiAHaiAINgIADAELIAYgB2ohBiAAKAIMIgggDEoEQCAGIAg2AgAM.AQsgBiAMNgIACyAFQQFqIgUgACgCCCIJSA0ACyAJQQBMDQBBACEFA0ACQCABIAVBAnQiBmo0AgAgBiAHajQCAHwiICAANAIQVQRAICAgADUCFH0hIAwBCyAg.IAA0AgxZDQAgICAANQIUfCEgCyACIAZqICA+AgAgBUEBaiIFIAAoAggiCUgNAAsLAkAgACgCOCIFKAIEIAUoAgAiG2tBAnUiEyAEbCIcIANKDQAgE0ECSA0A.IAAoAjQhHSAAKAIwIRQgBEH+////B3EhFSAEQQFxIRYgBEH8////B3EhHiAEQQNxIRcgBEEBayEYIARBBEkhH0EBIRADQCAbIBBBAnRqKAIAIQwCQCAEQQBM.IhkNACASRQ0AIA1BACAS/AsACwJAAkAgDEF/RgRAIAQgEGwhBQwBCyAUKAIMIRpBACEPIAwhBgNAAkAgGiAGQQJ0aigCACIFQX9GDQAgHSgCACIHIBQoAgAi.CCAFQQJ0aigCAEECdGooAgAhCyAHIAVBAWoiCiAFQQJrIApBA3AbIgpBf0cEfyAIIApBAnRqKAIABUF/C0ECdGooAgAhCgJ/AkAgBUEDcARAIAVBAWshBQwB.C0F/IAVBAmoiBUF/Rg0BGgsgCCAFQQJ0aigCAAshBSALIBBODQAgCiAQTg0AIAcgBUECdGooAgAiBSAQTg0AAkAgGQ0AIAIgBCALbEECdGohByACIAQgBWxB.AnRqIQsgAiAEIApsQQJ0aiEKQQAhCEEAIRECQCAYBEADQCAOIAhBAnQiBWogBSALaigCACAFIApqKAIAaiAFIAdqKAIAazYCACAOIAVBBHIiBWogBSALaigC.ACAFIApqKAIAaiAFIAdqKAIAazYCACAIQQJqIQggEUECaiIRIBVHDQALIBZFDQELIA4gCEECdCIFaiAFIAtqKAIAIAUgCmooAgBqIAUgB2ooAgBrNgIAC0EA.IQhBACEHQQAhBSAfRQRAA0AgDSAHQQJ0IgtqIgogCyAOaigCACAKKAIAajYCACANIAtBBHIiCmoiESAKIA5qKAIAIBEoAgBqNgIAIA0gC0EIciIKaiIRIAog.DmooAgAgESgCAGo2AgAgDSALQQxyIgtqIgogCyAOaigCACAKKAIAajYCACAHQQRqIQcgBUEEaiIFIB5HDQALIAchBSAXRQ0BCwNAIA0gBUECdCIHaiILIAcg.DmooAgAgCygCAGo2AgAgBUEBaiEFIAhBAWoiCCAXRw0ACwsgD0EBaiEPCwJ/AkAgBkEDcARAIAZBAWshBQwBC0F/IAZBAmoiBUF/Rg0BGgtBfyAaIAVBAnRq.KAIAIgVBf0YNABogBUEBayAFQQNwDQAaIAVBAmoLIgYgDEcgBkF/R3ENAAsgBCAQbCEFIA9FDQACQCAZDQBBACEIQQAhByAYBEADQCANIAhBAnRqIgYgBigC.ACAPbTYCACAGIAYoAgQgD202AgQgCEECaiEIIAdBAmoiByAVRw0ACyAWRQ0BCyANIAhBAnRqIgcgBygCACAPbTYCAAsgCUEATA0BIAIgBUECdCIIaiEPIAAo.AiAhB0EAIQUDQAJAIA0gBUECdCIGaigCACIMIAAoAhAiCUoEQCAGIAdqIAk2AgAMAQsgBiAHaiEGIAAoAgwiCSAMSgRAIAYgCTYCAAwBCyAGIAw2AgALIAVB.AWoiBSAAKAIIIglIDQALQQAhBSAJQQBMDQEgASAIaiEMA0ACQCAMIAVBAnQiBmo0AgAgBiAHajQCAHwiICAANAIQVQRAICAgADUCFH0hIAwBCyAgIAA0AgxZ.DQAgICAANQIUfCEgCyAGIA9qICA+AgAgBUEBaiIFIAAoAggiCUgNAAsMAQsgCUEATA0AIAIgBUECdCIIaiEPIAIgEEEBayAEbEECdGohCyAAKAIgIQdBACEF.A0ACQCALIAVBAnQiBmooAgAiDCAAKAIQIglKBEAgBiAHaiAJNgIADAELIAYgB2ohBiAAKAIMIgkgDEoEQCAGIAk2AgAMAQsgBiAMNgIACyAFQQFqIgUgACgC.CCIJSA0AC0EAIQUgCUEATA0AIAEgCGohDANAAkAgDCAFQQJ0IgZqNAIAIAYgB2o0AgB8IiAgADQCEFUEQCAgIAA1AhR9ISAMAQsgICAANAIMWQ0AICAgADUC.FHwhIAsgBiAPaiAgPgIAIAVBAWoiBSAAKAIIIglIDQALCyAQQQFqIhAgE0cNAAsLIA4QBSANEAUgAyAcTgutCgIQfwF+IAAgBDYCCCAAQSBqIAQQDCAAKAI0.IREgACgCMCEPQX8gBEECdCAEQf////8DSxsiBRAGIQ0gBQRAIA1BACAF/AsACwJAIAAoAggiBkEATA0AIAAoAiAhCkEAIQUDQAJAIA0gBUECdCIGaigCACIH.IAAoAhAiCEoEQCAGIApqIAg2AgAMAQsgBiAKaiEGIAAoAgwiCCAHSgRAIAYgCDYCAAwBCyAGIAc2AgALIAVBAWoiBSAAKAIIIgZIDQALIAZBAEwNAEEAIQUD.QAJAIAEgBUECdCIGajQCACAGIApqNAIAfCIWIAA0AhBVBEAgFiAANQIUfSEWDAELIBYgADQCDFkNACAWIAA1AhR8IRYLIAIgBmogFj4CACAFQQFqIgUgACgC.CCIGSA0ACwsCQCAAKAI4IgUoAgQgBSgCACISa0ECdSIQIARsIhMgA0oNACAQQQJIDQAgBEH+////B3EhFCAEQQFxIRVBASEKA0AgBCAKbCEMAkACQCASIApB.AnRqKAIAIgVBf0YNACAPKAIMIAVBAnRqKAIAIgVBf0YNACARKAIAIgcgDygCACIIIAVBAnRqKAIAQQJ0aigCACELIAcgBUEBaiIJIAVBAmsgCUEDcBsiCUF/.RwR/IAggCUECdGooAgAFQX8LQQJ0aigCACEJAn8CQCAFQQNwBEAgBUEBayEFDAELQX8gBUECaiIFQX9GDQEaCyAIIAVBAnRqKAIACyEFIAogC0wNACAJIApO.DQAgByAFQQJ0aigCACIFIApODQACQCAEQQBMDQAgAiAEIAtsQQJ0aiEIIAIgBCAFbEECdGohCyACIAQgCWxBAnRqIQlBACEFQQAhDiAEQQFHBEADQCANIAVB.AnQiB2ogByALaigCACAHIAlqKAIAaiAHIAhqKAIAazYCACANIAdBBHIiB2ogByALaigCACAHIAlqKAIAaiAHIAhqKAIAazYCACAFQQJqIQUgDkECaiIOIBRH.DQALIBVFDQELIA0gBUECdCIFaiAFIAtqKAIAIAUgCWooAgBqIAUgCGooAgBrNgIACyAGQQBMDQEgAiAMQQJ0IgtqIQkgACgCICEHQQAhBQNAAkAgDSAFQQJ0.IgZqKAIAIgggACgCECIMSgRAIAYgB2ogDDYCAAwBCyAGIAdqIQYgACgCDCIMIAhKBEAgBiAMNgIADAELIAYgCDYCAAsgBUEBaiIFIAAoAggiBkgNAAtBACEF.IAZBAEwNASABIAtqIQgDQAJAIAggBUECdCIGajQCACAGIAdqNAIAfCIWIAA0AhBVBEAgFiAANQIUfSEWDAELIBYgADQCDFkNACAWIAA1AhR8IRYLIAYgCWog.Fj4CACAFQQFqIgUgACgCCCIGSA0ACwwBCyAGQQBMDQAgAiAMQQJ0IgtqIQkgAiAKQQFrIARsQQJ0aiEMIAAoAiAhB0EAIQUDQAJAIAwgBUECdCIGaigCACII.IAAoAhAiDkoEQCAGIAdqIA42AgAMAQsgBiAHaiEGIAAoAgwiDiAISgRAIAYgDjYCAAwBCyAGIAg2AgALIAVBAWoiBSAAKAIIIgZIDQALQQAhBSAGQQBMDQAg.ASALaiEIA0ACQCAIIAVBAnQiBmo0AgAgBiAHajQCAHwiFiAANAIQVQRAIBYgADUCFH0hFgwBCyAWIAA0AgxZDQAgFiAANQIUfCEWCyAGIAlqIBY+AgAgBUEB.aiIFIAAoAggiBkgNAAsLIApBAWoiCiAQRw0ACwsgDRAFIAMgE04LiggCC38CfiMAQSBrIgckACAAIAU2AkQCQAJAIAQgACgCOCIEKAIEIAQoAgBrQQJ1Igxs.Ig0gA0oNACAHQQA2AhggB0IANwMQIAxBAEwNACAAQTxqIQ4gAEHwAGohDwNAIAkgACgCOCIEKAIEIAQoAgAiBGtBAnVPDQIgByAEIAlBAnRqKAIANgIEIA4g.B0EEaiAHQRBqEEoCQCAHKAIUIgQgBEEfdSIFcyAFayAHKAIQIgUgBUEfdSIGcyAGa2qtIAcoAhgiBiAGQR91IghzIAhrrXwiEVAEQCAHIAAoAmw2AhAMAQsg.ByAAKAJsIgisIhIgBax+IBF/pyIFNgIQIAcgEiAErH4gEX+nIgQ2AhQgBCAEQR91IgpzIAprIAUgBUEfdSIEcyAEa2ohBCAGQQBOBEAgByAIIARrNgIYDAEL.IAcgBCAIazYCGAsgDxAQIQQgBygCECEFAkAgBARAIAdBACAHKAIYazYCGCAHQQAgBygCFGsiBjYCFCAHQQAgBWsiBTYCEAwBCyAHKAIUIQYLAkAgBUEATgRA.IAAoAmwiBSAHKAIYaiEEIAUgBmohBQwBCwJ/IAZBAEgEQCAHKAIYIgQgBEEfdSIFcyAFawwBCyAAKAJkIAcoAhgiBEEfdSIFIAQgBXNragshBSAEQQBIBEAg.BiAGQR91IgRzIARrIQQMAQsgACgCZCAGQR91IgQgBCAGc2tqIQQLIAAoAmQhBgJAIAQgBXJFBEAgBiIEIQUMAQsCQCAFDQAgBCAGRw0AIAQhBQwBCwJAIAQN.ACAFIAZHDQAgBSEEDAELAkAgBQ0AIAQgACgCbCIITA0AIAhBAXQgBGshBEEAIQUMAQsCQCAFIAZHDQAgBCAAKAJsIghODQAgCEEBdCAEayEEDAELAkAgBCAG.Rw0AIAUgACgCbCIGTg0AIAZBAXQgBWshBQwBCyAEDQBBACEEIAUgACgCbCIGTA0AIAZBAXQgBWshBQsgByAENgIMIAcgBTYCCAJAIAAoAghBAEwNACACIAlB.A3QiCmohECAAKAIgIQRBACEFA0ACQCAFQQJ0IgYgB0EIamooAgAiCCAAKAIQIgtKBEAgBCAGaiALNgIADAELIAQgBmohBiAAKAIMIgsgCEoEQCAGIAs2AgAM.AQsgBiAINgIACyAFQQFqIgUgACgCCCIGSA0AC0EAIQUgBkEATA0AIAEgCmohCANAAkAgCCAFQQJ0IgZqNAIAIAQgBmo0AgB8IhEgADQCEFUEQCARIAA1AhR9.IREMAQsgESAANAIMWQ0AIBEgADUCFHwhEQsgBiAQaiARPgIAIAVBAWoiBSAAKAIISA0ACwsgCUEBaiIJIAxHDQALCyAHQSBqJAAgAyANTg8LEBUACy0BAX8g.AEHMITYCACAAQcwZNgIAIAAoAiAiAQRAIAAgATYCJCABEAULIAAQBQsrAQF/IABBzCE2AgAgAEHMGTYCACAAKAIgIgEEQCAAIAE2AiQgARAFCyAAC5wMAhJ+.C38jAEEQayIgJAACQAJAIARBAkcNACAAQQI2AgggACAFNgJAIABBIGpBAhAMIAMgACgCOCIEKAIEIAQoAgBrIgRBAXVIDQBBASEeIARBAnUiIUEATA0AIABB.PGohBSAAQcQAaiEiQQAhAwNAIAMgACgCOCIEKAIEIAQoAgAiBGtBAnVPDQIgICAEIANBAnRqKAIANgIMAn8jAEHQAGsiGSQAQX8hBAJ/QX8gICgCDCIYQX9G.DQAaIBhBAWoiBCAYQQJrIARBA3AbIQQgGEEBayAYQQNwDQAaIBhBAmoLIRwCQCAFKAIgKAIcIh8gBEECdGooAgAiGCAFKAIkIgQoAgQgBCgCACIaa0ECdSIE.Tw0AIAQgHyAcQQJ0aigCACIETQ0AIBogGEECdGooAgAhHQJAAkACQCAaIARBAnRqKAIAIhogA04NACADIB1MDQAgAiAaQQN0aiIEKAIEIRwgAiAdQQN0aiIY.KAIEIR4CQCAEKAIAIgQgGCgCACIfRw0AIBwgHkcNACAFIB42AgwgBSAfNgIIDAILIAUoAgQgA0ECdGooAgAhGCAZQgA3A0AgGUIANwM4IBlCADcDMCAZIAUo.AgAiGy0AVAR/IBgFIBsoAkQgGEECdGooAgALNgIYIBsgGUEYaiAbLAAYIBlBMGoQHyAFKAIEIB1BAnRqKAIAIRggGUIANwMoIBlCADcDICAZQgA3AxggGSAF.KAIAIhstAFQEfyAYBSAbKAJEIBhBAnRqKAIACzYCACAbIBkgGywAGCAZQRhqEB8gBSgCBCAaQQJ0aigCACEYIBlCADcDECAZQgA3AwggGUIANwMAIBkgBSgC.ACIaLQBUBH8gGAUgGigCRCAYQQJ0aigCAAs2AkwgGiAZQcwAaiAaLAAYIBkQHyAZKQMIIBkpAyAiEX0iCiAKfiAZKQMAIBkpAxgiEn0iCyALfnwgGSkDECAZ.KQMoIhN9IgwgDH58IghQDQBBACEaQv///////////wAgCIAgH6wiDSANQj+HIgaFIAZ9IgcgHqwiDiAOQj+HIgaFIAZ9IgYgBiAHVBtUDQIgGSkDOCIUIBF9.IAp+IBkpAzAiFSASfSALfnwgGSkDQCIWIBN9IAx+fCIJIAlCP4ciBoUgBn0iF0L///////////8AIASsIA19Ig8gD0I/hyIGhSAGfSIHIBysIA59IhAgEEI/.hyIGhSAGfSIGIAYgB1QbgFYNAiAXQv///////////wAgCyALQj+HIgaFIAZ9IgcgCiAKQj+HIgaFIAZ9IgYgBiAHVBsiByAMIAxCP4ciBoUgBn0iBiAGIAdU.G4BWDQIgFCARIAkgCn4gCH98fSIGIAZ+IBUgEiAJIAt+IAh/fH0iBiAGfnwgFiATIAkgDH4gCH98fSIGIAZ+fCAIfhD7ASEHIAUoAhQiBEUNAiAFKAIQIARB.AWsiGEEDdkH8////AXFqKAIAIQQgBSAYNgIUQQEhGiAFIAkgEH4gCCAOfnxCACAHIA9+IgZ9IAYgBCAYdkEBcSIEG3wgCH8+AgwgBSAJIA9+IAggDX58IAcg.EH4iBkIAIAZ9IAQbfCAIfz4CCAwCCyAFIAIgAyAdSgR/IB1BAXQFIANBAEwEQCAFQgA3AggMAgsgA0EBdEECawtBAnRqIgQoAgA2AgggBSAEKAIENgIMC0EB.IRoLIBlB0ABqJAAgGgwBCxAVAAsiHkUNAQJAIAAoAghBAEwNACACIANBA3QiHGohHyAAKAIgIR1BACEEA0ACQCAiIARBAnQiGmooAgAiGyAAKAIQIhhKBEAg.GiAdaiAYNgIADAELIBogHWohGiAAKAIMIhggG0oEQCAaIBg2AgAMAQsgGiAbNgIACyAEQQFqIgQgACgCCCIYSA0AC0EAIQQgGEEATA0AIAEgHGohGANAAkAg.GCAEQQJ0IhxqNAIAIBwgHWo0AgB8IgYgADQCEFUEQCAGIAA1AhR9IQYMAQsgBiAANAIMWQ0AIAYgADUCFHwhBgsgHCAfaiAGPgIAIARBAWoiBCAAKAIISA0A.CwsgA0EBaiIDICFHDQALCyAgQRBqJAAgHg8LEBUACzsBAX8gAEHcHzYCACAAKAJMIgEEQCABEAULIABBzBk2AgAgACgCICIBBEAgACABNgIkIAEQBQsgABAF.CzkBAX8gAEHcHzYCACAAKAJMIgEEQCABEAULIABBzBk2AgAgACgCICIBBEAgACABNgIkIAEQBQsgAAvBDQQJfwx9AXwBfiMAQRBrIgkkAAJAAkAgBEECRw0A.IAAgBTYCQCAAQQI2AkhBCBAGIQUgACgCRCEEIAAgBTYCRCAEBEAgBBAFCyAAQQI2AgggAEEgakECEAwgAyAAKAI4IgQoAgQgBCgCAGsiBEEBdUgNAEEBIQYg.BEECdSIMQQBMDQBBACEDA0AgAyAAKAI4IgQoAgQgBCgCACIEa0ECdU8NAiAJIAQgA0ECdGooAgA2AgwCf0MAAAAAIRAjAEEwayIEJABBfyEFAn9BfyAJKAIM.IgZBf0YNABogBkEBaiIFIAZBAmsgBUEDcBshBSAGQQFrIAZBA3ANABogBkECagshBwJAIAAoAjAoAhwiCCAFQQJ0aigCACIFIAAoAjQiBigCBCAGKAIAIgZr.QQJ1IgpPDQAgCCAHQQJ0aigCACIHIApPDQAgBiAFQQJ0aigCACEFAkACQCAGIAdBAnRqKAIAIgcgA04NACADIAVMDQAgAiAAKAJIIgYgB2xBAnRqIggoAgSy.IREgAiAFIAZsQQJ0aiIGKAIEsiETAkAgCCgCALIiEiAGKAIAsiIZXA0AIBEgE1wNACAAKAJEIgVBgICAgHhBgICAgHggEvwAIBK7RAAAwP///99BZBsgEkMA.AADPXRs2AgACQCARQwAAAM9dDQAgEbtEAADA////30FkDQAgBSAR/AA2AgRBASEGDAMLIAVBgICAgHg2AgRBASEGDAILIAAoAkAgA0ECdGooAgAhCCAEQQA2.AiggBEIANwMgIAQgACgCPCIGLQBUBH8gCAUgBigCRCAIQQJ0aigCAAs2AhAgBiAEQRBqIAYsABggBEEgahAiGiAAKAJAIAVBAnRqKAIAIQYgBEEANgIYIARC.ADcDECAEIAAoAjwiBS0AVAR/IAYFIAUoAkQgBkECdGooAgALNgIAIAUgBCAFLAAYIARBEGoQIhogACgCQCAHQQJ0aigCACEGIARBADYCCCAEQgA3AwAgBCAA.KAI8IgUtAFQEfyAGBSAFKAJEIAZBAnRqKAIACzYCLCAFIARBLGogBSwAGCAEECIaIAQqAgggBCoCGCIUkyIPIA+UIAQqAgQgBCoCFCIVkyIWIBaUIAQqAgAg.BCoCECIakyIXIBeUQwAAAACSkpIhGAJ9IAAoAlhBggJOBEBDAAAAACAYQwAAAABeRQ0BGgsgBCoCKCAUkyIQIA8gDyAQlCAWIAQqAiQgFZMiD5QgFyAEKgIg.IBqTIhSUQwAAAACSkpIgGJUiEJSTIhUgFZQgDyAWIBCUkyIPIA+UIBQgFyAQlJMiDyAPlEMAAAAAkpKSIBiVkQshDyAAKAJQIgUEQCAAKAJMIAVBAWsiBkED.dkH8////AXFqKAIAIQcgACAGNgJQIAAoAkQiCEGAgICAeEGAgICAeEGAgICAeCARIBOTIhEgEJQgE5IgEiAZkyISIA+UIhMgE4wgByAGdkEBcSIGG5K7RAAA.AAAAAOA/oJwiG/wCIBtEAADA////30FkGyAbIBtiGyAbRAAAAAAAAODBYxs2AgQgCEGAgICAeEGAgICAeEGAgICAeCASIBCUIBmSIBEgD5QiEIwgECAGG5K7.RAAAAAAAAOA/oJwiG/wCIBtEAADA////30FkGyAbIBtiGyAbRAAAAAAAAODBYxs2AgALIAVBAEchBgwBCyADIAVMBEAgA0EATARAQQEhBiAAKAJIQQBMDQIg.ACgCRCEHQQAhBQNAIAcgBUECdGpBADYCACAFQQFqIgUgACgCSEgNAAsMAgsgA0EBayEFC0EBIQYgACgCSCIHQQBMDQAgAiAFIAdsQQJ0aiEHIAAoAkQhCEEA.IQUDQCAIIAVBAnQiBmogBiAHaigCADYCAEEBIQYgBUEBaiIFIAAoAkhIDQALCyAEQTBqJAAgBgwBCxAVAAsiBkUNAQJAIAAoAghBAEwNACACIANBA3QiCmoh.DSAAKAJEIQ4gACgCICEFQQAhBANAAkAgDiAEQQJ0IgdqKAIAIgggACgCECILSgRAIAUgB2ogCzYCAAwBCyAFIAdqIQcgACgCDCILIAhKBEAgByALNgIADAEL.IAcgCDYCAAsgBEEBaiIEIAAoAggiB0gNAAtBACEEIAdBAEwNACABIApqIQgDQAJAIAggBEECdCIHajQCACAFIAdqNAIAfCIcIAA0AhBVBEAgHCAANQIUfSEc.DAELIBwgADQCDFkNACAcIAA1AhR8IRwLIAcgDWogHD4CACAEQQFqIgQgACgCCEgNAAsLIANBAWoiAyAMRw0ACwsgCUEQaiQAIAYPCxAVAAvWAwILfwN+IwBB.IGsiBCQAIARBADYCHAJAAkAgAS8BJkGBBE0EQCABKQMQIg1CBHwiDiABKQMIVQ0CIAEoAgAgDadqKAAAIQUgASAONwMQDAELQQEgBEEcaiABECRFDQEgBCgC.HCEFCyAFRQ0AIAUgACgCMCgCQCICKAIEIAIoAgBrQQJ1Sw0AIABBzABqIAUQIyAEQQxqIgJCADcABSACQgA3AgACQCACIgogARAIRQ0AQQEhAgNAQQEgB3Qh.BiAKEBAhCSAAKAJMIAdBA3ZB/P///wFxaiEIAn8gCSALcyIDQQFxBEAgCCgCACAGcgwBCyAIKAIAIAZBf3NxCyEGIAIgCXMhCyAIIAY2AgAgAyECIAdBAWoi.ByAFRw0ACyABKQMIIg8gASkDECINQgR8Ig5TDQAgASgCACIDIA2naigAACECIAEgDjcDECAPIA1CCHwiDVMNACADIA6naigAACEDIAEgDTcDECACIANKDQAg.ACADNgIQIAAgAjYCDCADrCACrH0iDUL+////B1YNAEEBIQwgACANpyICQQFqIgE2AhQgACABQQF2IgE2AhggAEEAIAFrNgIcIAJBAXFFDQAgACABQQFrNgIY.CwsgBEEgaiQAIAwLBABBAgtSAQF/IABB9B02AgAgACgCTCIBBEAgARAFCyAAKAJEIQEgAEEANgJEIAEEQCABEAULIABBzBk2AgAgACgCICIBBEAgACABNgIk.IAEQBQsgABAFC1ABAX8gAEH0HTYCACAAKAJMIgEEQCABEAULIAAoAkQhASAAQQA2AkQgAQRAIAEQBQsgAEHMGTYCACAAKAIgIgEEQCAAIAE2AiQgARAFCyAA.C4wUAh5/AX4jAEFAaiIJJAAgACAENgIIIABBIGogBBAMIAlCADcDOCAJQgA3AzAgCUIANwMoIAlCADcDICAJQgA3AxggCUIANwMQIAlBADYCDCAJQRBqIgUg.BCAJQQxqIggQHSAJQQA2AgwgBUEMciAEIAgQHSAJQQA2AgwgCUEoaiAEIAgQHSAJQQA2AgwgCUE0aiAEIAgQHQJAIAAoAghBAEwNACAJKAIQIQggACgCICEL.A0ACQCAIIAdBAnQiCmooAgAiBiAAKAIQIgVKBEAgCiALaiAFNgIADAELIAogC2ohCiAAKAIMIgUgBkoEQCAKIAU2AgAMAQsgCiAGNgIACyAHQQFqIgcgACgC.CCIFSA0ACyAFQQBMDQBBACEHA0ACQCABIAdBAnQiBWo0AgAgBSALajQCAHwiJCAANAIQVQRAICQgADUCFH0hJAwBCyAkIAA0AgxZDQAgJCAANQIUfCEkCyAC.IAVqICQ+AgAgB0EBaiIHIAAoAghIDQALCyAAKAI0ISAgACgCMCEPQRAQBiIYQgA3AgggGEIANwIAAkACQCAERQ0AIARBgICAgARPDQEgBEECdCIFEAYhDCAF.RQ0AIAxBACAF/AsACwJAIAMgACgCOCIFKAIEIAUoAgAiIWtBAnUiGiAEbEgNACAaQQJIBEBBASEWDAELIARBfnEhGyAEQQFxIRwgBEF8cSEiIARBA3EhHSAE.QQFrIR4gBEECdCEfIABBPGohI0EBIRADQAJAAn8CQCAhIBBBAnRqKAIAIghBf0YNAEEBIQpBASAIQQFrIAhBAmoiBiAIQQNwIgUbIhF0IRZBACEDIAVBAEcg.BkF/R3IhFyAPKAIAIRMgEUEFdkECdCELIAghBwJAA0ACQCATIAdBA3ZB/P///wFxaigCACAHdkEBcQ0AIA8oAkAoAgwgB0ECdGooAgAiEkF/Rg0AIAlBEGog.A0EMbGooAgAhGSAgKAIAIg0gDygCHCIGIBJBAWoiBSASQQJrIAVBA3AbQQJ0aigCAEECdGooAgAhFCANIAYgEkECdGoiBSgCAEECdGooAgAiBiAQTg0AIBAg.FEwNACANIAVBfEEIIBJBA3AbaigCAEECdGooAgAiBSAQTg0AAkAgBEUNACACIAQgBmxBAnRqIRIgAiAEIAVsQQJ0aiENIAIgBCAUbEECdGohBkEAIQ5BACEV.IB4EQANAIBkgDkECdCIFaiAFIA1qKAIAIAUgBmooAgBqIAUgEmooAgBrNgIAIBkgBUEEciIFaiAFIA1qKAIAIAUgBmooAgBqIAUgEmooAgBrNgIAIA5BAmoh.DiAVQQJqIhUgG0cNAAsgHEUNAQsgGSAOQQJ0IgVqIAUgDWooAgAgBSAGaigCAGogBSASaigCAGs2AgALQQQhBSADQQFqIgNBBEYNAgsCQCAKQQFxBEAgB0EC.ayEFIAdBAWohBkF/IQcgBiAFIAZBA3AbIgVBf0YNASAPKAIAIAVBA3ZB/P///wFxaigCACAFdkEBcQ0BIA8oAkAoAgwgBUECdGooAgAiBkF/Rg0BIAZBAWoi.BSAGQQJrIAVBA3AbIQcMAQsCQCAHQQNwBEAgB0EBayEGDAELIAdBAmohBkF/IQcgBkF/Rg0BC0F/IQcgDygCACAGQQN2Qfz///8BcWooAgAgBnZBAXENACAP.KAJAKAIMIAZBAnRqKAIAIgVBf0YNACAFQQNwBEAgBUEBayEHDAELIAVBAmohBwsCQCAHIAhGDQAgCiAHQX9GcQRAIBdFDQEgDygCACALaigCACAWcQ0BIA8o.AkAoAgwgEUECdGooAgAiBUF/Rg0BIAVBAWsgBUECaiAFQQNwGyEHQQAhCgsgB0F/Rw0BCwsgAyIFQQBMDQELAkAgBEUNACAfRQ0AIAxBACAf/AsAC0EAIRYg.IyAFQQFrIgNBDGxqIhMoAgQiCCAYIANBAnRqIgsoAgAiCmsiA0EAIAMgCE0bIQdBACEVQQAhEQNAIAsgCiIDQQFqIgo2AgAgByAVRg0FAkAgEygCACADQQN2.Qfz///8BcWooAgAgA3ZBAXENACARQQFqIREgBEUNACAJQRBqIBVBDGxqKAIAIQ1BACEOQQAhA0EAIRdBACEGIARBBE8EQANAIAwgA0ECdCIUaiIIIA0gFGoo.AgAgCCgCAGo2AgAgDCAUQQRyIgZqIgggBiANaigCACAIKAIAajYCACAMIBRBCHIiBmoiCCAGIA1qKAIAIAgoAgBqNgIAIAwgFEEMciIGaiIIIAYgDWooAgAg.CCgCAGo2AgAgA0EEaiEDIBdBBGoiFyAiRw0ACyADIQYgHUUNAQsDQCAMIAZBAnQiCGoiAyAIIA1qKAIAIAMoAgBqNgIAIAZBAWohBiAOQQFqIg4gHUcNAAsL.IBVBAWoiFSAFRw0ACyAEIBBsIgUgEUUNARoCQCAERQ0AQQAhBkEAIQ4gHgRAA0AgDCAGQQJ0aiIDIAMoAgAgEW02AgAgAyADKAIEIBFtNgIEIAZBAmohBiAO.QQJqIg4gG0cNAAsgHEUNAQsgDCAGQQJ0aiIDIAMoAgAgEW02AgALIAAoAghBAEwNAiACIAVBAnQiCGohBSAAKAIgIQtBACEHA0ACQCAMIAdBAnQiCmooAgAi.BiAAKAIQIgNKBEAgCiALaiADNgIADAELIAogC2ohCiAAKAIMIgMgBkoEQCAKIAM2AgAMAQsgCiAGNgIACyAHQQFqIgcgACgCCCIDSA0AC0EAIQcgA0EATA0C.IAEgCGohAwNAAkAgAyAHQQJ0IghqNAIAIAggC2o0AgB8IiQgADQCEFUEQCAkIAA1AhR9ISQMAQsgJCAANAIMWQ0AICQgADUCFHwhJAsgBSAIaiAkPgIAIAdB.AWoiByAAKAIISA0ACwwCCyAEIBBsCyEDIAAoAghBAEwNACACIANBAnQiCmohCCACIBBBAWsgBGxBAnRqIQUgACgCICETQQAhBwNAAkAgBSAHQQJ0IgZqKAIA.IgsgACgCECIDSgRAIAYgE2ogAzYCAAwBCyAGIBNqIQYgACgCDCIDIAtKBEAgBiADNgIADAELIAYgCzYCAAsgB0EBaiIHIAAoAggiA0gNAAtBACEHIANBAEwN.ACABIApqIQMDQAJAIAMgB0ECdCIFajQCACAFIBNqNAIAfCIkIAA0AhBVBEAgJCAANQIUfSEkDAELICQgADQCDFkNACAkIAA1AhR8ISQLIAUgCGogJD4CACAH.QQFqIgcgACgCCEgNAAsLQQEhFiAQQQFqIhAgGkcNAAsLIAwEQCAMEAULIBgQBSAJKAI0IgAEQCAJIAA2AjggABAFCyAJKAIoIgAEQCAJIAA2AiwgABAFCyAJ.KAIcIgAEQCAJIAA2AiAgABAFCyAJKAIQIgAEQCAJIAA2AhQgABAFCyAJQUBrJAAgFg8LEAcAC8kHAgd/A34jAEEgayIFJAACQCABLwEmQYEETQRAIAEpAxAi.CSABKQMIWQ0BIAEoAgAgCadqLQAAIAEgCUIBfDcDEA0BCwJAQQEgBUEcaiABECRFDQAgBSgCHCIEIAAoAjAoAkAiAigCBCACKAIAa0ECdUsNAAJAIAQEQEEA.IQIgAEE8aiAEECMgBUEMaiIDQgA3AAUgA0IANwIAIAMiByABEAhFDQEDQEEBIAJ0IQMgBxAQIQggACgCPCACQQN2Qfz///8BcWoiBgJ/IAgEQCAGKAIAIANy.DAELIAYoAgAgA0F/c3ELNgIAIAJBAWoiAiAERw0ACwtBASAFQRxqIAEQJEUNASAFKAIcIgQgACgCMCgCQCICKAIEIAIoAgBrQQJ1Sw0BIAQEQEEAIQIgAEHI.AGogBBAjIAVBDGoiA0IANwAFIANCADcCACADIgcgARAIRQ0BA0BBASACdCEDIAcQECEIIAAoAkggAkEDdkH8////AXFqIgYCfyAIRQRAIAYoAgAgA0F/c3EM.AQsgBigCACADcgs2AgAgAkEBaiICIARHDQALC0EBIAVBHGogARAkRQ0BIAUoAhwiBCAAKAIwKAJAIgIoAgQgAigCAGtBAnVLDQEgBARAQQAhAiAAQdQAaiAE.ECMgBUEMaiIDQgA3AAUgA0IANwIAIAMiByABEAhFDQEDQEEBIAJ0IQMgBxAQIQggACgCVCACQQN2Qfz///8BcWoiBgJ/IAhFBEAgBigCACADQX9zcQwBCyAG.KAIAIANyCzYCACACQQFqIgIgBEcNAAsLQQEgBUEcaiABECRFDQEgBSgCHCIEIAAoAjAoAkAiAigCBCACKAIAa0ECdUsNASAEBEBBACECIABB4ABqIAQQIyAF.QQxqIgNCADcABSADQgA3AgAgAyIHIAEQCEUNAQNAQQEgAnQhAyAHEBAhCCAAKAJgIAJBA3ZB/P///wFxaiIGAn8gCEUEQCAGKAIAIANBf3NxDAELIAYoAgAg.A3ILNgIAIAJBAWoiAiAERw0ACwtBACECIAEpAwgiCyABKQMQIglCBHwiClMNAiABKAIAIgMgCadqKAAAIQQgASAKNwMQIAsgCUIIfCIJUw0CIAMgCqdqKAAA.IQMgASAJNwMQIAMgBEgNAiAAIAM2AhAgACAENgIMIAOsIASsfSIJQv7///8HVg0CQQEhAiAAIAmnIgRBAWoiATYCFCAAIAFBAXYiATYCGCAAQQAgAWs2Ahwg.BEEBcUUNAiAAIAFBAWs2AhgMAgsLQQAhAgsgBUEgaiQAIAILZQEBfyAAQfgbNgIAIAAoAmAiAQRAIAEQBQsgACgCVCIBBEAgARAFCyAAKAJIIgEEQCABEAUL.IAAoAjwiAQRAIAEQBQsgAEHMGTYCACAAKAIgIgEEQCAAIAE2AiQgARAFCyAAEAULYwEBfyAAQfgbNgIAIAAoAmAiAQRAIAEQBQsgACgCVCIBBEAgARAFCyAA.KAJIIgEEQCABEAULIAAoAjwiAQRAIAEQBQsgAEHMGTYCACAAKAIgIgEEQCAAIAE2AiQgARAFCyAAC9oOAhp/AX4gACAENgIIIABBIGogBBAMQX8gBEECdCIT.IARB/////wNLGyIFEAYhDSAFRSIGRQRAIA1BACAF/AsACyAFEAYhDiAGRQRAIA5BACAF/AsACwJAIAAoAggiCEEATA0AIAAoAiAhBkEAIQUDQAJAIA0gBUEC.dCIHaigCACIKIAAoAhAiCEoEQCAGIAdqIAg2AgAMAQsgBiAHaiEHIAAoAgwiCCAKSgRAIAcgCDYCAAwBCyAHIAo2AgALIAVBAWoiBSAAKAIIIghIDQALIAhB.AEwNAEEAIQUDQAJAIAEgBUECdCIHajQCACAGIAdqNAIAfCIgIAA0AhBVBEAgICAANQIUfSEgDAELICAgADQCDFkNACAgIAA1AhR8ISALIAIgB2ogID4CACAF.QQFqIgUgACgCCCIISA0ACwsCQCAAKAI4IgUoAgQgBSgCACIba0ECdSIUIARsIhwgA0oNACAUQQJIDQAgACgCNCEdIAAoAjAhEiAEQf7///8HcSEVIARBAXEh.FiAEQfz///8HcSEeIARBA3EhFyAEQQFrIRggBEEESSEfQQEhEANAIBsgEEECdGooAgAhCgJAIARBAEwiGQ0AIBNFDQAgDUEAIBP8CwALAkACQCAKQX9GBEAg.BCAQbCEHDAELIBIoAgAhGkEAIQ8gCiEFA0ACQCAaIAVBA3ZB/P///wFxaigCACAFdkEBcQ0AIBIoAkAoAgwgBUECdGooAgAiBkF/Rg0AIB0oAgAiByASKAIc.IgsgBkEBaiIJIAZBAmsgCUEDcBtBAnRqKAIAQQJ0aigCACEJIAcgCyAGQQJ0aiILKAIAQQJ0aigCACIMIBBODQAgCSAQTg0AIAcgC0F8QQggBkEDcBtqKAIA.QQJ0aigCACIGIBBODQACQCAZDQAgAiAEIAxsQQJ0aiEHIAIgBCAGbEECdGohCyACIAQgCWxBAnRqIQxBACEJQQAhEQJAIBgEQANAIA4gCUECdCIGaiAGIAtq.KAIAIAYgDGooAgBqIAYgB2ooAgBrNgIAIA4gBkEEciIGaiAGIAtqKAIAIAYgDGooAgBqIAYgB2ooAgBrNgIAIAlBAmohCSARQQJqIhEgFUcNAAsgFkUNAQsg.DiAJQQJ0IgZqIAYgC2ooAgAgBiAMaigCAGogBiAHaigCAGs2AgALQQAhCUEAIQdBACELQQAhBiAfRQRAA0AgDSAHQQJ0IgZqIgwgBiAOaigCACAMKAIAajYC.ACANIAZBBHIiDGoiESAMIA5qKAIAIBEoAgBqNgIAIA0gBkEIciIMaiIRIAwgDmooAgAgESgCAGo2AgAgDSAGQQxyIgZqIgwgBiAOaigCACAMKAIAajYCACAH.QQRqIQcgC0EEaiILIB5HDQALIAchBiAXRQ0BCwNAIA0gBkECdCIHaiILIAcgDmooAgAgCygCAGo2AgAgBkEBaiEGIAlBAWoiCSAXRw0ACwsgD0EBaiEPCyAK.An8CQCAFQQNwBEAgBUEBayEGDAELQX8gBUECaiIGQX9GDQEaC0F/IBogBkEDdkH8////AXFqKAIAIAZ2QQFxDQAaQX8gEigCQCgCDCAGQQJ0aigCACIFQX9G.DQAaIAVBAWsgBUEDcA0AGiAFQQJqCyIFRyAFQX9HcQ0ACyAEIBBsIQcgD0UNAAJAIBkNAEEAIQZBACEJIBgEQANAIA0gBkECdGoiBSAFKAIAIA9tNgIAIAUg.BSgCBCAPbTYCBCAGQQJqIQYgCUECaiIJIBVHDQALIBZFDQELIA0gBkECdGoiBSAFKAIAIA9tNgIACyAIQQBMDQEgAiAHQQJ0IglqIQ8gACgCICEGQQAhBQNA.AkAgDSAFQQJ0IgdqKAIAIgogACgCECIISgRAIAYgB2ogCDYCAAwBCyAGIAdqIQcgACgCDCIIIApKBEAgByAINgIADAELIAcgCjYCAAsgBUEBaiIFIAAoAggi.CEgNAAtBACEFIAhBAEwNASABIAlqIQoDQAJAIAogBUECdCIHajQCACAGIAdqNAIAfCIgIAA0AhBVBEAgICAANQIUfSEgDAELICAgADQCDFkNACAgIAA1AhR8.ISALIAcgD2ogID4CACAFQQFqIgUgACgCCCIISA0ACwwBCyAIQQBMDQAgAiAHQQJ0IglqIQ8gAiAQQQFrIARsQQJ0aiELIAAoAiAhBkEAIQUDQAJAIAsgBUEC.dCIHaigCACIKIAAoAhAiCEoEQCAGIAdqIAg2AgAMAQsgBiAHaiEHIAAoAgwiCCAKSgRAIAcgCDYCAAwBCyAHIAo2AgALIAVBAWoiBSAAKAIIIghIDQALQQAh.BSAIQQBMDQAgASAJaiEKA0ACQCAKIAVBAnQiB2o0AgAgBiAHajQCAHwiICAANAIQVQRAICAgADUCFH0hIAwBCyAgIAA0AgxZDQAgICAANQIUfCEgCyAHIA9q.ICA+AgAgBUEBaiIFIAAoAggiCEgNAAsLIBBBAWoiECAURw0ACwsgDhAFIA0QBSADIBxOC5sKAhB/AX4gACAENgIIIABBIGogBBAMIAAoAjQhESAAKAIwIQ9B.fyAEQQJ0IARB/////wNLGyIFEAYhDSAFBEAgDUEAIAX8CwALAkAgACgCCCIGQQBMDQAgACgCICEJQQAhBQNAAkAgDSAFQQJ0IgZqKAIAIgcgACgCECIISgRA.IAYgCWogCDYCAAwBCyAGIAlqIQYgACgCDCIIIAdKBEAgBiAINgIADAELIAYgBzYCAAsgBUEBaiIFIAAoAggiBkgNAAsgBkEATA0AQQAhBQNAAkAgASAFQQJ0.IgZqNAIAIAYgCWo0AgB8IhYgADQCEFUEQCAWIAA1AhR9IRYMAQsgFiAANAIMWQ0AIBYgADUCFHwhFgsgAiAGaiAWPgIAIAVBAWoiBSAAKAIIIgZIDQALCwJA.IAAoAjgiBSgCBCAFKAIAIhJrQQJ1IhAgBGwiEyADSg0AIBBBAkgNACAEQf7///8HcSEUIARBAXEhFUEBIQkDQCAEIAlsIQwCQAJAIBIgCUECdGooAgAiBUF/.Rg0AIA8oAgAgBUEDdkH8////AXFqKAIAIAV2QQFxDQAgDygCQCgCDCAFQQJ0aigCACIFQX9GDQAgESgCACIHIA8oAhwiCCAFQQFqIgogBUECayAKQQNwG0EC.dGooAgBBAnRqKAIAIQsgByAIIAVBAnRqIggoAgBBAnRqKAIAIgogCU4NACAJIAtMDQAgByAIQXxBCCAFQQNwG2ooAgBBAnRqKAIAIgUgCU4NAAJAIARBAEwN.ACACIAQgCmxBAnRqIQggAiAEIAVsQQJ0aiEKIAIgBCALbEECdGohC0EAIQVBACEOIARBAUcEQANAIA0gBUECdCIHaiAHIApqKAIAIAcgC2ooAgBqIAcgCGoo.AgBrNgIAIA0gB0EEciIHaiAHIApqKAIAIAcgC2ooAgBqIAcgCGooAgBrNgIAIAVBAmohBSAOQQJqIg4gFEcNAAsgFUUNAQsgDSAFQQJ0IgVqIAUgCmooAgAg.BSALaigCAGogBSAIaigCAGs2AgALIAZBAEwNASACIAxBAnQiCmohCyAAKAIgIQdBACEFA0ACQCANIAVBAnQiBmooAgAiCCAAKAIQIgxKBEAgBiAHaiAMNgIA.DAELIAYgB2ohBiAAKAIMIgwgCEoEQCAGIAw2AgAMAQsgBiAINgIACyAFQQFqIgUgACgCCCIGSA0AC0EAIQUgBkEATA0BIAEgCmohCANAAkAgCCAFQQJ0IgZq.NAIAIAYgB2o0AgB8IhYgADQCEFUEQCAWIAA1AhR9IRYMAQsgFiAANAIMWQ0AIBYgADUCFHwhFgsgBiALaiAWPgIAIAVBAWoiBSAAKAIIIgZIDQALDAELIAZB.AEwNACACIAxBAnQiCmohCyACIAlBAWsgBGxBAnRqIQwgACgCICEHQQAhBQNAAkAgDCAFQQJ0IgZqKAIAIgggACgCECIOSgRAIAYgB2ogDjYCAAwBCyAGIAdq.IQYgACgCDCIOIAhKBEAgBiAONgIADAELIAYgCDYCAAsgBUEBaiIFIAAoAggiBkgNAAtBACEFIAZBAEwNACABIApqIQgDQAJAIAggBUECdCIGajQCACAGIAdq.NAIAfCIWIAA0AhBVBEAgFiAANQIUfSEWDAELIBYgADQCDFkNACAWIAA1AhR8IRYLIAYgC2ogFj4CACAFQQFqIgUgACgCCCIGSA0ACwsgCUEBaiIJIBBHDQAL.CyANEAUgAyATTgsCAAu4AQIDfgN/AkAgASkDCCIEIAEpAxAiAkIEfCIDUw0AIAEoAgAiBSACp2ooAAAhBiABIAM3AxAgBCACQgh8IgJTDQAgBSADp2ooAAAh.BSABIAI3AxAgBSAGSA0AIAAgBTYCECAAIAY2AgwgBawgBqx9IgJC/v///wdWDQBBASEHIAAgAqciBkEBaiIBNgIUIAAgAUEBdiIBNgIYIABBACABazYCHCAG.QQFxRQ0AIAAgAUEBazYCGAsgBwsKACAAKAIILQAYC8YSAQ1/AkACQAJAAkACQAJAAkACQCAAKAIIIgMoAhxBAWsOBgEAAwIFBAcLIAMtABgiBBAGIQYgACgC.ECIDKAJQBH8gAygCACgCACADKAIwagVBAAshCSABRQ0FIAQEQCAEQfwBcSEMIARBA3EhCiAEQQRJIQ0DQEEAIQVBACEDAkAgDUUEQANAIAMgBmoiByAJIAJB.AnRqIggoAgA6AAAgByAIKAIEOgABIAcgCCgCCDoAAiAHIAgoAgw6AAMgA0EEaiEDIAJBBGohAiAFQQRqIgUgDEcNAAsgCkUNAQtBACEFA0AgAyAGaiAJIAJB.AnRqKAIAOgAAIANBAWohAyACQQFqIQIgBUEBaiIFIApHDQALCyAEBEAgACgCCCgCQCgCACALaiAGIAT8CgAACyAEIAtqIQsgDkEBaiIOIAFHDQALDAYLIAFB.AUcEQCABQQFxIAFBfnEhAQNAIAJBAmoiAiABRw0AC0UNBgsMBQsgAy0AGCIEEAYhBiAAKAIQIgMoAlAEfyADKAIAKAIAIAMoAjBqBUEACyEJIAFFDQQgBARA.IARB/AFxIQwgBEEDcSEKIARBBEkhDQNAQQAhBUEAIQMCQCANRQRAA0AgAyAGaiIHIAkgAkECdGoiCCgCADoAACAHIAgoAgQ6AAEgByAIKAIIOgACIAcgCCgC.DDoAAyADQQRqIQMgAkEEaiECIAVBBGoiBSAMRw0ACyAKRQ0BC0EAIQUDQCADIAZqIAkgAkECdGooAgA6AAAgA0EBaiEDIAJBAWohAiAFQQFqIgUgCkcNAAsL.IAQEQCAAKAIIKAJAKAIAIAtqIAYgBPwKAAALIAQgC2ohCyAOQQFqIg4gAUcNAAsMBQsgAUEBRwRAIAFBAXEgAUF+cSEBA0AgAkECaiICIAFHDQALRQ0FCwwE.CyADLQAYIgJBAXQiBBAGIQYgACgCECIDKAJQBH8gAygCACgCACADKAIwagVBAAshCSABRQ0DIAIEQCACQfwBcSEMIAJBA3EhCiACQQRJIQ1BACECA0BBACEF.QQAhAwJAIA1FBEADQCAGIANBAXRqIgcgCSACQQJ0aiIIKAIAOwEAIAcgCCgCBDsBAiAHIAgoAgg7AQQgByAIKAIMOwEGIANBBGohAyACQQRqIQIgBUEEaiIF.IAxHDQALIApFDQELQQAhBQNAIAYgA0EBdGogCSACQQJ0aigCADsBACADQQFqIQMgAkEBaiECIAVBAWoiBSAKRw0ACwsgBARAIAAoAggoAkAoAgAgC2ogBiAE./AoAAAsgBCALaiELIA5BAWoiDiABRw0ACwwECyABQQFHBEAgAUEBcSABQX5xIQFBACECA0AgBEUiBUUEQCAAKAIIKAJAKAIAIAYgBPwKAAALIAVFBEAgACgC.CCgCQCgCACAGIAT8CgAACyACQQJqIgIgAUcNAAtFDQQLIARFDQMgACgCCCgCQCgCACAGIAT8CgAADAMLIAMtABgiAkEBdCIEEAYhBiAAKAIQIgMoAlAEfyAD.KAIAKAIAIAMoAjBqBUEACyEJIAFFDQIgAgRAIAJB/AFxIQwgAkEDcSEKIAJBBEkhDUEAIQIDQEEAIQVBACEDAkAgDUUEQANAIAYgA0EBdGoiByAJIAJBAnRq.IggoAgA7AQAgByAIKAIEOwECIAcgCCgCCDsBBCAHIAgoAgw7AQYgA0EEaiEDIAJBBGohAiAFQQRqIgUgDEcNAAsgCkUNAQtBACEFA0AgBiADQQF0aiAJIAJB.AnRqKAIAOwEAIANBAWohAyACQQFqIQIgBUEBaiIFIApHDQALCyAEBEAgACgCCCgCQCgCACALaiAGIAT8CgAACyAEIAtqIQsgDkEBaiIOIAFHDQALDAMLIAFB.AUcEQCABQQFxIAFBfnEhAUEAIQIDQCAERSIFRQRAIAAoAggoAkAoAgAgBiAE/AoAAAsgBUUEQCAAKAIIKAJAKAIAIAYgBPwKAAALIAJBAmoiAiABRw0AC0UN.AwsgBEUNAiAAKAIIKAJAKAIAIAYgBPwKAAAMAgsgAy0AGCICQQJ0IgQQBiEGIAAoAhAiAygCUAR/IAMoAgAoAgAgAygCMGoFQQALIQkgAUUNASACBEAgAkH8.AXEhDCACQQNxIQogAkEESSENQQAhAgNAQQAhBUEAIQMCQCANRQRAA0AgBiADQQJ0aiIHIAkgAkECdGoiCCgCADYCACAHIAgoAgQ2AgQgByAIKAIINgIIIAcg.CCgCDDYCDCADQQRqIQMgAkEEaiECIAVBBGoiBSAMRw0ACyAKRQ0BC0EAIQUDQCAGIANBAnRqIAkgAkECdGooAgA2AgAgA0EBaiEDIAJBAWohAiAFQQFqIgUg.CkcNAAsLIAQEQCAAKAIIKAJAKAIAIAtqIAYgBPwKAAALIAQgC2ohCyAOQQFqIg4gAUcNAAsMAgsgAUEBRwRAIAFBAXEgAUF+cSEBQQAhAgNAIARFIgVFBEAg.ACgCCCgCQCgCACAGIAT8CgAACyAFRQRAIAAoAggoAkAoAgAgBiAE/AoAAAsgAkECaiICIAFHDQALRQ0CCyAERQ0BIAAoAggoAkAoAgAgBiAE/AoAAAwBCyAD.LQAYIgJBAnQiBBAGIQYgACgCECIDKAJQBH8gAygCACgCACADKAIwagVBAAshCSABRQ0AIAIEQCACQfwBcSEMIAJBA3EhCiACQQRJIQ1BACECA0BBACEFQQAh.AwJAIA1FBEADQCAGIANBAnRqIgcgCSACQQJ0aiIIKAIANgIAIAcgCCgCBDYCBCAHIAgoAgg2AgggByAIKAIMNgIMIANBBGohAyACQQRqIQIgBUEEaiIFIAxH.DQALIApFDQELQQAhBQNAIAYgA0ECdGogCSACQQJ0aigCADYCACADQQFqIQMgAkEBaiECIAVBAWoiBSAKRw0ACwsgBARAIAAoAggoAkAoAgAgC2ogBiAE/AoA.AAsgBCALaiELIA5BAWoiDiABRw0ACwwBCyABQQFHBEAgAUEBcSABQX5xIQFBACECA0AgBEUiBUUEQCAAKAIIKAJAKAIAIAYgBPwKAAALIAVFBEAgACgCCCgC.QCgCACAGIAT8CgAACyACQQJqIgIgAUcNAAtFDQELIARFDQAgACgCCCgCQCgCACAGIAT8CgAACyAGEAVBASEGCyAGC8QXAQl/IwBBMGsiAyQAAkAgAkEBRw0A.IAAoAgQhBSAAKAIMIQYgA0EANgIoIANCADcDICADQgA3AxggA0IANwMQIANCADcDCAJ/AkACQCABQX5GDQAgBSgCBCgCCCAGQQJ0aigCACEKIAUgBSgCACgC.CBEAAEEBRgRAIAUvASQiAEEIdCAAQQh2ckH//wNxIQhBACEAIwBBIGsiAiQAIAUoAgQoAgggBkECdGooAgAhBCAFIAUoAgAoAggRAAAhBwJAIAFBAWsiC0EF.Sw0AIAdBAUcNACAFIAUoAgAoAiQRAAAhCSAFIAYgBSgCACgCLBEBACEHIAlFDQAgB0UNACAHQQxqIQAgBSAGIAUoAgAoAigRAQAiBgRAIAUoAiwhASACIAc2.AhggAiAGNgIQIAIgATYCDCACIAA2AhRBACEAAkACQAJAAkACQAJAAkACQCALDgYAAQMCBAUHC0E8EAYiACAENgIEIAAgAykCCDcCCCAAIAMpAhA3AhAgACAD.KQIYNwIYIABBADYCKCAAQgA3AiAgAygCJCIBIAMoAiAiBEcEQCABIARrIgFBAEgNBiAAIAEQBiIFNgIgIAAgASAFaiIGNgIoIAEEQCAFIAQgAfwKAAALIAAg.BjYCJAsgACACKQIUNwI0IAAgAikCDDcCLCAAQbgUNgIADAYLQTwQBiIAIAQ2AgQgACADKQIINwIIIAAgAykCEDcCECAAIAMpAhg3AhggAEEANgIoIABCADcC.ICADKAIkIgEgAygCICIERwRAIAEgBGsiAUEASA0FIAAgARAGIgU2AiAgACABIAVqIgY2AiggAQRAIAUgBCAB/AoAAAsgACAGNgIkCyAAIAIpAhQ3AjQgACAC.KQIMNwIsIABBiBo2AgAMBQtB8AAQBiIAIAQ2AgQgACADKQIINwIIIAAgAykCEDcCECAAIAMpAhg3AhggAEEANgIoIABCADcCICADKAIkIgEgAygCICIERwRA.IAEgBGsiAUEASA0EIAAgARAGIgU2AiAgACABIAVqIgY2AiggAQRAIAUgBCAB/AoAAAsgACAGNgIkCyAAIAIpAhQ3AjQgACACKQIMNwIsIABCADcCPCAAQfgb.NgIAIABCADcCRCAAQgA3AkwgAEIANwJUIABCADcCXCAAQgA3AmQgAEEANgJsDAQLQdwAEAYiACAENgIEIAAgAykCCDcCCCAAIAMpAhA3AhAgACADKQIYNwIY.IABBADYCKCAAQgA3AiAgAygCJCIBIAMoAiAiBEcEQCABIARrIgFBAEgNAyAAIAEQBiIFNgIgIAAgASAFaiIGNgIoIAEEQCAFIAQgAfwKAAALIAAgBjYCJAsg.ACACKQIUNwI0IAAgAikCDDcCLCAAQgA3AjwgAEH0HTYCACAAQgA3AkQgAEIANwJMIABBADYCVCAAIAg2AlgMAwtB7AAQBiIAIAQ2AgQgACADKQIINwIIIAAg.AykCEDcCECAAIAMpAhg3AhggAEEANgIoIABCADcCICADKAIkIgEgAygCICIERwRAIAEgBGsiAUEASA0CIAAgARAGIgU2AiAgACABIAVqIgY2AiggAQRAIAUg.BCAB/AoAAAsgACAGNgIkCyAAIAIpAhQ3AjQgACACKQIMNwIsIABBADYCVCAAQgA3AkwgAEIANwI8IABB3B82AgAgACACKQIMNwJYIAAgAikCFDcCYCAAQX82.AmgMAgtBgAEQBiIAIAQ2AgQgAEHMGTYCACAAIAMpAgg3AgggACADKQIQNwIQIAAgAykCGDcCGCAAQQA2AiggAEIANwIgIAMoAiQiASADKAIgIgRHBEAgASAE.ayIBQQBIDQEgACABEAYiBTYCICAAIAEgBWoiBjYCKCABBEAgBSAEIAH8CgAACyAAIAY2AiQLIAAgAikCFDcCNCAAIAIpAgw3AiwgAEIANwJAIABBzCE2AgAg.ACACKQIMNwJIIAAgAikCFDcCUCAAQoCAgPxzNwJoIABCfzcCYCAAQoGAgIBwNwJYIABBvCM2AjwgAEHwAGoiAUIANwAFIAFCADcCAAwBCxAHAAsMAQsgBSgC.LCEFIAIgBzYCGCACIAk2AhAgAiAFNgIMIAIgADYCFEEAIQACQAJAAkACQAJAAkACQAJAIAFBAWsOBgABAwIEBQcLQTwQBiIAIAQ2AgQgACADKQIINwIIIAAg.AykCEDcCECAAIAMpAhg3AhggAEEANgIoIABCADcCICADKAIkIgEgAygCICIERwRAIAEgBGsiAUEASA0GIAAgARAGIgU2AiAgACABIAVqIgY2AiggAQRAIAUg.BCAB/AoAAAsgACAGNgIkCyAAIAIpAhQ3AjQgACACKQIMNwIsIABBxCY2AgAMBgtBPBAGIgAgBDYCBCAAIAMpAgg3AgggACADKQIQNwIQIAAgAykCGDcCGCAA.QQA2AiggAEIANwIgIAMoAiQiASADKAIgIgRHBEAgASAEayIBQQBIDQUgACABEAYiBTYCICAAIAEgBWoiBjYCKCABBEAgBSAEIAH8CgAACyAAIAY2AiQLIAAg.AikCFDcCNCAAIAIpAgw3AiwgAEG8KTYCAAwFC0HwABAGIgAgBDYCBCAAIAMpAgg3AgggACADKQIQNwIQIAAgAykCGDcCGCAAQQA2AiggAEIANwIgIAMoAiQi.ASADKAIgIgRHBEAgASAEayIBQQBIDQQgACABEAYiBTYCICAAIAEgBWoiBjYCKCABBEAgBSAEIAH8CgAACyAAIAY2AiQLIAAgAikCFDcCNCAAIAIpAgw3Aiwg.AEIANwI8IABBoCs2AgAgAEIANwJEIABCADcCTCAAQgA3AlQgAEIANwJcIABCADcCZCAAQQA2AmwMBAtB3AAQBiIAIAQ2AgQgACADKQIINwIIIAAgAykCEDcC.ECAAIAMpAhg3AhggAEEANgIoIABCADcCICADKAIkIgEgAygCICIERwRAIAEgBGsiAUEASA0DIAAgARAGIgU2AiAgACABIAVqIgY2AiggAQRAIAUgBCAB/AoA.AAsgACAGNgIkCyAAIAIpAhQ3AjQgACACKQIMNwIsIABCADcCPCAAQZAtNgIAIABCADcCRCAAQgA3AkwgAEEANgJUIAAgCDYCWAwDC0HsABAGIgAgBDYCBCAA.IAMpAgg3AgggACADKQIQNwIQIAAgAykCGDcCGCAAQQA2AiggAEIANwIgIAMoAiQiASADKAIgIgRHBEAgASAEayIBQQBIDQIgACABEAYiBTYCICAAIAEgBWoi.BjYCKCABBEAgBSAEIAH8CgAACyAAIAY2AiQLIAAgAikCFDcCNCAAIAIpAgw3AiwgAEEANgJUIABCADcCTCAAQgA3AjwgAEHsLjYCACAAIAIpAgw3AlggACAC.KQIUNwJgIABBfzYCaAwCC0GAARAGIgAgBDYCBCAAQcwZNgIAIAAgAykCCDcCCCAAIAMpAhA3AhAgACADKQIYNwIYIABBADYCKCAAQgA3AiAgAygCJCIBIAMo.AiAiBEcEQCABIARrIgFBAEgNASAAIAEQBiIFNgIgIAAgASAFaiIGNgIoIAEEQCAFIAQgAfwKAAALIAAgBjYCJAsgACACKQIUNwI0IAAgAikCDDcCLCAAQgA3.AkAgAEHQMDYCACAAIAIpAgw3AkggACACKQIUNwJQIABCgICA/HM3AmggAEJ/NwJgIABCgYCAgHA3AlggAEGwMjYCPCAAQfAAaiIBQgA3AAUgAUIANwIADAEL.EAcACwsgAkEgaiQAIAAiBA0BC0EsEAYiBCAKNgIEIAQgAykCCDcCCCAEIAMpAhA3AhAgBCADKQIYNwIYIARBADYCKCAEQgA3AiAgAygCJCIAIAMoAiAiAUcE.QCAAIAFrIgBBAEgNAiAEIAAQBiICNgIgIAQgACACaiIFNgIoIAAEQCACIAEgAPwKAAALIAQgBTYCJAsgBEGgNTYCAAsgBAwBCxAHAAshBCADKAIgIgBFDQAg.AyAANgIkIAAQBQsgA0EwaiQAIAQLmAICA38DfgJAIAIpAwgiCCACKQMQIgZXDQAgAigCACIEIAanaiwAACEDIAIgBkIBfCIHNwMQIANBB2tB/wFxQfcBSQ0A.AkAgA0F+Rg0AIAcgCFkNASAEIAenaiwAACEEIAIgBkICfDcDECAEQQRrQf8BcUH7AUkNASAAIAMgBCAAKAIAKAIoEQMAIQQgACgCFCEDIAAgBDYCFCADRQ0A.IAMgAygCACgCBBECAAsgACgCFCIDBEAgACADIAAoAgAoAhwRAQBFDQELIAAgASACIAAoAgAoAiQRAwBFDQACQCAAKAIEIgJFDQAgAi0AJEEBSw0AIAAgASgC.BCABKAIAa0ECdSAAKAIAKAIwEQEARQ0BC0EBIQULIAULOQEBfwJ/IAAoAgQiAgRAQQEgAi0AJEECSQ0BGgsgACABKAIEIAEoAgBrQQJ1IAAoAgAoAjARAQAL.Cy4BAX8CQCABKAJYIgFFDQAgASgCAEECRw0AIAAgASgCCCgAADYCBEEBIQILIAILAgALC+5vGwBBhAgL5FA4BAAAAgAAAAMAAAAEAAAABQAAAAYAAAAHAAAA.CAAAAAkAAAAKAAAACwAAAAwAAAANAAAAmDoAAEQEAADEBwAATjVkcmFjbzI4QXR0cmlidXRlT2N0YWhlZHJvblRyYW5zZm9ybUUALSsgICAwWDB4ACVzOiVk.OiAlcwB2ZWN0b3IAL2Vtc2RrL2Vtc2NyaXB0ZW4vc3lzdGVtL2xpYi9saWJjeHhhYmkvc3JjL3ByaXZhdGVfdHlwZWluZm8uY3BwAHNraXBfYXR0cmlidXRl.X3RyYW5zZm9ybQBiYWRfYXJyYXlfbmV3X2xlbmd0aABiYXNpY19zdHJpbmcAY2F0Y2hpbmcgYSBjbGFzcyB3aXRob3V0IGFuIG9iamVjdD8AVXNpbmcgaW5j.b21wYXRpYmxlIGRlY29kZXIgZm9yIHRoZSBpbnB1dCBnZW9tZXRyeS4ARmFpbGVkIHRvIGRlY29kZSBwb2ludCBhdHRyaWJ1dGVzLgBGYWlsZWQgdG8gaW5p.dGlhbGl6ZSB0aGUgZGVjb2Rlci4AVW5rbm93biBtaW5vciB2ZXJzaW9uLgBVbmtub3duIG1ham9yIHZlcnNpb24uAElucHV0IGlzIG5vdCBhIG1lc2guAFVu.c3VwcG9ydGVkIGdlb21ldHJ5IHR5cGUuAE5vdCBhIERyYWNvIGZpbGUuAElucHV0IGlzIG5vdCBhIHBvaW50IGNsb3VkLgBVbnN1cHBvcnRlZCBlbmNvZGlu.ZyBtZXRob2QuAEZhaWxlZCB0byBkZWNvZGUgbWV0YWRhdGEuAEZhaWxlZCB0byBkZWNvZGUgZ2VvbWV0cnkgZGF0YS4AKG51bGwpAFB1cmUgdmlydHVhbCBm.dW5jdGlvbiBjYWxsZWQhAEtkVHJlZUF0dHJpYnV0ZXNEZWNvZGVyOiBjb21wcmVzc2lvbiBsZXZlbCAlaSBub3Qgc3VwcG9ydGVkLgoARmxvYXRQb2ludHNU.cmVlRGVjb2RlcjogY29tcHJlc3Npb24gbGV2ZWwgJWkgbm90IHN1cHBvcnRlZC4KAFZlcnNpb24gbm90IHN1cHBvcnRlZC4gCgBNZXRob2Qgbm90IHN1cHBv.cnRlZC4gCgAAAAAAAACMBwAADwAAABAAAAARAAAAEgAAABMAAAAUAAAAFQAAABYAAAAXAAAACwAAABgAAAAZAAAAmDoAAJgHAADEBwAATjVkcmFjbzMwQXR0.cmlidXRlUXVhbnRpemF0aW9uVHJhbnNmb3JtRQAAAABwOgAAzAcAAE41ZHJhY28xOEF0dHJpYnV0ZVRyYW5zZm9ybUUAAAAAAAAAACQIAAAaAAAAGwAAABwA.AAAdAAAAHgAAAB8AAAAgAAAAIQAAACIAAAAjAAAAJAAAACUAAACYOgAAMAgAAEwIAABONWRyYWNvMTdBdHRyaWJ1dGVzRGVjb2RlckUAcDoAAFQIAABONWRy.YWNvMjZBdHRyaWJ1dGVzRGVjb2RlckludGVyZmFjZUUAAAAAAAAAALQIAAAmAAAAJwAAABwAAAAdAAAAHgAAAB8AAAAgAAAAIQAAACIAAAAoAAAAKQAAACoA.AACYOgAAwAgAACQIAABONWRyYWNvMjNLZFRyZWVBdHRyaWJ1dGVzRGVjb2RlckUAAAAAAAAAEAkAACsAAAAsAAAALQAAAC4AAAAvAAAAMAAAADEAAAAyAAAA.MwAAAHA6AAAYCQAATjVkcmFjbzI2U2VxdWVudGlhbEF0dHJpYnV0ZURlY29kZXJFAAAAAP////8AAAAAgAkAADQAAAA1AAAAHAAAADYAAAA3AAAAHwAAACAA.AAAhAAAAOAAAADkAAAA6AAAAOwAAADwAAACYOgAAjAkAACQIAABONWRyYWNvMzdTZXF1ZW50aWFsQXR0cmlidXRlRGVjb2RlcnNDb250cm9sbGVyRQAAAAAA.+AkAAD0AAAA+AAAAPwAAAC4AAAAvAAAAMAAAAEAAAAAyAAAAQQAAAEIAAABDAAAARAAAAEUAAACYOgAABAoAABAJAABONWRyYWNvMzNTZXF1ZW50aWFsSW50.ZWdlckF0dHJpYnV0ZURlY29kZXJFAAAAAABsCgAARgAAAEcAAABIAAAASQAAAEoAAABLAAAATAAAAE0AAABOAAAATwAAAFAAAABRAAAAUgAAAJg6AAB4CgAA.HAsAAE41ZHJhY280ME1lc2hQcmVkaWN0aW9uU2NoZW1lUGFyYWxsZWxvZ3JhbURlY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1Ry.YW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQAAmDoAACgLAADACwAA.TjVkcmFjbzI3TWVzaFByZWRpY3Rpb25TY2hlbWVEZWNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRGVjb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0.TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUAAACYOgAAzAsAACAMAABONWRyYWNvMjNQcmVkaWN0.aW9uU2NoZW1lRGVjb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcERlY29kaW5nVHJhbnNmb3JtSWlpRUVFRQCYOgAALAwAAGAMAABONWRyYWNvMzdQ.cmVkaWN0aW9uU2NoZW1lVHlwZWREZWNvZGVySW50ZXJmYWNlSWlpRUUAmDoAAGwMAACYDAAATjVkcmFjbzMyUHJlZGljdGlvblNjaGVtZURlY29kZXJJbnRl.cmZhY2VFAABwOgAAoAwAAE41ZHJhY28yNVByZWRpY3Rpb25TY2hlbWVJbnRlcmZhY2VFAAAAAADACwAARgAAAFMAAAAjAAAASQAAACMAAABLAAAATAAAAE0A.AABOAAAATwAAAFAAAABRAAAAIwAAAAAAAAA8DQAARgAAAFQAAABVAAAASQAAAFYAAABLAAAATAAAAE0AAABOAAAATwAAAFAAAABRAAAAVwAAAJg6AABIDQAA.HAsAAE41ZHJhY280NU1lc2hQcmVkaWN0aW9uU2NoZW1lTXVsdGlQYXJhbGxlbG9ncmFtRGVjb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcERlY29k.aW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAAAAAAAsDgAA.WAAAAFkAAABaAAAASQAAAFsAAABLAAAATAAAAE0AAABOAAAATwAAAFwAAABRAAAAXQAAAJg6AAA4DgAAHAsAAE41ZHJhY281Nk1lc2hQcmVkaWN0aW9uU2No.ZW1lQ29uc3RyYWluZWRNdWx0aVBhcmFsbGVsb2dyYW1EZWNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRGVjb2RpbmdUcmFuc2Zvcm1JaWlFRU5T.XzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUAAAAAAAAoDwAAXgAAAF8AAABgAAAASQAAAGEA.AABiAAAAYwAAAGQAAABOAAAATwAAAGUAAABRAAAAZgAAAJg6AAA0DwAAHAsAAE41ZHJhY28zNk1lc2hQcmVkaWN0aW9uU2NoZW1lVGV4Q29vcmRzRGVjb2Rl.cklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcERlY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hB.dHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAAAAAAAAEBAAAGcAAABoAAAAaQAAAEkAAABqAAAAawAAAGwAAABtAAAATgAAAE8AAABuAAAAbwAAAHAAAACYOgAA.HBAAABwLAABONWRyYWNvNDRNZXNoUHJlZGljdGlvblNjaGVtZVRleENvb3Jkc1BvcnRhYmxlRGVjb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcERl.Y29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAAAAAAAA.ABEAAHEAAAByAAAAcwAAAEkAAAB0AAAAdQAAAHYAAAB3AAAATgAAAE8AAAB4AAAAUQAAAHkAAACYOgAADBEAABwLAABONWRyYWNvNDJNZXNoUHJlZGljdGlv.blNjaGVtZUdlb21ldHJpY05vcm1hbERlY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJl.ZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQAAAAAAAAAA0BEAAHoAAAB7AAAAfAAAAH0AAAB+AAAAmDoAANwR.AACIEgAATjVkcmFjbzQ4TWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxQcmVkaWN0b3JBcmVhSWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFw.RGVjb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUAAHA6.AACQEgAATjVkcmFjbzQ4TWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxQcmVkaWN0b3JCYXNlSWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFw.RGVjb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUAAAAA.AAB4EwAARgAAAH8AAACAAAAASQAAAIEAAABLAAAATAAAAE0AAABOAAAATwAAAFAAAABRAAAAggAAAJg6AACEEwAAHBQAAE41ZHJhY280ME1lc2hQcmVkaWN0.aW9uU2NoZW1lUGFyYWxsZWxvZ3JhbURlY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJl.ZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAAAAmDoAACgUAADACwAATjVkcmFjbzI3TWVzaFByZWRpY3Rpb25TY2hlbWVEZWNvZGVy.SWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRGVjb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVy.VGFibGVFRUVFRQAAAAAAAAAA8BQAAEYAAACDAAAAhAAAAEkAAACFAAAASwAAAEwAAABNAAAATgAAAE8AAABQAAAAUQAAAIYAAACYOgAA/BQAABwUAABONWRy.YWNvNDVNZXNoUHJlZGljdGlvblNjaGVtZU11bHRpUGFyYWxsZWxvZ3JhbURlY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5z.Zm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAAAAAAAA1BUAAIcAAACIAAAAiQAAAEkAAACKAAAA.SwAAAEwAAABNAAAATgAAAE8AAACLAAAAUQAAAIwAAACYOgAA4BUAABwUAABONWRyYWNvNTZNZXNoUHJlZGljdGlvblNjaGVtZUNvbnN0cmFpbmVkTXVsdGlQ.YXJhbGxlbG9ncmFtRGVjb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcERlY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2No.ZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUAAAAAAAAAxBYAAI0AAACOAAAAjwAAAEkAAACQAAAAkQAAAJIAAACTAAAATgAAAE8AAACUAAAAUQAAAJUA.AACYOgAA0BYAABwUAABONWRyYWNvMzZNZXNoUHJlZGljdGlvblNjaGVtZVRleENvb3Jkc0RlY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNv.ZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAAAAAAAAAKAXAACWAAAAlwAAAJgA.AABJAAAAmQAAAJoAAACbAAAAnAAAAE4AAABPAAAAnQAAAJ4AAACfAAAAmDoAAKwXAAAcFAAATjVkcmFjbzQ0TWVzaFByZWRpY3Rpb25TY2hlbWVUZXhDb29y.ZHNQb3J0YWJsZURlY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVt.ZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAAAAAAAAAIQYAACgAAAAoQAAAKIAAABJAAAAowAAAKQAAAClAAAApgAAAE4AAABPAAAApwAAAFEAAACoAAAA.mDoAAJAYAAAcFAAATjVkcmFjbzQyTWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxEZWNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFw.RGVjb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQAAAAAARBkAAKkAAACqAAAA.qwAAAKwAAACtAAAAmDoAAFAZAADwGQAATjVkcmFjbzQ4TWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxQcmVkaWN0b3JBcmVhSWlOU18zN1By.ZWRpY3Rpb25TY2hlbWVXcmFwRGVjb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVF.RQAAAHA6AAD4GQAATjVkcmFjbzQ4TWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxQcmVkaWN0b3JCYXNlSWlOU18zN1ByZWRpY3Rpb25TY2hl.bWVXcmFwRGVjb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQAAAAAAAADUGgAA.RgAAAK4AAACvAAAASQAAALAAAABLAAAATAAAAE0AAABOAAAATwAAAFAAAABRAAAAsQAAAJg6AADgGgAAwAsAAE41ZHJhY28yOFByZWRpY3Rpb25TY2hlbWVE.ZWx0YURlY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFRUUAAAAAAAAAAHgbAACyAAAAswAAALQAAAAuAAAA.LwAAALUAAABAAAAAMgAAAEEAAAC2AAAAtwAAALgAAAC5AAAAmDoAAIQbAAD4CQAATjVkcmFjbzMyU2VxdWVudGlhbE5vcm1hbEF0dHJpYnV0ZURlY29kZXJF.AAAAAAAA7BsAALoAAAC7AAAAvAAAAL0AAAC+AAAAvwAAAMAAAADBAAAAwgAAAMMAAADEAAAAUQAAAMUAAACYOgAA+BsAAKgcAABONWRyYWNvNDJNZXNoUHJl.ZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbERlY29kZXJJaU5TXzQ5UHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25EZWNvZGluZ1RyYW5zZm9y.bUlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAJg6AAC0HAAAWB0AAE41ZHJhY28y.N01lc2hQcmVkaWN0aW9uU2NoZW1lRGVjb2RlcklpTlNfNDlQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkRlY29kaW5nVHJhbnNmb3JtSWlFRU5T.XzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUAAAAAmDoAAGQdAAAgDAAATjVkcmFjbzIzUHJl.ZGljdGlvblNjaGVtZURlY29kZXJJaU5TXzQ5UHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25EZWNvZGluZ1RyYW5zZm9ybUlpRUVFRQAAAAAAAOAd.AADGAAAAxwAAAMgAAADJAAAAygAAAJg6AADsHQAApB4AAE41ZHJhY280OE1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFsUHJlZGljdG9yQXJl.YUlpTlNfNDlQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkRlY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRh.SU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUAAABwOgAArB4AAE41ZHJhY280OE1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFs.UHJlZGljdG9yQmFzZUlpTlNfNDlQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkRlY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rp.b25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUAAAAAAAAAoB8AAMsAAADMAAAAzQAAAL0AAADOAAAAzwAAANAAAADRAAAA.wgAAAMMAAADSAAAAUQAAANMAAACYOgAArB8AAFAgAABONWRyYWNvNDJNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbERlY29kZXJJaU5TXzQ5.UHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25EZWNvZGluZ1RyYW5zZm9ybUlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNv.cm5lclRhYmxlRUVFRUUAAJg6AABcIAAAWB0AAE41ZHJhY28yN01lc2hQcmVkaWN0aW9uU2NoZW1lRGVjb2RlcklpTlNfNDlQcmVkaWN0aW9uU2NoZW1lTm9y.bWFsT2N0YWhlZHJvbkRlY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQAAAAAA.DCEAANQAAADVAAAA1gAAANcAAADYAAAAmDoAABghAADEIQAATjVkcmFjbzQ4TWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxQcmVkaWN0b3JB.cmVhSWlOU180OVByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uRGVjb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURh.dGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAAAAAHA6AADMIQAATjVkcmFjbzQ4TWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxQcmVkaWN0b3JC.YXNlSWlOU180OVByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uRGVjb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURh.dGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAAAAAAAAAAC0IgAA2QAAANoAAADbAAAAvQAAANwAAADdAAAA3gAAAN8AAADCAAAAwwAAAOAAAABRAAAA4QAAAJg6.AADAIgAAWB0AAE41ZHJhY28yOFByZWRpY3Rpb25TY2hlbWVEZWx0YURlY29kZXJJaU5TXzQ5UHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25EZWNv.ZGluZ1RyYW5zZm9ybUlpRUVFRQAAAAAAYCMAAOIAAADjAAAA5AAAAOUAAADmAAAA5wAAAOgAAADpAAAA6gAAAOsAAADsAAAAUQAAAO0AAACYOgAAbCMAACwk.AABONWRyYWNvNDJNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbERlY29kZXJJaU5TXzYyUHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRy.b25DYW5vbmljYWxpemVkRGVjb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVy.VGFibGVFRUVFRQAAAACYOgAAOCQAAOgkAABONWRyYWNvMjdNZXNoUHJlZGljdGlvblNjaGVtZURlY29kZXJJaU5TXzYyUHJlZGljdGlvblNjaGVtZU5vcm1h.bE9jdGFoZWRyb25DYW5vbmljYWxpemVkRGVjb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmli.dXRlQ29ybmVyVGFibGVFRUVFRQAAAJg6AAD0JAAAIAwAAE41ZHJhY28yM1ByZWRpY3Rpb25TY2hlbWVEZWNvZGVySWlOU182MlByZWRpY3Rpb25TY2hlbWVO.b3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZERlY29kaW5nVHJhbnNmb3JtSWlFRUVFAAAAAAB8JQAA7gAAAO8AAADwAAAA8QAAAPIAAACYOgAAiCUAAEwm.AABONWRyYWNvNDhNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbFByZWRpY3RvckFyZWFJaU5TXzYyUHJlZGljdGlvblNjaGVtZU5vcm1hbE9j.dGFoZWRyb25DYW5vbmljYWxpemVkRGVjb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRl.Q29ybmVyVGFibGVFRUVFRQAAcDoAAFQmAABONWRyYWNvNDhNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbFByZWRpY3RvckJhc2VJaU5TXzYy.UHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25DYW5vbmljYWxpemVkRGVjb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVt.ZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQAAAAAAAFQnAADzAAAA9AAAAPUAAADlAAAA9gAAAPcAAAD4AAAA+QAAAOoAAADrAAAA.+gAAAFEAAAD7AAAAmDoAAGAnAAAQKAAATjVkcmFjbzQyTWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxEZWNvZGVySWlOU182MlByZWRpY3Rp.b25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZERlY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5T.XzExQ29ybmVyVGFibGVFRUVFRQCYOgAAHCgAAOgkAABONWRyYWNvMjdNZXNoUHJlZGljdGlvblNjaGVtZURlY29kZXJJaU5TXzYyUHJlZGljdGlvblNjaGVt.ZU5vcm1hbE9jdGFoZWRyb25DYW5vbmljYWxpemVkRGVjb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3Ju.ZXJUYWJsZUVFRUVFAAAAAAAAAADcKAAA/AAAAP0AAAD+AAAA/wAAAAABAACYOgAA6CgAAKApAABONWRyYWNvNDhNZXNoUHJlZGljdGlvblNjaGVtZUdlb21l.dHJpY05vcm1hbFByZWRpY3RvckFyZWFJaU5TXzYyUHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25DYW5vbmljYWxpemVkRGVjb2RpbmdUcmFuc2Zv.cm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAAAAcDoAAKgpAABONWRyYWNvNDhNZXNoUHJlZGljdGlv.blNjaGVtZUdlb21ldHJpY05vcm1hbFByZWRpY3RvckJhc2VJaU5TXzYyUHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25DYW5vbmljYWxpemVkRGVj.b2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAAAAAAAAAJwqAADZAAAAAQEAAAIB.AADlAAAAAwEAAAQBAAAFAQAABgEAAOoAAADrAAAABwEAAFEAAAAIAQAAmDoAAKgqAADoJAAATjVkcmFjbzI4UHJlZGljdGlvblNjaGVtZURlbHRhRGVjb2Rl.cklpTlNfNjJQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkNhbm9uaWNhbGl6ZWREZWNvZGluZ1RyYW5zZm9ybUlpRUVFRQAAAAAAAAAAYCsAAAkB.AAAKAQAACwEAAC4AAAAvAAAADAEAAEAAAAAyAAAAQQAAAA0BAABDAAAARAAAAA4BAAAPAQAAEAEAAJg6AABsKwAA+AkAAE41ZHJhY28zOFNlcXVlbnRpYWxR.dWFudGl6YXRpb25BdHRyaWJ1dGVEZWNvZGVyRQAAAAAAAAAA3CsAABEBAAASAQAAEwEAABQBAAAjAAAAFQEAABYBAAAXAQAAGAEAABkBAAAaAQAAGwEAACMA.AACYOgAA6CsAADA0AABONWRyYWNvMTFNZXNoRGVjb2RlckUAAAAAAAAAPCwAABwBAAAdAQAAEwEAAB4BAAAfAQAAFQEAABYBAAAXAQAAIAEAACEBAAAiAQAA.IwEAACQBAACYOgAASCwAANwrAABONWRyYWNvMjJNZXNoRWRnZWJyZWFrZXJEZWNvZGVyRQBB8dgAC/UFLQAAJQEAACYBAAAnAQAAKAEAACkBAAAqAQAAKwEA.ACwBAAAtAQAALgEAAP////8AAAAAkC0AAC8BAAAwAQAAMQEAADIBAAAzAQAANAEAADUBAAA2AQAANwEAADgBAAAAAAAA9C0AADkBAAA6AQAAOwEAADwBAAA9.AQAAPgEAAD8BAABAAQAAQQEAAEIBAACYOgAADC0AAFgtAABONWRyYWNvMjZNZXNoRWRnZWJyZWFrZXJEZWNvZGVySW1wbElOU18zMU1lc2hFZGdlYnJlYWtl.clRyYXZlcnNhbERlY29kZXJFRUUAcDoAAGAtAABONWRyYWNvMzVNZXNoRWRnZWJyZWFrZXJEZWNvZGVySW1wbEludGVyZmFjZUUAAACYOgAAnC0AAFgtAABO.NWRyYWNvMjZNZXNoRWRnZWJyZWFrZXJEZWNvZGVySW1wbElOU180MU1lc2hFZGdlYnJlYWtlclRyYXZlcnNhbFByZWRpY3RpdmVEZWNvZGVyRUVFAAAAmDoA.AAAuAABYLQAATjVkcmFjbzI2TWVzaEVkZ2VicmVha2VyRGVjb2RlckltcGxJTlNfMzhNZXNoRWRnZWJyZWFrZXJUcmF2ZXJzYWxWYWxlbmNlRGVjb2RlckVF.RQAAAAAAAGguAABDAQAARAEAAEUBAACYOgAAdC4AAOQuAABONWRyYWNvMTlEZXB0aEZpcnN0VHJhdmVyc2VySU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRh.YmxlRU5TXzM2TWVzaEF0dHJpYnV0ZUluZGljZXNFbmNvZGluZ09ic2VydmVySVMxX0VFRUUAAAAAcDoAAOwuAABONWRyYWNvMTNUcmF2ZXJzZXJCYXNlSU5T.XzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRU5TXzM2TWVzaEF0dHJpYnV0ZUluZGljZXNFbmNvZGluZ09ic2VydmVySVMxX0VFRUUAAAAAAADkLgAARgEA.AEcBAABFAQBB9N4AC44JAQAAAAMAAAAFAAAABwAAAAAAAACcLwAASAEAAEkBAABKAQAASwEAAJg6AACoLwAAMDAAAE41ZHJhY28yMk1lc2hUcmF2ZXJzYWxT.ZXF1ZW5jZXJJTlNfMjhNYXhQcmVkaWN0aW9uRGVncmVlVHJhdmVyc2VySU5TXzExQ29ybmVyVGFibGVFTlNfMzZNZXNoQXR0cmlidXRlSW5kaWNlc0VuY29k.aW5nT2JzZXJ2ZXJJUzJfRUVFRUVFAABwOgAAODAAAE41ZHJhY28xNVBvaW50c1NlcXVlbmNlckUAAAD/////AAAAAGwwAABMAQAATQEAAE4BAACYOgAAeDAA.AOQwAABONWRyYWNvMjhNYXhQcmVkaWN0aW9uRGVncmVlVHJhdmVyc2VySU5TXzExQ29ybmVyVGFibGVFTlNfMzZNZXNoQXR0cmlidXRlSW5kaWNlc0VuY29k.aW5nT2JzZXJ2ZXJJUzFfRUVFRQAAAABwOgAA7DAAAE41ZHJhY28xM1RyYXZlcnNlckJhc2VJTlNfMTFDb3JuZXJUYWJsZUVOU18zNk1lc2hBdHRyaWJ1dGVJ.bmRpY2VzRW5jb2RpbmdPYnNlcnZlcklTMV9FRUVFAAAAAAAAAOQwAABPAQAAUAEAAE4BAAAAAAAAdDEAAFEBAABSAQAAUwEAAFQBAACYOgAAgDEAADAwAABO.NWRyYWNvMjJNZXNoVHJhdmVyc2FsU2VxdWVuY2VySU5TXzE5RGVwdGhGaXJzdFRyYXZlcnNlcklOU18xMUNvcm5lclRhYmxlRU5TXzM2TWVzaEF0dHJpYnV0.ZUluZGljZXNFbmNvZGluZ09ic2VydmVySVMyX0VFRUVFRQAAAAAAAAAUMgAAVQEAAFYBAABOAQAAmDoAACAyAADkMAAATjVkcmFjbzE5RGVwdGhGaXJzdFRy.YXZlcnNlcklOU18xMUNvcm5lclRhYmxlRU5TXzM2TWVzaEF0dHJpYnV0ZUluZGljZXNFbmNvZGluZ09ic2VydmVySVMxX0VFRUUAAAAAAJgyAABXAQAAWAEA.AFkBAABaAQAAmDoAAKQyAAAwMAAATjVkcmFjbzIyTWVzaFRyYXZlcnNhbFNlcXVlbmNlcklOU18xOURlcHRoRmlyc3RUcmF2ZXJzZXJJTlNfMjRNZXNoQXR0.cmlidXRlQ29ybmVyVGFibGVFTlNfMzZNZXNoQXR0cmlidXRlSW5kaWNlc0VuY29kaW5nT2JzZXJ2ZXJJUzJfRUVFRUVFAAAAAAAAbDMAABEBAABbAQAAEwEA.ABQBAABcAQAAFQEAABYBAAAXAQAAGAEAABkBAAAaAQAAGwEAAF0BAACYOgAAeDMAANwrAABONWRyYWNvMjFNZXNoU2VxdWVudGlhbERlY29kZXJFAAAAAACw.MwAAXgEAAF8BAABgAQAAYQEAAJg6AAC8MwAAMDAAAE41ZHJhY28xNUxpbmVhclNlcXVlbmNlckUAAAAAAAAAMDQAABEBAABiAQAAYwEAABQBAAAjAAAAZAEA.ABYBAAAXAQAAGAEAQZDoAAvhA0ZhaWxlZCB0byBwYXJzZSBEcmFjbyBoZWFkZXIuAAAAcDoAADg0AABONWRyYWNvMTdQb2ludENsb3VkRGVjb2RlckUAAAAA.AIA0AAARAQAAZQEAAGMBAAAUAQAAZgEAAGcBAAAWAQAAFwEAABgBAACYOgAAjDQAADA0AABONWRyYWNvMjNQb2ludENsb3VkS2RUcmVlRGVjb2RlckUAAAAA.AAAA3DQAABEBAABoAQAAYwEAABQBAABpAQAAagEAABYBAAAXAQAAGAEAAJg6AADoNAAAMDQAAE41ZHJhY28yN1BvaW50Q2xvdWRTZXF1ZW50aWFsRGVjb2Rl.ckUAAAABAQICBAQICAQIAQAAAAAAAAAAwAAAAMAAAADAAAAAwP//////////AAAAAFA1AABrAQAAbAEAAG0BAABuAQAAmDoAAFw1AACMNQAATjVkcmFjbzRN.ZXNoRQAAAP////8AAAAAAAAAAIw1AABvAQAAcAEAAHEBAAByAQAAcDoAAJQ1AABONWRyYWNvMTBQb2ludENsb3VkRQAAAAAQPAAAGQALABkZGQAAAAAFAAAA.AAAACQAAAAALAAAAAAAAAAAZAAoKGRkZAwoHAAEACQsYAAAJBgsAAAsABhkAAAAZGRkAQYHsAAshDgAAAAAAAAAAGQALDRkZGQANAAACAAkOAAAACQAOAAAO.AEG77AALAQwAQcfsAAsVEwAAAAATAAAAAAkMAAAAAAAMAAAMAEH17AALARAAQYHtAAsVDwAAAAQPAAAAAAkQAAAAAAAQAAAQAEGv7QALARIAQbvtAAseEQAA.AAARAAAAAAkSAAAAAAASAAASAAAaAAAAGhoaAEHy7QALDhoAAAAaGhoAAAAAAAAJAEGj7gALARQAQa/uAAsVFwAAAAAXAAAAAAkUAAAAAAAUAAAUAEHd7gAL.ARYAQenuAAufCRUAAAAAFQAAAAAJFgAAAAAAFgAAFgAAMDEyMzQ1Njc4OUFCQ0RFRgAAAAACAAAAAwAAAAUAAAAHAAAACwAAAA0AAAARAAAAEwAAABcAAAAd.AAAAHwAAACUAAAApAAAAKwAAAC8AAAA1AAAAOwAAAD0AAABDAAAARwAAAEkAAABPAAAAUwAAAFkAAABhAAAAZQAAAGcAAABrAAAAbQAAAHEAAAB/AAAAgwAA.AIkAAACLAAAAlQAAAJcAAACdAAAAowAAAKcAAACtAAAAswAAALUAAAC/AAAAwQAAAMUAAADHAAAA0wAAAAEAAAALAAAADQAAABEAAAATAAAAFwAAAB0AAAAf.AAAAJQAAACkAAAArAAAALwAAADUAAAA7AAAAPQAAAEMAAABHAAAASQAAAE8AAABTAAAAWQAAAGEAAABlAAAAZwAAAGsAAABtAAAAcQAAAHkAAAB/AAAAgwAA.AIkAAACLAAAAjwAAAJUAAACXAAAAnQAAAKMAAACnAAAAqQAAAK0AAACzAAAAtQAAALsAAAC/AAAAwQAAAMUAAADHAAAA0QAAAAAAAAAKAAAAZAAAAOgDAAAQ.JwAAoIYBAEBCDwCAlpgAAOH1BQDKmjsAAAAAAAAAADAwMDEwMjAzMDQwNTA2MDcwODA5MTAxMTEyMTMxNDE1MTYxNzE4MTkyMDIxMjIyMzI0MjUyNjI3Mjgy.OTMwMzEzMjMzMzQzNTM2MzczODM5NDA0MTQyNDM0NDQ1NDY0NzQ4NDk1MDUxNTI1MzU0NTU1NjU3NTg1OTYwNjE2MjYzNjQ2NTY2Njc2ODY5NzA3MTcyNzM3.NDc1NzY3Nzc4Nzk4MDgxODI4Mzg0ODU4Njg3ODg4OTkwOTE5MjkzOTQ5NTk2OTc5ODk5mDoAABQ6AAD0OwAATjEwX19jeHhhYml2MTE2X19zaGltX3R5cGVf.aW5mb0UAAAAAmDoAAEQ6AAAIOgAATjEwX19jeHhhYml2MTE3X19jbGFzc190eXBlX2luZm9FAAAAAAAAADg6AAB4AQAAeQEAAHoBAAB7AQAAfAEAAH0BAAB+.AQAAfwEAAAAAAAC4OgAAeAEAAIABAAB6AQAAewEAAHwBAACBAQAAggEAAIMBAACYOgAAxDoAADg6AABOMTBfX2N4eGFiaXYxMjBfX3NpX2NsYXNzX3R5cGVf.aW5mb0UAAAAAAAAAADQ7AAAOAAAAhAEAAIUBAABwOgAACDsAAFN0OWV4Y2VwdGlvbgAAAACYOgAAJDsAAAA7AABTdDliYWRfYWxsb2MAAAAAmDoAAEA7AAAY.OwAAU3QyMGJhZF9hcnJheV9uZXdfbGVuZ3RoAAAAAAAAAABwOwAAAQAAAIYBAACHAQAAmDoAAHw7AAAAOwAAU3QxMWxvZ2ljX2Vycm9yAAAAAACgOwAAAQAA.AIgBAACHAQAAmDoAAKw7AABwOwAAU3QxMmxlbmd0aF9lcnJvcgAAAAAAAAAA1DsAAAEAAACJAQAAhwEAAJg6AADgOwAAcDsAAFN0MTJvdXRfb2ZfcmFuZ2UA.AAAAcDoAAPw7AABTdDl0eXBlX2luZm8AQZD4AAsBBQBBnPgACwJzAQBBtPgACwp0AQAAdQEAAIw9AEHM+AALAQIAQdz4AAsI//////////8AQaD5AAsBBQBB.rPkACwJ2AQBBxPkACw50AQAAdwEAAJg9AAAABABB3PkACwEBAEHs+QALBf////8KAEGw+gALB7hBAADQQwE=`.split(`.`).join(``),vh=null})),bh=0,xh=1,Sh=2,Ch=2,wh=4,Th=6,Eh=9,Dh=0,Oh=1,kh=`DRACO`,Ah=1,jh=67108864,Mh=null;function Nh(){return Mh||(Mh=Promise.resolve().then(()=>(yh(),ph)).then(e=>e.default())),Mh}function Ph(e,t,n,r){let i=Math.max(1,r.num_components()),a=n.num_points()*i,o;switch(r.data_type()){case Eh:if(o=new e.DracoFloat32Array,!t.GetAttributeFloatForAllPoints(n,r,o))return null;break;case Ch:if(o=new e.DracoUInt8Array,!t.GetAttributeUInt8ForAllPoints(n,r,o))return null;break;case wh:if(o=new e.DracoUInt16Array,!t.GetAttributeUInt16ForAllPoints(n,r,o))return null;break;case Th:if(o=new e.DracoUInt32Array,!t.GetAttributeUInt32ForAllPoints(n,r,o))return null;break;default:return null}let s=o.size(),c=r.data_type()===Eh,l;l=c?new Float32Array(a):r.data_type()===wh?new Uint16Array(a):r.data_type()===Th?new Uint32Array(a):new Uint8Array(a);for(let e=0;e<s&&e<a;e++)l[e]=o.GetValue(e);return e.destroy(o),l}var Fh=[[190,190,190],[166,166,166],[139,119,101],[35,190,35],[60,179,60],[30,160,30],[255,170,60],[255,110,190],[190,190,190],[60,120,255],[255,235,80],[255,200,120],[200,120,255],[255,120,255],[255,235,60],[255,200,40],[120,200,255],[200,160,255],[255,60,60]];async function Ih(e,t){let n=await Nh(),r=e.u32(),i=e.offset;e.u32();let a=e.i32(),o=e.i32(),s=e.i32();e.i32();let c=e.u32();if(c>16)throw Error(`[s3m] Draco 自定义属性个数异常:texCoordCount=${c}`);let l=[];for(let t=0;t<c;t++)l.push(e.i32());e.u32();let u=e.u32();if(u<16||u>e.remaining)throw Error(`[s3m] Draco 流长度异常:dracoSize=${u},剩余 ${e.remaining} 字节`);let d=e.bytes(u);if(String.fromCharCode(...d.subarray(0,5))!==kh)throw Error(`[s3m] Draco 流缺少 "DRACO" magic,容器头解析错位`);e.align4();let f=e.string();e.align4();let p=new Map;try{let e=JSON.parse(f);for(let[t,n]of Object.entries(e)){let e=l[n];e!==void 0&&p.set(e,t)}}catch{}if(t.customVertexAttribute=f?Bh(f):void 0,r>0){let t=e.offset-i;t!==r&&console.warn(`[s3m] Draco 载荷长度不符:声明 ${r},实读 ${t}`)}let m=new n.Decoder,h=new n.PointCloud;try{let e=m.GetEncodedGeometryType(d);if(e!==Dh)throw Error(`[s3m] Draco ${e===Oh?`三角网格`:`未知`} 几何暂未实现(仅支持点云)`);let r=m.DecodeArrayToPointCloud(d,d.length,h);if(!r.ok())throw Error(`[s3m] Draco 解码失败:${r.error_msg()}`);let i=h.num_points();if(!Number.isInteger(i)||i<0||i>jh)throw Error(`[s3m] Draco 点数异常:${i}`);if(i===0)return t.verticesCount=0,[Lh()];let c=null;for(let e=0;e<h.num_attributes();e++){let r=m.GetAttribute(h,e),l=r.unique_id(),u=Math.max(1,r.num_components());if(l===a||r.attribute_type()===bh){if(r.data_type()!==Eh)throw Error(`[s3m] Draco 位置属性不是 float32(dt=${r.data_type()})`);let e=Ph(n,m,h,r);if(!e)throw Error(`[s3m] Draco 位置属性读取失败`);let a=new Float32Array(i*3);for(let t=0;t<i;t++)a[t*3]=e[t*u]??0,a[t*3+1]=e[t*u+1]??0,a[t*3+2]=e[t*u+2]??0;Rh(t,`position`,new Uint8Array(a.buffer),3,12,0,void 0,`f32`)}else if(l===s||r.attribute_type()===Sh){let e=Ph(n,m,h,r);if(e){let n=new Uint8Array(i*4),r=e instanceof Float32Array;for(let t=0;t<i;t++){let i=t*u;r?(n[t*4]=zh(e[i]??1),n[t*4+1]=zh(e[i+1]??1),n[t*4+2]=zh(e[i+2]??1)):(n[t*4]=e[i]??255,n[t*4+1]=e[i+1]??255,n[t*4+2]=e[i+2]??255),n[t*4+3]=u>=4&&!r?e[i+3]??255:255}Rh(t,`color`,n,4,4,0,void 0,`u8`)}}else if(l!==o&&r.attribute_type()!==xh&&p.get(l)===`PointCloudClassCode`&&u===1){let e=Ph(n,m,h,r);if(e&&!(e instanceof Float32Array)){c=new Uint8Array(i);for(let t=0;t<i;t++)c[t]=e[t]??0}}}if(t.attrLocation.position===void 0)throw Error(`[s3m] Draco 点云缺少 position 属性`);if(t.attrLocation.color===void 0&&c){let e=new Uint8Array(i*4);for(let t=0;t<i;t++){let n=Fh[c[t]]??Fh[0];e[t*4]=n[0],e[t*4+1]=n[1],e[t*4+2]=n[2],e[t*4+3]=255}Rh(t,`color`,e,4,4,0,void 0,`u8`)}return t.verticesCount=i,[Lh()]}finally{try{n.destroy(m),n.destroy(h)}catch{}}}function Lh(){return{indexCount:0,indexType:0,useIndex:0,primitiveType:Ah,indices:null,passNames:[]}}function Rh(e,t,n,r,i,a=0,o,s=`f32`){e.attrLocation[t]=e.vertexAttributes.length,e.vertexAttributes.push({semantic:t,data:n,components:r,stride:i,offsetInBytes:a,divisor:o,dtype:s})}function zh(e){return e<=0?0:e>=1?255:Math.round(e*255)}function Bh(e){try{return JSON.parse(e)}catch{return e}}var Vh=i({default:()=>Hh}),Hh,Uh=n((()=>{Hh=(function(){"use strict";var e=`B9h79tEBBBE8fV9gBB9gVUUUUUEU9gIUUUB9gEUEU9gIUUUEUIKQBEEEDDDILLLVE9wEEEVIEBEOWEUEC+Q/IEKR/LEdO9tw9t9vv95DBh9f9f939h79t9f9j9h229f9jT9vv7BB8a9tw79o9v9wT9f9kw9j9v9kw9WwvTw949C919m9mwvBEy9tw79o9v9wT9f9kw9j9v9kw69u9kw949C919m9mwvBDe9tw79o9v9wT9f9kw9j9v9kw69u9kw949Twg91w9u9jwBIl9tw79o9v9wT9f9kw9j9v9kws9p2Twv9P9jTBLk9tw79o9v9wT9f9kw9j9v9kws9p2Twv9R919hTBVl9tw79o9v9wT9f9kw9j9v9kws9p2Twvt949wBOL79iv9rBRQ+x8yQDBK/qMEZU8jJJJJBCJ/EB9rGV8kJJJJBC9+HODNADCEFAL0MBCUHOAIrBBC+gE9HMBAVAIALFGRAD9rADZ1JJJBHWCJ/ABAD9uC/wfBgGOCJDAOCJD6eHdAICEFHLCBHQDNINAQAE9PMEAdAEAQ9rAQAdFAE6eHKDNDNADtMBAKCSFGOC9wgHXAOCL4CIFCD4HMAWCJDFHpCBHSALHZINDNARAZ9rAM9PMBCBHLXIKAZAMFHLDNAXtMBCBHhCBHIINDNARAL9rCk9PMBCBHLXVKAWCJ/CBFAIFHODNDNDNDNDNAZAICO4FrBBAhCOg4CIgpLBEDIBKAO9CB83IBAOCWF9CB83IBXIKAOALrBLALrBBGoCO4GaAaCIsGae86BBAOCEFALCLFAaFGarBBAoCL4CIgGcAcCIsGce86BBAOCDFAaAcFGarBBAoCD4CIgGcAcCIsGce86BBAOCIFAaAcFGarBBAoCIgGoAoCIsGoe86BBAOCLFAaAoFGarBBALrBEGoCO4GcAcCIsGce86BBAOCVFAaAcFGarBBAoCL4CIgGcAcCIsGce86BBAOCOFAaAcFGarBBAoCD4CIgGcAcCIsGce86BBAOCRFAaAcFGarBBAoCIgGoAoCIsGoe86BBAOCWFAaAoFGarBBALrBDGoCO4GcAcCIsGce86BBAOCdFAaAcFGarBBAoCL4CIgGcAcCIsGce86BBAOCQFAaAcFGarBBAoCD4CIgGcAcCIsGce86BBAOCKFAaAcFGarBBAoCIgGoAoCIsGoe86BBAOCXFAaAoFGorBBALrBIGLCO4GaAaCIsGae86BBAOCMFAoAaFGorBBALCL4CIgGaAaCIsGae86BBAOCpFAoAaFGorBBALCD4CIgGaAaCIsGae86BBAOCSFAoAaFGOrBBALCIgGLALCIsGLe86BBAOALFHLXDKAOALrBWALrBBGoCL4GaAaCSsGae86BBAOCEFALCWFAaFGarBBAoCSgGoAoCSsGoe86BBAOCDFAaAoFGorBBALrBEGaCL4GcAcCSsGce86BBAOCIFAoAcFGorBBAaCSgGaAaCSsGae86BBAOCLFAoAaFGorBBALrBDGaCL4GcAcCSsGce86BBAOCVFAoAcFGorBBAaCSgGaAaCSsGae86BBAOCOFAoAaFGorBBALrBIGaCL4GcAcCSsGce86BBAOCRFAoAcFGorBBAaCSgGaAaCSsGae86BBAOCWFAoAaFGorBBALrBLGaCL4GcAcCSsGce86BBAOCdFAoAcFGorBBAaCSgGaAaCSsGae86BBAOCQFAoAaFGorBBALrBVGaCL4GcAcCSsGce86BBAOCKFAoAcFGorBBAaCSgGaAaCSsGae86BBAOCXFAoAaFGorBBALrBOGaCL4GcAcCSsGce86BBAOCMFAoAcFGorBBAaCSgGaAaCSsGae86BBAOCpFAoAaFGorBBALrBRGLCL4GaAaCSsGae86BBAOCSFAoAaFGOrBBALCSgGLALCSsGLe86BBAOALFHLXEKAOAL8pBB83BBAOCWFALCWF8pBB83BBALCZFHLKAhCDFHhAICZFGIAX6MBKKDNALMBCBHLXIKDNAKtMBAWASFrBBHhCBHOApHIINAIAWCJ/CBFAOFrBBGZCE4CBAZCEg9r7AhFGh86BBAIADFHIAOCEFGOAK9HMBKKApCEFHpALHZASCEFGSAD9HMBKKABAQAD2FAWCJDFAKAD2Z1JJJB8aAWAWCJDFAKCUFAD2FADZ1JJJB8aKAKCBALeAQFHQALMBKC9+HOXEKCBC99ARAL9rADCAADCA0eseHOKAVCJ/EBF8kJJJJBAOK+OoEZU8jJJJJBC/AE9rGV8kJJJJBC9+HODNAECI9uGRChFAL0MBCUHOAIrBBGWC/wEgC/gE9HMBAWCSgGdCE0MBAVC/ABFCfECJEZ+JJJJB8aAVCuF9CU83IBAVC8wF9CU83IBAVCYF9CU83IBAVCAF9CU83IBAVCkF9CU83IBAVCZF9CU83IBAV9CU83IWAV9CU83IBAIALFC9wFHQAICEFGWARFHKDNAEtMBCMCSAdCEseHXABHICBHdCBHMCBHpCBHLCBHOINDNAKAQ9NMBC9+HOXIKDNDNAWrBBGRC/vE0MBAVC/ABFARCL4CU7AOFCSgCITFGSYDLHZASYDBHhDNARCSgGSAX9PMBAVARCU7ALFCSgCDTFYDBAdASeHRAStHSDNDNADCD9HMBABAh87EBABCLFAR87EBABCDFAZ87EBXEKAIAhbDBAICWFARbDBAICLFAZbDBKAdASFHdAVC/ABFAOCITFGoARbDBAoAZbDLAVALCDTFARbDBAVC/ABFAOCEFCSgGOCITFGZAhbDBAZARbDLALASFHLAOCEFHOXDKDNDNASCSsMBAMASFASC987FCEFHMXEKAK8sBBGSCfEgHRDNDNASCU9MMBAKCEFHKXEKAK8sBEGSCfBgCRTARCfBgvHRDNASCU9MMBAKCDFHKXEKAK8sBDGSCfBgCpTARvHRDNASCU9MMBAKCIFHKXEKAK8sBIGSCfBgCxTARvHRDNASCU9MMBAKCLFHKXEKAKrBLC3TARvHRAKCVFHKKARCE4CBARCEg9r7AMFHMKDNDNADCD9HMBABAh87EBABCLFAM87EBABCDFAZ87EBXEKAIAhbDBAICWFAMbDBAICLFAZbDBKAVC/ABFAOCITFGRAMbDBARAZbDLAVALCDTFAMbDBAVC/ABFAOCEFCSgGOCITFGRAhbDBARAMbDLALCEFHLAOCEFHOXEKDNARCPE0MBAVALAQARCSgFrBBGSCL4GZ9rCSgCDTFYDBAdCEFGhAZeHRAVALAS9rCSgCDTFYDBAhAZtGoFGhASCSgGZeHSAZtHZDNDNADCD9HMBABAd87EBABCLFAS87EBABCDFAR87EBXEKAIAdbDBAICWFASbDBAICLFARbDBKAVALCDTFAdbDBAVC/ABFAOCITFGaARbDBAaAdbDLAVALCEFGLCSgCDTFARbDBAVC/ABFAOCEFCSgCITFGaASbDBAaARbDLAVALAoFCSgGLCDTFASbDBAVC/ABFAOCDFCSgGOCITFGRAdbDBARASbDLAOCEFHOALAZFHLAhAZFHdXEKAdCBAKrBBGaeGZARC/+EsGcFHRAaCSgHhDNDNAaCL4GoMBARCEFHSXEKARHSAVALAo9rCSgCDTFYDBHRKDNDNAhMBASCEFHdXEKASHdAVALAa9rCSgCDTFYDBHSKDNDNActMBAKCEFHaXEKAK8sBEGaCfEgHZDNDNAaCU9MMBAKCDFHaXEKAK8sBDGaCfBgCRTAZCfBgvHZDNAaCU9MMBAKCIFHaXEKAK8sBIGaCfBgCpTAZvHZDNAaCU9MMBAKCLFHaXEKAK8sBLGaCfBgCxTAZvHZDNAaCU9MMBAKCVFHaXEKAKCOFHaAKrBVC3TAZvHZKAZCE4CBAZCEg9r7AMFGMHZKDNDNAoCSsMBAaHcXEKAa8sBBGKCfEgHRDNDNAKCU9MMBAaCEFHcXEKAa8sBEGKCfBgCRTARCfBgvHRDNAKCU9MMBAaCDFHcXEKAa8sBDGKCfBgCpTARvHRDNAKCU9MMBAaCIFHcXEKAa8sBIGKCfBgCxTARvHRDNAKCU9MMBAaCLFHcXEKAaCVFHcAarBLC3TARvHRKARCE4CBARCEg9r7AMFGMHRKDNDNAhCSsMBAcHKXEKAc8sBBGKCfEgHSDNDNAKCU9MMBAcCEFHKXEKAc8sBEGKCfBgCRTASCfBgvHSDNAKCU9MMBAcCDFHKXEKAc8sBDGKCfBgCpTASvHSDNAKCU9MMBAcCIFHKXEKAc8sBIGKCfBgCxTASvHSDNAKCU9MMBAcCLFHKXEKAcCVFHKAcrBLC3TASvHSKASCE4CBASCEg9r7AMFGMHSKDNDNADCD9HMBABAZ87EBABCLFAS87EBABCDFAR87EBXEKAIAZbDBAICWFASbDBAICLFARbDBKAVC/ABFAOCITFGaARbDBAaAZbDLAVALCDTFAZbDBAVC/ABFAOCEFCSgCITFGaASbDBAaARbDLAVALCEFGLCSgCDTFARbDBAVC/ABFAOCDFCSgCITFGRAZbDBARASbDLAVALAotAoCSsvFGLCSgCDTFASbDBALAhtAhCSsvFHLAOCIFHOKAWCEFHWABCOFHBAICXFHIAOCSgHOALCSgHLApCIFGpAE6MBKKCBC99AKAQseHOKAVC/AEF8kJJJJBAOK/tLEDU8jJJJJBCZ9rHVC9+HODNAECVFAL0MBCUHOAIrBBC/+EgC/QE9HMBAV9CB83IWAICEFHOAIALFC98FHIDNAEtMBDNADCDsMBINDNAOAI6MBC9+SKAO8sBBGDCfEgHLDNDNADCU9MMBAOCEFHOXEKAO8sBEGDCfBgCRTALCfBgvHLDNADCU9MMBAOCDFHOXEKAO8sBDGDCfBgCpTALvHLDNADCU9MMBAOCIFHOXEKAO8sBIGDCfBgCxTALvHLDNADCU9MMBAOCLFHOXEKAOrBLC3TALvHLAOCVFHOKAVCWFALCEgCDTvGDALCD4CBALCE4CEg9r7ADYDBFGLbDBABALbDBABCLFHBAECUFGEMBXDKKINDNAOAI6MBC9+SKAO8sBBGDCfEgHLDNDNADCU9MMBAOCEFHOXEKAO8sBEGDCfBgCRTALCfBgvHLDNADCU9MMBAOCDFHOXEKAO8sBDGDCfBgCpTALvHLDNADCU9MMBAOCIFHOXEKAO8sBIGDCfBgCxTALvHLDNADCU9MMBAOCLFHOXEKAOrBLC3TALvHLAOCVFHOKABALCD4CBALCE4CEg9r7AVCWFALCEgCDTvGLYDBFGD87EBALADbDBABCDFHBAECUFGEMBKKCBC99AOAIseHOKAOK+lVOEUE99DUD99EUD99DNDNADCL9HMBAEtMEINDNDNjBBBzjBBB+/ABCDFGD8sBB+yAB8sBBGI+yGL+L+TABCEFGV8sBBGO+yGR+L+TGWjBBBB9gGdeAWjBB/+9CAWAWnjBBBBAWAdeGQAQ+MGKAICU9KeALmGLALnAQAKAOCU9KeARmGQAQnmm+R+VGRnmGW+LjBBB9P9dtMBAW+oHIXEKCJJJJ94HIKADAI86BBDNDNjBBBzjBBB+/AQjBBBB9geAQARnmGW+LjBBB9P9dtMBAW+oHDXEKCJJJJ94HDKAVAD86BBDNDNjBBBzjBBB+/ALjBBBB9geALARnmGW+LjBBB9P9dtMBAW+oHDXEKCJJJJ94HDKABAD86BBABCLFHBAECUFGEMBXDKKAEtMBINDNDNjBBBzjBBB+/ABCLFGD8uEB+yAB8uEBGI+yGL+L+TABCDFGV8uEBGO+yGR+L+TGWjBBBB9gGdeAWjB/+fsAWAWnjBBBBAWAdeGQAQ+MGKAICU9KeALmGLALnAQAKAOCU9KeARmGQAQnmm+R+VGRnmGW+LjBBB9P9dtMBAW+oHIXEKCJJJJ94HIKADAI87EBDNDNjBBBzjBBB+/AQjBBBB9geAQARnmGW+LjBBB9P9dtMBAW+oHDXEKCJJJJ94HDKAVAD87EBDNDNjBBBzjBBB+/ALjBBBB9geALARnmGW+LjBBB9P9dtMBAW+oHDXEKCJJJJ94HDKABAD87EBABCWFHBAECUFGEMBKKK/SILIUI99IUE99DNAEtMBCBHIABHLINDNDNj/zL81zALCOF8uEBGVCIv+y+VGOAL8uEB+ynGRjB/+fsnjBBBzjBBB+/ARjBBBB9gemGW+LjBBB9P9dtMBAW+oHdXEKCJJJJ94HdKALCLF8uEBHQALCDF8uEBHKABAVCEFCIgAIvCETFAd87EBDNDNAOAK+ynGWjB/+fsnjBBBzjBBB+/AWjBBBB9gemGX+LjBBB9P9dtMBAX+oHKXEKCJJJJ94HKKABAVCDFCIgAIvCETFAK87EBDNDNAOAQ+ynGOjB/+fsnjBBBzjBBB+/AOjBBBB9gemGX+LjBBB9P9dtMBAX+oHQXEKCJJJJ94HQKABAVCUFCIgAIvCETFAQ87EBDNDNjBBJzARARn+TAWAWn+TAOAOn+TGRjBBBBARjBBBB9ge+RjB/+fsnjBBBzmGR+LjBBB9P9dtMBAR+oHQXEKCJJJJ94HQKABAVCIgAIvCETFAQ87EBALCWFHLAICLFHIAECUFGEMBKKK6BDNADCD4AE2GEtMBINABABYDBGDCWTCW91+yADCk91ClTCJJJ/8IF++nuDBABCLFHBAECUFGEMBKKK9TEIUCBCBYDJ1JJBGEABCIFC98gFGBbDJ1JJBDNDNABzBCZTGD9NMBCUHIABAD9rCffIFCZ4NBCUsMEKAEHIKAIK/lEEEUDNDNAEABvCIgtMBABHIXEKDNDNADCZ9PMBABHIXEKABHIINAIAEYDBbDBAICLFAECLFYDBbDBAICWFAECWFYDBbDBAICXFAECXFYDBbDBAICZFHIAECZFHEADC9wFGDCS0MBKKADCL6MBINAIAEYDBbDBAECLFHEAICLFHIADC98FGDCI0MBKKDNADtMBINAIAErBB86BBAICEFHIAECEFHEADCUFGDMBKKABK/AEEDUDNDNABCIgtMBABHIXEKAECfEgC+B+C+EW2HLDNDNADCZ9PMBABHIXEKABHIINAIALbDBAICXFALbDBAICWFALbDBAICLFALbDBAICZFHIADC9wFGDCS0MBKKADCL6MBINAIALbDBAICLFHIADC98FGDCI0MBKKDNADtMBINAIAE86BBAICEFHIADCUFGDMBKKABKKKEBCJWKLZ9kBB`,t=`B9h79tEBBBE5V9gBB9gVUUUUUEU9gIUUUB9gDUUB9gEUEUIMXBBEBEEDIDIDLLVE9wEEEVIEBEOWEUEC+Q/aEKR/LEdO9tw9t9vv95DBh9f9f939h79t9f9j9h229f9jT9vv7BB8a9tw79o9v9wT9f9kw9j9v9kw9WwvTw949C919m9mwvBDy9tw79o9v9wT9f9kw9j9v9kw69u9kw949C919m9mwvBLe9tw79o9v9wT9f9kw9j9v9kw69u9kw949Twg91w9u9jwBVl9tw79o9v9wT9f9kw9j9v9kws9p2Twv9P9jTBOk9tw79o9v9wT9f9kw9j9v9kws9p2Twv9R919hTBWl9tw79o9v9wT9f9kw9j9v9kws9p2Twvt949wBQL79iv9rBKQ/j6XLBZIK9+EVU8jJJJJBCZ9rHBCBHEINCBHDCBHIINABCWFADFAICJUAEAD4CEgGLe86BBAIALFHIADCEFGDCW9HMBKAEC+Q+YJJBFAI86BBAECITC+Q1JJBFAB8pIW83IBAECEFGECJD9HMBKK1HLSUD97EUO978jJJJJBCJ/KB9rGV8kJJJJBC9+HODNADCEFAL0MBCUHOAIrBBC+gE9HMBAVAIALFGRAD9rAD/8QBBCJ/ABAD9uC/wfBgGOCJDAOCJD6eHWAICEFHOCBHdDNINAdAE9PMEAWAEAd9rAdAWFAE6eHQDNDNADtMBAQCSFGLC9wgGKCI2HXAKCETHMALCL4CIFCD4HpCBHSINAOHZCBHhDNINDNARAZ9rAp9PMBCBHOXVKAVCJ/CBFAhAK2FHoAZApFHOCBHIDNAKC/AB6MBARAO9rC/gB6MBCBHLINAoALFHIDNDNDNDNDNAZALCO4FrBBGaCIgpLBEDIBKAICBPhPKLBXIKAIAOPBBLAOPBBBGcCLP+MEAcPMBZEhDoIaLcVxOqRlGcCDP+MEAcPMBZEhDoIaLcVxOqRlC+D+G+MkPhP9OGxCIPSP8jGcP5B9CJf/8/4/w/g/AB9+9Cu1+nGqCITC+Q1JJBFPBIBAqC+Q+YJJBFPBBBGlAlPMBBBBBBBBBBBBBBBBAcP5E9CJf/8/4/w/g/AB9+9Cu1+nGqCITC+Q1JJBFPBIBP9uPMBEDILVORZhoacxqlPpAxAcP9SPKLBAOCLFAlPqBFAqC+Q+YJJBFrBBFHOXDKAIAOPBBWAOPBBBGcCLP+MEAcPMBZEhDoIaLcVxOqRlC+P+e+8/4BPhP9OGxCSPSP8jGcP5B9CJf/8/4/w/g/AB9+9Cu1+nGqCITC+Q1JJBFPBIBAqC+Q+YJJBFPBBBGlAlPMBBBBBBBBBBBBBBBBAcP5E9CJf/8/4/w/g/AB9+9Cu1+nGqCITC+Q1JJBFPBIBP9uPMBEDILVORZhoacxqlPpAxAcP9SPKLBAOCWFAlPqBFAqC+Q+YJJBFrBBFHOXEKAIAOPBBBPKLBAOCZFHOKDNDNDNDNDNAaCD4CIgpLBEDIBKAICBPhPKLZXIKAIAOPBBLAOPBBBGcCLP+MEAcPMBZEhDoIaLcVxOqRlGcCDP+MEAcPMBZEhDoIaLcVxOqRlC+D+G+MkPhP9OGxCIPSP8jGcP5B9CJf/8/4/w/g/AB9+9Cu1+nGqCITC+Q1JJBFPBIBAqC+Q+YJJBFPBBBGlAlPMBBBBBBBBBBBBBBBBAcP5E9CJf/8/4/w/g/AB9+9Cu1+nGqCITC+Q1JJBFPBIBP9uPMBEDILVORZhoacxqlPpAxAcP9SPKLZAOCLFAlPqBFAqC+Q+YJJBFrBBFHOXDKAIAOPBBWAOPBBBGcCLP+MEAcPMBZEhDoIaLcVxOqRlC+P+e+8/4BPhP9OGxCSPSP8jGcP5B9CJf/8/4/w/g/AB9+9Cu1+nGqCITC+Q1JJBFPBIBAqC+Q+YJJBFPBBBGlAlPMBBBBBBBBBBBBBBBBAcP5E9CJf/8/4/w/g/AB9+9Cu1+nGqCITC+Q1JJBFPBIBP9uPMBEDILVORZhoacxqlPpAxAcP9SPKLZAOCWFAlPqBFAqC+Q+YJJBFrBBFHOXEKAIAOPBBBPKLZAOCZFHOKDNDNDNDNDNAaCL4CIgpLBEDIBKAICBPhPKLAXIKAIAOPBBLAOPBBBGcCLP+MEAcPMBZEhDoIaLcVxOqRlGcCDP+MEAcPMBZEhDoIaLcVxOqRlC+D+G+MkPhP9OGxCIPSP8jGcP5B9CJf/8/4/w/g/AB9+9Cu1+nGqCITC+Q1JJBFPBIBAqC+Q+YJJBFPBBBGlAlPMBBBBBBBBBBBBBBBBAcP5E9CJf/8/4/w/g/AB9+9Cu1+nGqCITC+Q1JJBFPBIBP9uPMBEDILVORZhoacxqlPpAxAcP9SPKLAAOCLFAlPqBFAqC+Q+YJJBFrBBFHOXDKAIAOPBBWAOPBBBGcCLP+MEAcPMBZEhDoIaLcVxOqRlC+P+e+8/4BPhP9OGxCSPSP8jGcP5B9CJf/8/4/w/g/AB9+9Cu1+nGqCITC+Q1JJBFPBIBAqC+Q+YJJBFPBBBGlAlPMBBBBBBBBBBBBBBBBAcP5E9CJf/8/4/w/g/AB9+9Cu1+nGqCITC+Q1JJBFPBIBP9uPMBEDILVORZhoacxqlPpAxAcP9SPKLAAOCWFAlPqBFAqC+Q+YJJBFrBBFHOXEKAIAOPBBBPKLAAOCZFHOKDNDNDNDNDNAaCO4pLBEDIBKAICBPhPKL8wXIKAIAOPBBLAOPBBBGcCLP+MEAcPMBZEhDoIaLcVxOqRlGcCDP+MEAcPMBZEhDoIaLcVxOqRlC+D+G+MkPhP9OGxCIPSP8jGcP5B9CJf/8/4/w/g/AB9+9Cu1+nGaCITC+Q1JJBFPBIBAaC+Q+YJJBFPBBBGlAlPMBBBBBBBBBBBBBBBBAcP5E9CJf/8/4/w/g/AB9+9Cu1+nGaCITC+Q1JJBFPBIBP9uPMBEDILVORZhoacxqlPpAxAcP9SPKL8wAOCLFAlPqBFAaC+Q+YJJBFrBBFHOXDKAIAOPBBWAOPBBBGcCLP+MEAcPMBZEhDoIaLcVxOqRlC+P+e+8/4BPhP9OGxCSPSP8jGcP5B9CJf/8/4/w/g/AB9+9Cu1+nGaCITC+Q1JJBFPBIBAaC+Q+YJJBFPBBBGlAlPMBBBBBBBBBBBBBBBBAcP5E9CJf/8/4/w/g/AB9+9Cu1+nGaCITC+Q1JJBFPBIBP9uPMBEDILVORZhoacxqlPpAxAcP9SPKL8wAOCWFAlPqBFAaC+Q+YJJBFrBBFHOXEKAIAOPBBBPKL8wAOCZFHOKALC/ABFHIALCJEFAK0MEAIHLARAO9rC/fB0MBKKDNAIAK9PMBAICI4HLINDNARAO9rCk9PMBCBHOXRKAoAIFHaDNDNDNDNDNAZAICO4FrBBALCOg4CIgpLBEDIBKAaCBPhPKLBXIKAaAOPBBLAOPBBBGcCLP+MEAcPMBZEhDoIaLcVxOqRlGcCDP+MEAcPMBZEhDoIaLcVxOqRlC+D+G+MkPhP9OGxCIPSP8jGcP5B9CJf/8/4/w/g/AB9+9Cu1+nGqCITC+Q1JJBFPBIBAqC+Q+YJJBFPBBBGlAlPMBBBBBBBBBBBBBBBBAcP5E9CJf/8/4/w/g/AB9+9Cu1+nGqCITC+Q1JJBFPBIBP9uPMBEDILVORZhoacxqlPpAxAcP9SPKLBAOCLFAlPqBFAqC+Q+YJJBFrBBFHOXDKAaAOPBBWAOPBBBGcCLP+MEAcPMBZEhDoIaLcVxOqRlC+P+e+8/4BPhP9OGxCSPSP8jGcP5B9CJf/8/4/w/g/AB9+9Cu1+nGqCITC+Q1JJBFPBIBAqC+Q+YJJBFPBBBGlAlPMBBBBBBBBBBBBBBBBAcP5E9CJf/8/4/w/g/AB9+9Cu1+nGqCITC+Q1JJBFPBIBP9uPMBEDILVORZhoacxqlPpAxAcP9SPKLBAOCWFAlPqBFAqC+Q+YJJBFrBBFHOXEKAaAOPBBBPKLBAOCZFHOKALCDFHLAICZFGIAK6MBKKDNAOtMBAOHZAhCEFGhCLsMDXEKKCBHOXIKDNAKtMBAVCJDFASFHIAVASFPBDBHlCBHaINAIAVCJ/CBFAaFGLPBLBGxCEP9tAxCEPSGcP9OP9hP9RGxALAKFPBLBGkCEP9tAkAcP9OP9hP9RGkPMBZEhDoIaLcVxOqRlGyALAMFPBLBG8aCEP9tA8aAcP9OP9hP9RG8aALAXFPBLBGeCEP9tAeAcP9OP9hP9RGePMBZEhDoIaLcVxOqRlG3PMBEZhDIoaLVcxORqlGcAcPMBEDIBEDIBEDIBEDIAlP9uGlPeBbDBAIADFGLAlAcAcPMLVORLVORLVORLVORP9uGlPeBbDBALADFGLAlAcAcPMWdQKWdQKWdQKWdQKP9uGlPeBbDBALADFGLAlAcAcPMXMpSXMpSXMpSXMpSP9uGlPeBbDBALADFGLAlAyA3PMWdkyQK8aeXM35pS8e8fGcAcPMBEDIBEDIBEDIBEDIP9uGlPeBbDBALADFGLAlAcAcPMLVORLVORLVORLVORP9uGlPeBbDBALADFGLAlAcAcPMWdQKWdQKWdQKWdQKP9uGlPeBbDBALADFGLAlAcAcPMXMpSXMpSXMpSXMpSP9uGlPeBbDBALADFGLAlAxAkPMWkdyQ8aKeX3M5p8eS8fGxA8aAePMWkdyQ8aKeX3M5p8eS8fGkPMBEZhDIoaLVcxORqlGcAcPMBEDIBEDIBEDIBEDIP9uGlPeBbDBALADFGLAlAcAcPMLVORLVORLVORLVORP9uGlPeBbDBALADFGLAlAcAcPMWdQKWdQKWdQKWdQKP9uGlPeBbDBALADFGLAlAcAcPMXMpSXMpSXMpSXMpSP9uGlPeBbDBALADFGLAlAxAkPMWdkyQK8aeXM35pS8e8fGcAcPMBEDIBEDIBEDIBEDIP9uGlPeBbDBALADFGLAlAcAcPMLVORLVORLVORLVORP9uGlPeBbDBALADFGLAlAcAcPMWdQKWdQKWdQKWdQKP9uGlPeBbDBALADFGLAlAcAcPMXMpSXMpSXMpSXMpSP9uGlPeBbDBALADFHIAaCZFGaAK6MBKKASCLFGSAD6MBKKABAdAD2FAVCJDFAQAD2/8QBBAVAVCJDFAQCUFAD2FAD/8QBBKAQCBAOeAdFHdAOMBKC9+HOXEKCBC99ARAO9rADCAADCA0eseHOKAVCJ/KBF8kJJJJBAOKWBZ+BJJJBK+KoEZU8jJJJJBC/AE9rGV8kJJJJBC9+HODNAECI9uGRChFAL0MBCUHOAIrBBGWC/wEgC/gE9HMBAWCSgGdCE0MBAVC/ABFCfECJE/8KBAVCuF9CU83IBAVC8wF9CU83IBAVCYF9CU83IBAVCAF9CU83IBAVCkF9CU83IBAVCZF9CU83IBAV9CU83IWAV9CU83IBAIALFC9wFHQAICEFGWARFHKDNAEtMBCMCSAdCEseHXABHICBHdCBHMCBHpCBHLCBHOINDNAKAQ9NMBC9+HOXIKDNDNAWrBBGRC/vE0MBAVC/ABFARCL4CU7AOFCSgCITFGSYDLHZASYDBHhDNARCSgGSAX9PMBAVARCU7ALFCSgCDTFYDBAdASeHRAStHSDNDNADCD9HMBABAh87EBABCLFAR87EBABCDFAZ87EBXEKAIAhbDBAICWFARbDBAICLFAZbDBKAdASFHdAVC/ABFAOCITFGoARbDBAoAZbDLAVALCDTFARbDBAVC/ABFAOCEFCSgGOCITFGZAhbDBAZARbDLALASFHLAOCEFHOXDKDNDNASCSsMBAMASFASC987FCEFHMXEKAK8sBBGSCfEgHRDNDNASCU9MMBAKCEFHKXEKAK8sBEGSCfBgCRTARCfBgvHRDNASCU9MMBAKCDFHKXEKAK8sBDGSCfBgCpTARvHRDNASCU9MMBAKCIFHKXEKAK8sBIGSCfBgCxTARvHRDNASCU9MMBAKCLFHKXEKAKrBLC3TARvHRAKCVFHKKARCE4CBARCEg9r7AMFHMKDNDNADCD9HMBABAh87EBABCLFAM87EBABCDFAZ87EBXEKAIAhbDBAICWFAMbDBAICLFAZbDBKAVC/ABFAOCITFGRAMbDBARAZbDLAVALCDTFAMbDBAVC/ABFAOCEFCSgGOCITFGRAhbDBARAMbDLALCEFHLAOCEFHOXEKDNARCPE0MBAVALAQARCSgFrBBGSCL4GZ9rCSgCDTFYDBAdCEFGhAZeHRAVALAS9rCSgCDTFYDBAhAZtGoFGhASCSgGZeHSAZtHZDNDNADCD9HMBABAd87EBABCLFAS87EBABCDFAR87EBXEKAIAdbDBAICWFASbDBAICLFARbDBKAVALCDTFAdbDBAVC/ABFAOCITFGaARbDBAaAdbDLAVALCEFGLCSgCDTFARbDBAVC/ABFAOCEFCSgCITFGaASbDBAaARbDLAVALAoFCSgGLCDTFASbDBAVC/ABFAOCDFCSgGOCITFGRAdbDBARASbDLAOCEFHOALAZFHLAhAZFHdXEKAdCBAKrBBGaeGZARC/+EsGcFHRAaCSgHhDNDNAaCL4GoMBARCEFHSXEKARHSAVALAo9rCSgCDTFYDBHRKDNDNAhMBASCEFHdXEKASHdAVALAa9rCSgCDTFYDBHSKDNDNActMBAKCEFHaXEKAK8sBEGaCfEgHZDNDNAaCU9MMBAKCDFHaXEKAK8sBDGaCfBgCRTAZCfBgvHZDNAaCU9MMBAKCIFHaXEKAK8sBIGaCfBgCpTAZvHZDNAaCU9MMBAKCLFHaXEKAK8sBLGaCfBgCxTAZvHZDNAaCU9MMBAKCVFHaXEKAKCOFHaAKrBVC3TAZvHZKAZCE4CBAZCEg9r7AMFGMHZKDNDNAoCSsMBAaHcXEKAa8sBBGKCfEgHRDNDNAKCU9MMBAaCEFHcXEKAa8sBEGKCfBgCRTARCfBgvHRDNAKCU9MMBAaCDFHcXEKAa8sBDGKCfBgCpTARvHRDNAKCU9MMBAaCIFHcXEKAa8sBIGKCfBgCxTARvHRDNAKCU9MMBAaCLFHcXEKAaCVFHcAarBLC3TARvHRKARCE4CBARCEg9r7AMFGMHRKDNDNAhCSsMBAcHKXEKAc8sBBGKCfEgHSDNDNAKCU9MMBAcCEFHKXEKAc8sBEGKCfBgCRTASCfBgvHSDNAKCU9MMBAcCDFHKXEKAc8sBDGKCfBgCpTASvHSDNAKCU9MMBAcCIFHKXEKAc8sBIGKCfBgCxTASvHSDNAKCU9MMBAcCLFHKXEKAcCVFHKAcrBLC3TASvHSKASCE4CBASCEg9r7AMFGMHSKDNDNADCD9HMBABAZ87EBABCLFAS87EBABCDFAR87EBXEKAIAZbDBAICWFASbDBAICLFARbDBKAVC/ABFAOCITFGaARbDBAaAZbDLAVALCDTFAZbDBAVC/ABFAOCEFCSgCITFGaASbDBAaARbDLAVALCEFGLCSgCDTFARbDBAVC/ABFAOCDFCSgCITFGRAZbDBARASbDLAVALAotAoCSsvFGLCSgCDTFASbDBALAhtAhCSsvFHLAOCIFHOKAWCEFHWABCOFHBAICXFHIAOCSgHOALCSgHLApCIFGpAE6MBKKCBC99AKAQseHOKAVC/AEF8kJJJJBAOK/tLEDU8jJJJJBCZ9rHVC9+HODNAECVFAL0MBCUHOAIrBBC/+EgC/QE9HMBAV9CB83IWAICEFHOAIALFC98FHIDNAEtMBDNADCDsMBINDNAOAI6MBC9+SKAO8sBBGDCfEgHLDNDNADCU9MMBAOCEFHOXEKAO8sBEGDCfBgCRTALCfBgvHLDNADCU9MMBAOCDFHOXEKAO8sBDGDCfBgCpTALvHLDNADCU9MMBAOCIFHOXEKAO8sBIGDCfBgCxTALvHLDNADCU9MMBAOCLFHOXEKAOrBLC3TALvHLAOCVFHOKAVCWFALCEgCDTvGDALCD4CBALCE4CEg9r7ADYDBFGLbDBABALbDBABCLFHBAECUFGEMBXDKKINDNAOAI6MBC9+SKAO8sBBGDCfEgHLDNDNADCU9MMBAOCEFHOXEKAO8sBEGDCfBgCRTALCfBgvHLDNADCU9MMBAOCDFHOXEKAO8sBDGDCfBgCpTALvHLDNADCU9MMBAOCIFHOXEKAO8sBIGDCfBgCxTALvHLDNADCU9MMBAOCLFHOXEKAOrBLC3TALvHLAOCVFHOKABALCD4CBALCE4CEg9r7AVCWFALCEgCDTvGLYDBFGD87EBALADbDBABCDFHBAECUFGEMBKKCBC99AOAIseHOKAOK/xVDIUO978jJJJJBCA9rGI8kJJJJBDNDNADCL9HMBDNAEC98gGLtMBABHDCBHVINADADPBBBGOCkP+rECkP+sEP/6EGRAOCWP+rECkP+sEP/6EARP/gEAOCZP+rECkP+sEP/6EGWP/gEP/kEP/lEGdCBPhP+2EGQARCJJJJ94PhGKP9OP9RP/kEGRjBB/+9CPaARARP/mEAdAdP/mEAWAQAWAKP9OP9RP/kEGRARP/mEP/kEP/kEP/jEP/nEGWP/mEjBBN0PaGQP/kECfEPhP9OAOCJJJ94PhP9OP9QARAWP/mEAQP/kECWP+rECJ/+IPhP9OP9QAdAWP/mEAQP/kECZP+rECJJ/8RPhP9OP9QPKBBADCZFHDAVCLFGVAL6MBKKALAE9PMEAIAECIgGVCDTGDvCBCZAD9r/8KBAIABALCDTFGLAD/8QBBDNAVtMBAIAIPBLBGOCkP+rECkP+sEP/6EGRAOCWP+rECkP+sEP/6EARP/gEAOCZP+rECkP+sEP/6EGWP/gEP/kEP/lEGdCBPhP+2EGQARCJJJJ94PhGKP9OP9RP/kEGRjBB/+9CPaARARP/mEAdAdP/mEAWAQAWAKP9OP9RP/kEGRARP/mEP/kEP/kEP/jEP/nEGWP/mEjBBN0PaGQP/kECfEPhP9OAOCJJJ94PhP9OP9QARAWP/mEAQP/kECWP+rECJ/+IPhP9OP9QAdAWP/mEAQP/kECZP+rECJJ/8RPhP9OP9QPKLBKALAIAD/8QBBXEKABAEC98gGDZ+HJJJBADAE9PMBAIAECIgGLCITGVFCBCAAV9r/8KBAIABADCITFGDAV/8QBBAIALZ+HJJJBADAIAV/8QBBKAICAF8kJJJJBK+yIDDUR97DNAEtMBCBHDINABCZFGIAIPBBBGLCBPhGVCJJ98P3ECJJ98P3IGOP9OABPBBBGRALPMLVORXMpScxql358e8fCffEPhP9OP/6EARALPMBEDIWdQKZhoaky8aeGLCZP+sEP/6EGWP/gEALCZP+rECZP+sEP/6EGdP/gEP/kEP/lEGLjB/+fsPaAdALAVP+2EGVAdCJJJJ94PhGQP9OP9RP/kEGdAdP/mEALALP/mEAWAVAWAQP9OP9RP/kEGLALP/mEP/kEP/kEP/jEP/nEGWP/mEjBBN0PaGVP/kECZP+rEAdAWP/mEAVP/kECffIPhP9OP9QGdALAWP/mEAVP/kECUPSCBPlDCBPlICBPlOCBPlRCBPlQCBPlKCBPlpCBPlSP9OGLPMWdkyQK8aeXM35pS8e8fP9QPKBBABARAOP9OAdALPMBEZhDIoaLVcxORqlP9QPKBBABCAFHBADCLFGDAE6MBKKK94EIU8jJJJJBCA9rGI8kJJJJBABAEC98gGLZ+JJJJBDNALAE9PMBAIAECIgGVCITGEFCBCAAE9r/8KBAIABALCITFGBAE/8QBBAIAVZ+JJJJBABAIAE/8QBBKAICAF8kJJJJBK/hILDUE97EUV978jJJJJBCZ9rHDDNAEtMBCBHIINADABPBBBGLABCZFGVPBBBGOPMLVORXMpScxql358e8fGRCZP+sEGWCLP+rEPKLBABjBBJzPaj/zL81zPaAWCIPhP9QP/6EP/nEGWALAOPMBEDIWdQKZhoaky8aeGLCZP+rECZP+sEP/6EP/mEGOAOP/mEAWALCZP+sEP/6EP/mEGdAdP/mEAWARCZP+rECZP+sEP/6EP/mEGRARP/mEP/kEP/kEP/lECBPhP+4EP/jEjB/+fsPaGWP/mEjBBN0PaGLP/kECffIPhGQP9OAdAWP/mEALP/kECZP+rEP9QGdARAWP/mEALP/kECZP+rEAOAWP/mEALP/kEAQP9OP9QGWPMBEZhDIoaLVcxORqlGLP5BADPBLBPeB+t+J83IBABCWFALP5EADPBLBPeE+t+J83IBAVAdAWPMWdkyQK8aeXM35pS8e8fGWP5BADPBLBPeD+t+J83IBABCkFAWP5EADPBLBPeI+t+J83IBABCAFHBAICLFGIAE6MBKKK/3EDIUE978jJJJJBC/AB9rHIDNADCD4AE2GLC98gGVtMBCBHDABHEINAEAEPBBBGOCWP+rECWP+sEP/6EAOCkP+sEClP+rECJJJ/8IPhP+uEP/mEPKBBAECZFHEADCLFGDAV6MBKKDNAVAL9PMBAIALCIgGDCDTGEvCBC/ABAE9r/8KBAIABAVCDTFGVAE/8QBBDNADtMBAIAIPBLBGOCWP+rECWP+sEP/6EAOCkP+sEClP+rECJJJ/8IPhP+uEP/mEPKLBKAVAIAE/8QBBKK9TEIUCBCBYDJ1JJBGEABCIFC98gFGBbDJ1JJBDNDNABzBCZTGD9NMBCUHIABAD9rCffIFCZ4NBCUsMEKAEHIKAIKKKEBCJWKLZ9tBB`,n=new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,3,2,0,0,5,3,1,0,1,12,1,0,10,22,2,12,0,65,0,65,0,65,0,252,10,0,0,11,7,0,65,0,253,15,26,11]),r=new Uint8Array([32,0,65,2,1,106,34,33,3,128,11,4,13,64,6,253,10,7,15,116,127,5,8,12,40,16,19,54,20,9,27,255,113,17,42,67,24,23,146,148,18,14,22,45,70,69,56,114,101,21,25,63,75,136,108,28,118,29,73,115]);if(typeof WebAssembly!=`object`)return{supported:!1};var i=e;WebAssembly.validate(n)&&(i=t);var a,o=WebAssembly.instantiate(s(i),{}).then(function(e){a=e.instance,a.exports.__wasm_call_ctors()});function s(e){for(var t=new Uint8Array(e.length),n=0;n<e.length;++n){var i=e.charCodeAt(n);t[n]=i>96?i-71:i>64?i-65:i>47?i+4:i>46?63:62}for(var a=0,n=0;n<e.length;++n)t[a++]=t[n]<60?r[t[n]]:(t[n]-60)*64+t[++n];return t.buffer.slice(0,a)}function c(e,t,n,r,i,o){var s=a.exports.sbrk,c=n+3&-4,l=s(c*r),u=s(i.length),d=new Uint8Array(a.exports.memory.buffer);d.set(i,u);var f=e(l,n,r,u,i.length);if(f==0&&o&&o(l,c,r),t.set(d.subarray(l,l+n*r)),s(l-s(0)),f!=0)throw Error(`Malformed buffer data: `+f)}var l={0:``,1:`meshopt_decodeFilterOct`,2:`meshopt_decodeFilterQuat`,3:`meshopt_decodeFilterExp`,NONE:``,OCTAHEDRAL:`meshopt_decodeFilterOct`,QUATERNION:`meshopt_decodeFilterQuat`,EXPONENTIAL:`meshopt_decodeFilterExp`},u={0:`meshopt_decodeVertexBuffer`,1:`meshopt_decodeIndexBuffer`,2:`meshopt_decodeIndexSequence`,ATTRIBUTES:`meshopt_decodeVertexBuffer`,TRIANGLES:`meshopt_decodeIndexBuffer`,INDICES:`meshopt_decodeIndexSequence`};return{ready:o,supported:!0,decodeVertexBuffer:function(e,t,n,r,i){c(a.exports.meshopt_decodeVertexBuffer,e,t,n,r,a.exports[l[i]])},decodeIndexBuffer:function(e,t,n,r){c(a.exports.meshopt_decodeIndexBuffer,e,t,n,r)},decodeIndexSequence:function(e,t,n,r){c(a.exports.meshopt_decodeIndexSequence,e,t,n,r)},decodeGltfBuffer:function(e,t,n,r,i,o){c(a.exports[u[i]],e,t,n,r,a.exports[l[o]])}}})()})),Q={POSITION:1,POSITION_W:2,NORMAL:4,TANGENT:8,TEXCOORD0:16,TEXCOORD1:32,COLOR:64,COLOR1:128,CUSTOM0:512,CUSTOM1:1024,GS_SCALE:131073,GS_ROTATION:131074},Wh=13,Gh=null;function Kh(){return Gh||(Gh=Promise.resolve().then(()=>(Uh(),Vh)).then(async e=>{let t=e.default;if(!t?.supported)throw Error(`[s3m] 当前环境不支持 WebAssembly,无法解码 MeshOpt 几何`);return await t.ready,t})),Gh}function qh(e){return e<0?-1:1}function Jh(e,t,n,r){let i=e,a=t,o=1-Math.abs(i)-Math.abs(a);if(o<0){let e=(1-Math.abs(a))*qh(i);a=(1-Math.abs(i))*qh(a),i=e}let s=Math.hypot(i,a,o)||1;n[r]=i/s,n[r+1]=a/s,n[r+2]=o/s}function Yh(e,t,n){return{semantic:e,data:new Uint8Array(t.buffer,t.byteOffset,t.byteLength),components:n,stride:n*4,offsetInBytes:0,dtype:`f32`}}function Xh(e,t,n){return{semantic:e,data:t,components:n,stride:n,offsetInBytes:0,dtype:`u8`}}function Zh(e,t,n){switch(e){case Q.NORMAL:case Q.TEXCOORD0:case Q.TEXCOORD1:return 4;case Q.COLOR:case Q.COLOR1:return 4;case Q.CUSTOM0:case Q.CUSTOM1:return 4*Math.max(1,n);case Q.GS_SCALE:case Q.GS_ROTATION:return t&64?4:4*Math.max(1,n);default:return 8}}function Qh(e,t,n,r){let i=t*n;if(!Number.isSafeInteger(i)||i>67108864)throw Error(`[s3m] MeshOpt 流尺寸异常:${t} 顶点 × ${n}B = ${i}B`);let a=new Uint8Array(i);return e.decodeVertexBuffer(a,t,n,r,r.length),a}var $h={[Q.POSITION]:`position`,[Q.POSITION_W]:`positionW`,[Q.NORMAL]:`normal`,[Q.TANGENT]:`tangent`,[Q.TEXCOORD0]:`uv`,[Q.TEXCOORD1]:`uv2`,[Q.COLOR]:`color`,[Q.COLOR1]:`color2`,[Q.CUSTOM0]:`custom0`,[Q.CUSTOM1]:`custom1`,[Q.GS_SCALE]:`gsScale`,[Q.GS_ROTATION]:`gsRotation`};function eg(e,t,n,r,i){let a=e.get(t);a||(a={dtype:n,components:r,chunks:[],length:0},e.set(t,a)),a.chunks.push(i),a.length+=i.length}function tg(e,t){for(let n of e){let e=n.indices;if(!e||n.indexCount<=0||e.byteLength<n.indexCount*4)continue;let r=new DataView(e.buffer,e.byteOffset,e.byteLength);for(let e=0;e<n.indexCount;e++)r.setUint32(e*4,r.getUint32(e*4,!0)+t,!0)}}async function ng(e,t){let n=await Kh(),r=e.u32();t.compressOptions=r;let i=e.u32();if(i>64)throw Error(`[s3m] MeshOpt 块数异常:blockCount=${i}`);let a={vertexCount:0,compressOptions:r,minVertices:[0,0,0],vertScale:1,texCoordScale:[[0,0],[0,0]],texCoordOffset:[[0,0],[0,0]],streams:[]},o=new Map,s=[],c=0,l=!1;for(let u=0;u<i;u++){let i=e.u32(),d=e.f32(),f=e.f64(),p=e.f64(),m=e.f64(),h=[],g=[];for(let t=0;t<4;t++){let n=e.f64(),r=e.f64();t%2==0?h.push([n,r]):g.push([n,r])}let _=e.i32();u===0&&(a.minVertices=[f,p,m],a.vertScale=d,a.texCoordScale=h,a.texCoordOffset=g);for(let t=0;t<_;t++){let t=e.i32(),s=0;(t===Q.CUSTOM0||t===Q.CUSTOM1||t===Q.GS_SCALE||t===Q.GS_ROTATION)&&(s=e.i32());let c=e.i32(),l=e.bytes(c);if(e.align4(),t===Q.TANGENT){a.streams.push({semantic:`tangent`,bytes:c,stride:0});continue}let u=Zh(t,r,s),_;try{_=Qh(n,i,u,l)}catch{if(t===Q.TEXCOORD0||t===Q.TEXCOORD1)_=Qh(n,i,8,l);else throw Error(`[s3m] MeshOpt 属性解码失败(semantic=0x${t.toString(16)})`)}let v=$h[t]??`semantic_0x${t.toString(16)}`;if(a.streams.push({semantic:v,bytes:c,stride:i>0?_.byteLength/i:0}),t===Q.POSITION){let e=new Uint16Array(_.buffer,_.byteOffset,i*4),t=new Float32Array(i*3);for(let n=0;n<i;n++)t[n*3]=f+e[n*4]*d,t[n*3+1]=p+e[n*4+1]*d,t[n*3+2]=m+e[n*4+2]*d;eg(o,`position`,`f32`,3,t)}else if(t===Q.NORMAL){let e=new Int16Array(_.buffer,_.byteOffset,i*2),t=new Float32Array(i*3);for(let n=0;n<i;n++)Jh(e[n*2]/32767,e[n*2+1]/32767,t,n*3);eg(o,`normal`,`f32`,3,t)}else if(t===Q.COLOR)eg(o,`color`,`u8`,4,_);else if(t===Q.COLOR1)eg(o,`color2`,`u8`,4,_);else if(t===Q.TEXCOORD0||t===Q.TEXCOORD1){let e=t===Q.TEXCOORD0?0:1,n=h[e]??[0,0],r=g[e]??[0,0],a=new Float32Array(i*2);if(_.byteLength===i*8){let e=new Float32Array(_.buffer,_.byteOffset,i*2);a.set(e)}else{let e=new Uint16Array(_.buffer,_.byteOffset,i*2);for(let t=0;t<i;t++)a[t*2]=r[0]+e[t*2]*n[0],a[t*2+1]=r[1]+e[t*2+1]*n[1]}eg(o,e===0?`uv`:`uv2`,`f32`,2,a)}else(t===Q.CUSTOM0||t===Q.CUSTOM1||t===Q.GS_SCALE||t===Q.GS_ROTATION)&&eg(o,$h[t],`u8`,u,_)}let v=e.string();if(e.align4(),v&&!l){l=!0;try{t.customVertexAttribute=JSON.parse(v)}catch{t.customVertexAttribute=v}}let y=await rg(e);c>0&&tg(y,c),s.push(...y),c+=i}i===0&&s.push(...await rg(e)),a.vertexCount=c,t.verticesCount=c,t.meshOptInfo=a;for(let[e,n]of o){let r=c*n.components;if(n.dtype===`f32`){let i=new Float32Array(r),a=0;for(let e of n.chunks)i.set(e,a),a+=e.length;t.vertexAttributes.push(Yh(e,i,n.components))}else{let i=new Uint8Array(r),a=0;for(let e of n.chunks)i.set(e,a),a+=e.length;t.vertexAttributes.push(Xh(e,i,n.components))}}for(let e=0;e<t.vertexAttributes.length;e++)t.attrLocation[`a${t.vertexAttributes[e].semantic}`]=e;return{info:a,indexPackages:s}}async function rg(e){let t=await Kh(),n=e.i32(),r=[];for(let i=0;i<n;i++){let n=e.i32();if(n<1)continue;let i=e.u8(),a=e.u8(),o=e.u8();e.skip(1);let s=e.i32(),c;if(o===Wh)c=e.bytes(s*4),e.align4();else{let r=e.bytes(s);e.align4(),c=new Uint8Array(n*4),t.decodeIndexBuffer(c,n,4,r)}let l=e.i32(),u=[];for(let t=0;t<l;t++)u.push(e.string());e.align4();let d=n>0?c.byteLength/n:0,f=d===2?0:d===4?3:i===1||i===3?i:0;r.push({indexCount:n,indexType:f,useIndex:a,primitiveType:o,indices:c,passNames:u})}return r}var ig=7156595;function ag(e){return e.byteLength<8?!1:new DataView(e,0,8).getUint32(0,!0)===ig}async function og(e){let t=globalThis.DecompressionStream;if(!t)throw Error(`[s3m] 当前环境无 DecompressionStream,请通过 options.inflate 注入解压实现`);let n=new Blob([e]).stream().pipeThrough(new t(`deflate`)),r=await new Response(n).arrayBuffer();return new Uint8Array(r)}var sg=e=>e%4==0?e:e+(4-e%4);function cg(e,t=0){let n=parseFloat(e??``);return Number.isFinite(n)?n:t}function lg(e,t){let n=RegExp(`<(?:[A-Za-z0-9_-]+:)?${t}[^>]*>([^<]*)<\\/(?:[A-Za-z0-9_-]+:)?${t}>`,`i`).exec(e);return n?n[1].trim():null}function ug(e,t){let n=RegExp(`<(?:[A-Za-z0-9_-]+:)?${t}[^>]*>([^<]*)<\\/(?:[A-Za-z0-9_-]+:)?${t}>`,`gi`);return[...e.matchAll(n)].map(e=>e[1].trim())}function dg(e){let t=(e??``).toUpperCase();return t.includes(`DISTANCE`)?0:t.includes(`GEOMETRIC`)||t===`2`?2:1}function fg(e){let t=[...e.matchAll(/<(?:[A-Za-z0-9_-]+:)?PagedLOD[^>]*>([\s\S]*?)<\/(?:[A-Za-z0-9_-]+:)?PagedLOD>/gi)],n=[];for(let e of t){let t=e[1],r=(lg(t,`GeoDeModMatrix`)??`1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1`).split(`,`).map(e=>parseFloat(e.trim())).filter(e=>Number.isFinite(e)),i=/<(?:[A-Za-z0-9_-]+:)?BoundingSphere[^>]*>([\s\S]*?)<\/(?:[A-Za-z0-9_-]+:)?BoundingSphere>/i.exec(t)?.[1]??``;n.push({geoNames:ug(t,`GeoName`),matrix:r.length===16?r:[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],childTile:lg(t,`RangeDataList`)??``,rangeMode:dg(lg(t,`RangeMode`)),rangeValue:cg(lg(t,`RangeList`)),center:{x:cg(lg(i,`x`)),y:cg(lg(i,`y`)),z:cg(lg(i,`z`))},radius:cg(lg(i,`radius`))})}return n}function pg(e){let t=[...e.matchAll(/<(?:[A-Za-z0-9_-]+:)?material[^>]*>([\s\S]*?)<\/(?:[A-Za-z0-9_-]+:)?material>/gi)],n=[];for(let e of t){let t=e[1];n.push({name:lg(t,`name`)??``,diffuse:(e=>{let n=RegExp(`<(?:[A-Za-z0-9_-]+:)?${e}[^>]*>([\\s\\S]*?)<\\/(?:[A-Za-z0-9_-]+:)?${e}>`,`i`).exec(t);if(!n)return{r:1,g:1,b:1,a:1};let r=n[1];return{r:cg(lg(r,`r`),1),g:cg(lg(r,`g`),1),b:cg(lg(r,`b`),1),a:cg(lg(r,`a`),1)}})(`Diffuse`),shininess:cg(lg(t,`Shininess`)),cullMode:lg(t,`CullMode`)??lg(t,`cullmode`)??`none`,transparentSorting:(lg(t,`TransparentSorting`)??`false`).toLowerCase()===`true`,textureName:void 0,addressMode:void 0});let r=/<(?:[A-Za-z0-9_-]+:)?texture[^>]*>([\s\S]*?)<\/(?:[A-Za-z0-9_-]+:)?texture>/i.exec(t);if(r){let e=r[1],t=n[n.length-1];t.textureName=lg(e,`name`)??void 0;let i=/<(?:[A-Za-z0-9_-]+:)?AddressMode[^>]*>([\s\S]*?)<\/(?:[A-Za-z0-9_-]+:)?AddressMode>/i.exec(e);i&&(t.addressMode={u:cg(lg(i[1],`u`)),v:cg(lg(i[1],`v`))})}}return n}function mg(e,t){let n=e.u32();if(n>4096)throw Error(`[s3m] S3M 1.x 网格数异常:${n}`);let r=[];for(let i=0;i<n;i++){let n=String(e.u32()),i=e.u32(),a=e.u32(),o=e.u32();if(e.u32(),!(o>0&&o<=8e6))throw Error(`[s3m] S3M 1.x 顶点数异常:网格 ${n} V=${o}(字段 7=${i} 772=${a})`);let s=new Float32Array(o*3);for(let t=0;t<o;t++){let n=e.f32(),r=e.f32(),i=e.f32();e.f32(),s[t*3]=n,s[t*3+1]=r,s[t*3+2]=i}e.u32(),e.u32(),e.u32();let c=e.u32(),l=e.u32();if(e.u32(),c!==1||l!==o)throw Error(`[s3m] S3M 1.x UV 头不符:网格 ${n} kind=${c} count=${l} 期望 1/${o}`);let u=new Float32Array(o*2);for(let t=0;t<o;t++)u[t*2]=e.f32(),u[t*2+1]=e.f32();let d=e.u32(),f=e.u32();if(e.u32(),d!==1||f===0||f%3!=0)throw Error(`[s3m] S3M 1.x 索引头不符:网格 ${n} kind=${d} count=${f}`);let p=new Uint16Array(f);for(let t=0;t<f;t++)p[t]=e.u16();if(e.offset>t)throw Error(`[s3m] S3M 1.x 索引越界:网格 ${n}`);e.align4();let m=e.u32(),h=String(e.u32());if(m!==1)throw Error(`[s3m] S3M 1.x 记录尾标记异常:网格 ${n} 期望 1 实得 ${m}`);r.push({geoName:n,vertexCount:o,position:s,uv:u,indexCount:f,indices:p,materialId:h})}return r}function hg(e,t){return!Number.isFinite(e)||e<=0?t:Math.abs(e-.5)<.02?17:Math.abs(e-1)<.02?21:Math.abs(e-4)<.02?14:Math.abs(e-3)<.02?10:(console.warn(`[s3m] S3M 1.x 纹理密度 ${e.toFixed(3)} B/px 不在已知档位,按原 format=${t} 交给上层判定`),t)}function gg(e,t){let n=e.u32(),r={};if(n>1024)throw Error(`[s3m] S3M 1.x 纹理数异常:${n}`);for(let i=0;i<n;i++){let n=String(e.u32()),i=e.u32(),a=e.u32(),o=e.u32(),s=e.u32();if(e.u32(),e.offset+s>t+4)throw Error(`[s3m] S3M 1.x 纹理越界:${n}`);r[n]={code:n,level:0,width:i,height:a,compressType:0,pixelFormat:hg(s/(i*a),o),flipY:!0,data:e.bytesCopy(s)}}return r}async function _g(e,t={}){let n=t.inflate??og,r=new dh(e);r.skip(4);let i=await n(new Uint8Array(e,r.base+r.offset,e.byteLength-r.base-r.offset)),a=i instanceof Uint8Array?i:new Uint8Array(i),o=new dh(a.buffer.slice(a.byteOffset,a.byteOffset+a.byteLength)),s=o.u32();if(s<=0||s>a.byteLength)throw Error(`[s3m] S3M 1.x XML 段长度异常:${s}`);let c=new TextDecoder(`utf-8`).decode(o.bytes(s));o.offset=sg(o.offset);let l=o.u32(),u=o.offset,d=mg(new dh(o.buffer,o.base+u,l),l);o.offset=u+l;let f=o.u32();o.skip(f);let p=o.u32(),m=gg(new dh(o.buffer,o.base+o.offset,p),p),h={};for(let e of d){let t=`SuperMapCache#${e.geoName}`,n={semantic:`position`,data:new Uint8Array(e.position.buffer,e.position.byteOffset,e.position.byteLength),components:3,stride:12,offsetInBytes:0,dtype:`f32`},r={semantic:`uv`,data:new Uint8Array(e.uv.buffer,e.uv.byteOffset,e.uv.byteLength),components:2,stride:8,offsetInBytes:0,dtype:`f32`};h[t]={name:t,vertexPackage:{verticesCount:e.vertexCount,vertexAttributes:[n,r],attrLocation:{aposition:0,auv:1},instanceCount:0,instanceMode:0,instanceIndex:-1},indexPackages:[{indexCount:e.indexCount,indexType:0,useIndex:1,primitiveType:4,indices:new Uint8Array(e.indices.buffer,e.indices.byteOffset,e.indices.byteLength),passNames:[e.materialId]}]}}let g=new Map(d.map(e=>[e.geoName,`SuperMapCache#${e.geoName}`])),_=fg(c),v=[];return _.forEach((e,t)=>{let n=e.geoNames.map(e=>g.get(e)).filter(e=>!!e),r=d[t]?[`SuperMapCache#${d[t].geoName}`]:[],i=n.length?[...new Set(n)]:r;i.length&&v.push({rangeValue:e.rangeValue,rangeMode:e.rangeMode,boundingSphere:{center:{...e.center},radius:e.radius},childTile:e.childTile,geodes:[{matrix:e.matrix,skeletonNames:i}]})}),{version:1,compressedType:1,options:0,groupNode:{pageLods:v},geoPackage:h,textures:m,materials:pg(c).map(e=>({material:{name:e.name,diffuse:e.diffuse,shininess:e.shininess,cullMode:e.cullMode,transparentsorting:e.transparentSorting,textureStates:e.textureName?[{textureunitstate:{name:e.textureName,...e.addressMode?{addressmode:e.addressMode}:{}}}]:[]}})),pickInfo:null,extensions:{s3m1:!0},bytesRead:o.offset+p,bytesTotal:a.byteLength}}uh();var vg={V1:1,V2:2,V3:3},yg={UNKNOWN:0,STANDARD:1,COMPRESSED:2,DRACO:3},bg={STANDARD:0,DRACO:1,MESHOPT:2},xg={VERTEX:1,NORMAL:2,VERTEX_COLOR:4,SECOND_COLOR:8,TEXCOORD:16,TEXCOORD_IS_W:32},Sg={0:4,1:4,2:8,3:2};async function Cg(e){if(typeof DecompressionStream>`u`)throw Error(`[s3m] 当前环境无 DecompressionStream,请通过 options.inflate 注入解压实现`);let t=new Blob([e]).stream().pipeThrough(new DecompressionStream(`deflate`));return new Uint8Array(await new Response(t).arrayBuffer())}function wg(e,t,n,r,i,a=0,o,s=`f32`){e.attrLocation[t]=e.vertexAttributes.length,e.vertexAttributes.push({semantic:t,data:n,components:r,stride:i||r*4,offsetInBytes:a,divisor:o,dtype:s})}function Tg(){return{vertexAttributes:[],attrLocation:{},instanceCount:0,instanceMode:0,instanceIndex:-1,verticesCount:0}}function Eg(e){let t=Array(16);for(let n=0;n<16;n++)t[n]=e.f64();let n=e.u32(),r=[];for(let t=0;t<n;t++)r.push(e.string());return{matrix:t,skeletonNames:r}}function Dg(e,t){let n={rangeValue:e.f32(),rangeMode:e.u16(),boundingSphere:{center:e.vec3f64(),radius:e.f64()},childTile:``,geodes:[]};t>=3&&(n.obb={center:e.vec3f64(),xExtent:e.vec3f64(),yExtent:e.vec3f64(),zExtent:e.vec3f64()});let r=e.string(),i=r.indexOf(`Geometry`);i!==-1&&(r=r.substring(0,i)),n.childTile=r;let a=e.u32();for(let t=0;t<a;t++)n.geodes.push(Eg(e));return t>=3&&e.string(),n}function Og(e,t){let n=e.u32(),r=[];for(let i=0;i<n;i++)r.push(Dg(e,t));return e.align4(),{pageLods:r}}function kg(e,t){return e.u32(),Og(e,t)}function Ag(e,t){let n=e.u32();if(t.verticesCount=n,n===0)return;let r=e.u16();e.u16(),wg(t,`position`,e.bytes(n*r*4),r,r*4)}function jg(e,t){let n=e.u32();if(n<=0)return;let r=e.u16(),i=e.u16();wg(t,`normal`,e.bytes(n*r*4),r,i||r*4)}function Mg(e,t){let n=e.u32(),r;n>0?(e.u16(),e.skip(2),r=e.bytes(n*4)):r=new Uint8Array((t.verticesCount||0)*4).fill(255),wg(t,`color`,r,4,4,0,void 0,`u8`)}function Ng(e,t){let n=e.u32();n<=0||(e.u16(),e.skip(2),wg(t,`secondColor`,e.bytes(n*4),4,4,0,void 0,`u8`))}function Pg(e,t){let n=e.u16();e.skip(2);for(let r=0;r<n;r++){let n=e.u32(),i=e.u16(),a=e.u16();wg(t,r===0?`uv`:`uv${r+1}`,e.bytes(n*i*4),i,a||i*4)}}function Fg(e,t,n){let r=e.u16();e.skip(2);for(let i=0;i<r;i++){let r=e.u32(),i=e.u16();if(i===16){e.offset-=2;let a=n===3?2:4,o=i*4+a,s=r*o,c=e.bytes(s),l=new Uint8Array(r*i*4);for(let e=0;e<r;e++)l.set(c.subarray(e*o+a,e*o+o),e*i*4);t.instanceCount=r,t.instanceMode=i,t.instanceBuffer=l,t.instanceIndex=1,wg(t,`instanceMatrix0`,l,4,64,0,1),wg(t,`instanceMatrix1`,l,4,64,16,1),wg(t,`instanceMatrix2`,l,4,64,32,1),wg(t,`instanceColor`,l,4,64,48,1)}else{e.u16();let n=r*i*4;i===17||i===29?(t.instanceCount=r,t.instanceMode=i,t.instanceBuffer=e.bytesCopy(n),t.instanceIndex=1):e.skip(n)}}}function Ig(e,t){let n=e.u32();for(let r=0;r<n;r++){let n=e.u32(),i=e.u16(),a=Sg[e.u16()]??4;wg(t,`custom${r}`,e.bytes(n*i*a),i,i*a)}}function Lg(e){let t=e.u32();if(t<=0)return;let n=e.u16();e.u16(),e.skip(t*n*4)}function Rg(e,t,n){if(n>=3&&e.u32(),Ag(e,t),jg(e,t),Mg(e,t),n<3&&Ng(e,t),Pg(e,t),Fg(e,t,n),n>=3){Ig(e,t);let n=e.string();t.customVertexAttribute=n?JSON.parse(n):void 0,e.align4(),Lg(e)}}function zg(e,t,n){let r=e.u32();if(t.compressOptions=r,r&xg.VERTEX)throw Error(`[s3m] 顶点量化压缩(v2 旧式)暂未实现`);if(Ag(e,t),r&xg.NORMAL)throw Error(`[s3m] 法线压缩(v2 旧式)暂未实现`);if(jg(e,t),Mg(e,t),Ng(e,t),r&xg.TEXCOORD)throw Error(`[s3m] 纹理坐标压缩(v2 旧式)暂未实现`);Pg(e,t),r&xg.TEXCOORD_IS_W&&(t.textureCoordIsW=!0),Fg(e,t,n)}function Bg(e,t){let n=e.u32(),r=[];for(let i=0;i<n;i++){t>=3&&e.u32();let n=e.u32(),i=e.u8(),a=e.u8(),o=e.u8();e.skip(1);let s=null;if(n>0){let t=i===1||i===3,r=t?4:2;s=e.bytes(n*r),!t&&n%2!=0&&e.skip(2)}let c=[],l=e.u32();for(let t=0;t<l;t++)c.push(e.string());e.align4(),r.push({indexCount:n,indexType:i,useIndex:a,primitiveType:o,indices:s,passNames:c})}return r}var Vg=96;function Hg(e){let t=e.offset,n=e.boundingBox();return Ug(n)?n:(e.offset=t+4,e.boundingBox())}function Ug(e){let t=[e.center,e.xExtent,e.yExtent,e.zExtent];for(let e of t)if(!Number.isFinite(e.x)||!Number.isFinite(e.y)||!Number.isFinite(e.z)||Math.abs(e.x)>1e7||Math.abs(e.y)>1e7||Math.abs(e.z)>1e7)return!1;return!0}async function Wg(e,t,n){let r=e.u32(),i={};for(let a=0;a<r;a++){let r=-1;if(t>=3){let t=e.u32(),n=e.offset+t;t>=Vg&&n<=e.view.byteLength&&(r=n)}let a=e.string();e.align4();let o=e.u32();t>=3&&(o=o===bg.STANDARD?yg.STANDARD:o===bg.DRACO?yg.DRACO:o===bg.MESHOPT?yg.COMPRESSED:yg.UNKNOWN);let s=Tg(),c=[];if(o===yg.STANDARD)Rg(e,s,t),c=Bg(e,t);else if(o===yg.COMPRESSED)t>=3?c=(await ng(e,s)).indexPackages:(zg(e,s,t),c=Bg(e,t));else if(o===yg.DRACO)c=await Ih(e,s);else throw Error(`[s3m] 未知骨架标记 ${o}(${a})`);let l;if(t>=3){if(r>=0&&r-e.offset>=Vg){let t=r-e.offset-Vg;t>0&&n?.(` skelPad`,t,e.offset),e.offset=r-Vg,l=Hg(e),e.offset=r}else l=Hg(e)}n?.(` skel`,a,e.offset),i[a]={name:a,vertexPackage:s,indexPackages:c,obb:l}}return i}async function Gg(e,t,n){e.u32();let r=await Wg(e,t,n);if(t<3){let t=e.u32();e.skip(t)}return r}function Kg(e){let t=e.u32(),n=e.offset,r=n+t,i=e.u32(),a={};for(let t=0;t<i;t++){let t=e.string();e.align4(n);let r=e.u32(),i=e.u32(),o=e.u32(),s=e.u32(),c=e.u32();a[t]={code:t,level:r,width:i,height:o,compressType:s,pixelFormat:e.u32(),data:e.bytesCopy(c)}}return e.offset=r,a}function qg(e){let t=e.u32(),n=new TextDecoder(`utf-8`).decode(e.bytes(t));return n?JSON.parse(n):[]}function Jg(e,t,n,r){let i=t;return(i&1)!=1||(r>=3&&(i=e.u32()),(i&1)!=1)?null:(e.u32(),Yg(e,n,r))}function Yg(e,t,n){let r=e.u32(),i={};for(let a=0;a<r;a++){let r=e.string(),a=t[r],o=e.u32(),s={};if(!a)continue;let c=a.vertexPackage;if(c.instanceIndex===-1){let t=new Float32Array(c.verticesCount||0);for(let n=0;n<o;n++){let r=e.u32(),i=e.u32(),a={batchId:n,segments:[]};s[r]=a;for(let r=0;r<i;r++){let r=e.u32(),i=e.u32();a.segments.push({vertexOffset:r,vertexCount:i}),t.fill(n,r,r+i)}}wg(c,`batchId`,new Uint8Array(t.buffer),1,4,0,void 0,`f32`)}else{let t=c.instanceCount,r=new Float32Array(t).fill(-1);for(let i=0;i<o;i++){let a=e.u32(),o=e.u32(),c={instanceIds:[],instanceBatchId:i};s[a]=c;for(let a=0;a<o;a++){let a=e.u32();n>=3&&e.u32(),a>=0&&a<t&&(c.instanceIds.push(a),r[a]=i)}}c.instanceBatchIds=r}a.pickInfo=s,i[r]=s}return i}var Xg=class extends Error{constructor(e){super(e),X(this,`permanent`,!0),this.name=`S3MFormatError`}};async function Zg(e,t={}){if(ag(e))return _g(e,t);let n=t.inflate??Cg,r=t.trace,i=new dh(e),a=Number(i.f32().toFixed(2)),o=0;a>=3&&(o=i.u32()),a>=2&&i.u32();let s=i.u32(),c=new Uint8Array(e,i.base+i.offset,s),l;l=a>=3&&o===0?c:await n(c);let u=new dh(l.buffer,l.byteOffset??0,l.byteLength),d=u.u32();r?.(`fileOptions`,d,u.offset);let f=kg(u,a);r?.(`groupNode`,f.pageLods.length,u.offset);let p=await Gg(u,a,r);r?.(`skeletons`,Object.keys(p).length,u.offset);let m=Kg(u);r?.(`textures`,Object.keys(m).length,u.offset);let h=qg(u);r?.(`materials`,u.offset);let g=Jg(u,d,p,a);r?.(`pickInfo`,u.offset);let _;if(a>=3){let e=u.string();_=e?JSON.parse(e):void 0}return{version:a,compressedType:o,options:d,groupNode:f,geoPackage:p,textures:m,materials:h,pickInfo:g,extensions:_,bytesRead:u.offset,bytesTotal:u.view.byteLength}}function Qg(e){return e?e.batchId==null?e.instanceBatchId==null?-1:e.instanceBatchId:e.batchId:-1}function $g(e){let t=new Map;if(!e)return t;for(let[n,r]of Object.entries(e)){if(!r?.instanceIds?.length)continue;let e=Number(n);if(!Number.isFinite(e))continue;let i=Qg(r);for(let n of r.instanceIds)t.set(n,{smid:e,batchId:i})}return t}function e_(e,t){let n=e?.pickInfo;if(!n||t<0)return{smid:null,segments:[]};for(let[e,r]of Object.entries(n))if(Qg(r)===t)return{smid:Number(e),segments:r.segments??[]};return{smid:null,segments:[]}}function t_(e,t){let n=e?.getAttribute(`position`);if(!n||!t.length)return null;let r=1/0,i=1/0,a=1/0,o=-1/0,s=-1/0,c=-1/0,l=0;for(let e of t){let t=Math.min(e.vertexOffset+e.vertexCount,n.count);for(let u=e.vertexOffset;u<t;u++){let e=n.getX(u),t=n.getY(u),d=n.getZ(u);e<r&&(r=e),e>o&&(o=e),t<i&&(i=t),t>s&&(s=t),d<a&&(a=d),d>c&&(c=d),l++}}if(!l)return null;let u=0,d=e.index;if(d){let e=new Uint8Array(n.count);for(let r of t){let t=Math.min(r.vertexOffset+r.vertexCount,n.count);e.fill(1,r.vertexOffset,t)}let r=d.array;for(let t=0;t<r.length;t+=3)e[r[t]]&&e[r[t+1]]&&e[r[t+2]]&&u++}return{minX:r,minY:i,minZ:a,maxX:o,maxY:s,maxZ:c,count:l,triangles:u}}function n_(e){let{smid:t,box:n,triangles:r,floorHeight:i=i_}=e;if(!n)return{smid:t,triangles:r};let a=n.maxZ-n.minZ;return{smid:t,height:r_(a,1),baseElevation:r_(n.minZ,1),size:[r_(n.maxX-n.minX,1),r_(n.maxY-n.minY,1)],bboxArea:r_((n.maxX-n.minX)*(n.maxY-n.minY),1),floors:Math.max(1,Math.round(a/i)),triangles:n.triangles??r,vertices:n.count,bbox:[[r_(n.minX,1),r_(n.minY,1),r_(n.minZ,1)],[r_(n.maxX,1),r_(n.maxY,1),r_(n.maxZ,1)]]}}function r_(e,t){let n=10**t;return Math.round(e*n)/n}var i_,a_=n((()=>{i_=3.2}));a_(),uh();var o_=`SmID`,s_=200,c_=new Set([`smgeometry`,`smindexkey`,`smgeoposition`]);function l_(e){return e.replace(/x'[0-9A-Fa-f]*'/g,`null`).replace(/(\d)[dDlLfF](?=\s*[,}\]])/g,`$1`)}var u_=class{constructor(e){if(X(this,`dataServiceUrl`,void 0),X(this,`datasourceName`,void 0),X(this,`datasetName`,void 0),X(this,`idField`,void 0),X(this,`_fields`,void 0),X(this,`_chunkSize`,void 0),X(this,`_formatOption`,void 0),X(this,`_fetch`,void 0),X(this,`_cache`,new Map),X(this,`_schema`,null),X(this,`_resolvedFields`,null),X(this,`_format`,null),X(this,`_stats`,{requests:0,bytes:0,ms:0}),!e?.dataServiceUrl)throw Error(`[s3m] AttributeQuery 缺少 dataServiceUrl`);let[t,n]=(e.datasetName?.includes(`:`)?e.datasetName:`DataSource:${e.datasetName??``}`).split(`:`);if(!n)throw Error(`[s3m] datasetName 格式应为 "数据源:数据集",收到 "${e.datasetName}"`);this.dataServiceUrl=e.dataServiceUrl.replace(/\/+$/,``),this.datasourceName=t,this.datasetName=n,this.idField=e.idField??o_,this._fields=e.fields?.length?e.fields:null,this._chunkSize=Math.max(1,e.chunkSize??s_),this._formatOption=e.format??`auto`,this._fetch=e.fetchImpl??globalThis.fetch.bind(globalThis)}get datasetPath(){return`${this.dataServiceUrl}/datasources/name/${encodeURIComponent(this.datasourceName)}/datasets/name/${encodeURIComponent(this.datasetName)}`}get stats(){return{...this._stats}}async loadSchema(){if(this._schema)return this._schema;let e=await this._fetch(`${this.datasetPath}/fields.json`);if(this._stats.requests++,!e.ok)throw Error(`[s3m] 读取字段表失败 ${e.status}:${this.datasetPath}/fields.json`);let t=await e.json();return this._schema=(t.fieldNames??[]).map(e=>({name:e})),this._schema}hasCached(e){return this._cache.has(e)}clearCache(){this._cache.clear(),this._stats={requests:0,bytes:0,ms:0}}async queryBySmids(e){let t=[...new Set(e.filter(e=>Number.isFinite(e)))],n=new Map;for(let e of t){let t=this._cache.get(e);t&&n.set(e,t)}let r=t.filter(e=>!this._cache.has(e));if(!r.length)return n;let i=await this._resolveFields();for(let e=0;e<r.length;e+=this._chunkSize){let t=r.slice(e,e+this._chunkSize),a=await this._queryChunk(t,i);for(let[e,t]of a)this._cache.set(e,t),n.set(e,t)}return n}async _resolveFields(){if(this._resolvedFields)return this._resolvedFields;if(this._fields)return this._resolvedFields=this._fields,this._resolvedFields;let e=(await this.loadSchema()).map(e=>e.name).filter(e=>!c_.has(e.toLowerCase()));return this._resolvedFields=e.length?e:[this.idField],this._resolvedFields}async _resolveFormat(){if(this._format)return this._format;if(this._formatOption!==`auto`)return this._format=this._formatOption;try{let e=await this._fetch(`${this.datasetPath}/features.json?fromIndex=0&toIndex=1`);this._stats.requests++;let t=await e.json(),n=String(t.geometryType??``).toUpperCase().includes(`MODEL`);this._format=n?`fastjson`:`json`}catch{this._format=`fastjson`}return this._format}async _queryChunk(e,t){let n={getFeatureMode:`SQL`,datasetNames:[`${this.datasourceName}:${this.datasetName}`],queryOption:`ATTRIBUTE`,queryParameter:{attributeFilter:`${this.idField} IN (${e.join(`,`)})`,fields:t}},r=await this._resolveFormat(),i=await this._post(n,r),a;try{a=this._parse(i)}catch(e){if(r!==`fastjson`)throw e;a=this._parse(await this._post(n,`json`))}if(a.error)throw Error(`[s3m] 属性查询失败:${a.error.errorMsg??`未知错误`}`);let o=new Map;for(let e of a.features??[]){let t=e.fieldNames??[],n=e.fieldValues??[],r={};for(let e=0;e<t.length;e++)r[t[e]]=n[e];let i=r[this.idField]??e.ID,a=Number(i);Number.isFinite(a)&&o.set(a,r)}return o}async _post(e,t){let n=performance.now(),r=await this._fetch(`${this.dataServiceUrl}/featureResults.${t}?returnContent=true`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(e)}),i=await r.text();if(this._stats.requests++,this._stats.bytes+=i.length,this._stats.ms+=Math.round(performance.now()-n),!r.ok)throw Error(`[s3m] 属性查询失败 ${r.status}:${i.slice(0,200)}`);return i}_parse(e){return JSON.parse(e.includes(`x'`)||/\d[dDlL](?=\s*[,}\]])/.test(e)?l_(e):e)}},d_=6378137;function f_(e,t,n=0){let r=Math.sin(t*Math.PI/180),i=(180+e)/360,a=.5-.25*Math.log((1+r)/(1-r))/Math.PI,o=1/(2*Math.PI*d_)/Math.cos(t*Math.PI/180);return{x:i,y:a,z:n*o,meterInMercator:o,altitude:n}}function p_(e,t){return[e*360-180,Math.atan(Math.sinh(Math.PI*(1-2*t)))*180/Math.PI]}function m_(e,t,n,r=0){return e?e.worldFromLngLat(t,n,r):f_(t,n,r)}function h_(e,t,n){return e?e.lngLatFromWorld(t,n):p_(t,n)}uh();var g_=class extends Error{constructor(e){super(e),this.name=`WorkerDeadError`}},__=class e{static create(){if(typeof Worker>`u`)return null;try{let t=new Worker(new URL(`/assets/s3mWorker-BjPOUgjg.js`,``+{}.url),{type:`module`});return new e(t)}catch{return null}}constructor(e){X(this,`_worker`,void 0),X(this,`_seq`,0),X(this,`_pending`,new Map),X(this,`dead`,!1),this._worker=e,e.onmessage=e=>{let t=e.data,n=this._pending.get(t.id);if(n){if(this._pending.delete(t.id),t.ok)`tile`in t?n.resolve({tile:t.tile,geometry:t.geometry}):n.resolve(t.data);else{let e=Error(t.message);e.permanent=t.permanent,n.reject(e)}}},e.onerror=()=>this._die(`s3m 解析 Worker 加载失败/崩溃`),e.onmessageerror=()=>this._die(`s3m 解析 Worker 消息无法反序列化`)}parseTile(e,t=!1,n=!0){if(this.dead)return Promise.reject(new g_(`s3m 解析 Worker 已终止`));let r=++this._seq;return new Promise((i,a)=>{this._pending.set(r,{resolve:i,reject:a}),this._worker.postMessage({type:`parse`,id:r,buffer:e,assemble:t,batching:n})})}decodeTexture(e,t=!1,n){if(this.dead)return Promise.reject(new g_(`s3m 解析 Worker 已终止`));let r=++this._seq;return new Promise((i,a)=>{this._pending.set(r,{resolve:i,reject:a}),this._worker.postMessage({type:`tex`,id:r,tex:e,compressed:t,maxSize:n})})}dispose(){this._die(`dispose`)}_die(e){if(this.dead)return;this.dead=!0;try{this._worker.terminate()}catch{}let t=new g_(`${e},退回主线程解析`);for(let e of this._pending.values())e.reject(t);this._pending.clear()}},v_;function y_(){return v_===void 0&&(v_=__.create()),v_&&v_.dead?null:v_}async function b_(e,t,n){let r=y_();if(!r)return null;try{return await r.decodeTexture(e,t,n)}catch{return null}}function x_(e,t,n,r){let i=e|t<<8,a=i>>11&31,o=i>>5&63,s=i&31;return n[r+0]=a<<3|a>>2,n[r+1]=o<<2|o>>4,n[r+2]=s<<3|s>>2,n[r+3]=255,i}function S_(e,t,n,r){let i=new Uint8Array(16),a=x_(t[n+0],t[n+1],i,0),o=x_(t[n+2],t[n+3],i,4);for(let e=0;e<3;e++){let t=i[e],n=i[4+e];r&&a<=o?(i[8+e]=(t+n)/2,i[12+e]=0):(i[8+e]=(2*t+n)/3,i[12+e]=(t+2*n)/3)}i[11]=255,i[15]=r&&a<=o?0:255;let s=new Uint8Array(16);for(let e=0;e<4;++e){let r=t[n+4+e];s[4*e+0]=r&3,s[4*e+1]=r>>2&3,s[4*e+2]=r>>4&3,s[4*e+3]=r>>6&3}for(let t=0;t<16;++t){let n=4*s[t];for(let r=0;r<4;++r)e[4*t+r]=i[n+r]}}function C_(e,t,n){for(let r=0;r<8;++r){let i=t[n+r],a=i&15,o=i&240;e[8*r+3]=a|a<<4,e[8*r+7]=o|o>>4}}function w_(e,t,n){let r=t[n+0],i=t[n+1],a=new Uint8Array(8);if(a[0]=r,a[1]=i,r<=i){for(let e=1;e<5;++e)a[1+e]=((5-e)*r+e*i)/5;a[6]=0,a[7]=255}else for(let e=1;e<7;++e)a[1+e]=((7-e)*r+e*i)/7;let o=new Uint8Array(16),s=n+2,c=0;for(let e=0;e<2;++e){let e=0;for(let n=0;n<3;++n){let r=t[s++];e|=r<<8*n}for(let t=0;t<8;++t){let n=e>>3*t&7;o[c++]=n}}for(let t=0;t<16;++t)e[4*t+3]=a[o[t]]}function T_(e,t,n,r){let i=0;r&6&&(i=8),S_(e,t,n+i,(r&k_)!==0),(r&A_)===0?(r&j_)!==0&&w_(e,t,n):C_(e,t,n)}function E_(e){let t=e.byteOffset&-2,n=e.byteLength+(e.byteOffset&1)>>1;return new Uint16Array(e.buffer,t,n)}function D_(e,t,n,r){let i=new Uint16Array(4),a=e,o=0,s=0,c=0,l=0,u=0,d=0,f=0,p=0,m=0,h=t/4,g=n/4;for(let e=0;e<g;e++)for(let n=0;n<h;n++)c=4*((g-e)*h+n),i[0]=r[c],i[1]=r[c+1],l=i[0]&31,u=i[0]&2016,d=i[0]&63488,f=i[1]&31,p=i[1]&2016,m=i[1]&63488,i[2]=5*l+3*f>>3|5*u+3*p>>3&2016|5*d+3*m>>3&63488,i[3]=5*f+3*l>>3|5*p+3*u>>3&2016|5*m+3*d>>3&63488,o=r[c+2],s=e*4*t+n*4,a[s]=i[o&3],a[s+1]=i[o>>2&3],a[s+2]=i[o>>4&3],a[s+3]=i[o>>6&3],s+=t,a[s]=i[o>>8&3],a[s+1]=i[o>>10&3],a[s+2]=i[o>>12&3],a[s+3]=i[o>>14&3],o=r[c+3],s+=t,a[s]=i[o&3],a[s+1]=i[o>>2&3],a[s+2]=i[o>>4&3],a[s+3]=i[o>>6&3],s+=t,a[s]=i[o>>8&3],a[s+1]=i[o>>10&3],a[s+2]=i[o>>12&3],a[s+3]=i[o>>14&3];return a}function O_(e,t,n,r,i){let a=(i&k_)===0?16:8,o=0;for(let s=0;s<n;s+=4)for(let c=0;c<t;c+=4){let l=new Uint8Array(64);T_(l,r,o,i);let u=0;for(let r=0;r<4;++r)for(let i=0;i<4;++i){let a=c+i,o=s+r;if(a<t&&o<n){let r=4*(t*(n-1-o)+a);for(let t=0;t<4;++t)e[r++]=l[u++]}else u+=4}o+=a}}var k_,A_,j_,M_,N_,P_=n((()=>{k_=1,A_=2,j_=4,M_=32,N_={decode(e,t,n,r,i){if(e==null||r==null||n===0||t===0)return;let a;switch(i){case 17:a=k_;break;case 18:case 19:a=A_;break;case 20:case 21:a=j_;break;default:a=i>11||i===5?j_:33}(a&k_)!==0&&(a&M_)!==0?D_(E_(e),t,n,E_(r)):O_(e,t,n,r,a)}}}));P_();function F_(e){if(!e.data||!e.width||!e.height)return null;let t=e.compressType;if((t===0||t===void 0)&&e.pixelFormat===28&&e.data.length===e.width*e.height*4)return{rgba:e.data,topDown:!0};if(!(t===12||t===13||t===14||t===17||t===19||t===20||t===21||e.pixelFormat>=17))return null;let n=new Uint8Array(e.width*e.height*4);try{N_.decode(n,e.width,e.height,e.data,e.pixelFormat)}catch{return null}return{rgba:n,topDown:!1}}function I_(e){let t=Object.entries(e).filter(([,e])=>e.data&&e.width>0&&e.height>0);if(t.length<2)return null;let n=new Map;for(let[e,r]of t){let t=F_(r);if(!t)return null;n.set(e,{w:r.width,h:r.height,rgba:t.rgba,topDown:t.topDown})}let r=0,i=0,a=0,o=0,s=new Map;for(let[e,t]of n)r>0&&r+t.w>1024&&(r=0,i+=a,a=0),s.set(e,{x:r,y:i}),r+=t.w,a=Math.max(a,t.h),o=Math.max(o,r);let c=Math.max(1,o),l=Math.max(1,i+a),u=new Uint8Array(c*l*4);for(let[e,t]of n){let n=s.get(e);for(let e=0;e<t.h;e++){let r=(t.topDown?e:t.h-1-e)*t.w*4;u.set(t.rgba.subarray(r,r+t.w*4),((n.y+e)*c+n.x)*4)}}return{width:c,height:l,data:u,offsets:s}}async function L_(e){if(typeof DecompressionStream>`u`)throw Error(`[s3m] 当前环境无 DecompressionStream,请通过 options.inflate 注入解压实现`);let t=new Blob([e]).stream().pipeThrough(new DecompressionStream(`deflate`));return new Uint8Array(await new Response(t).arrayBuffer())}function R_(e){let t=e.u32(),n={};for(let r=0;r<t;r++){let t=e.string();e.align4();let r=e.u32(),i=e.u8(),a=e.u32(),o=e.u32(),s=e.u32(),c=e.u32(),l=e.u32(),u=i?e.bytesCopy(c):null,d=e.u32(),f=[];for(let t=0;t<d;t++)f.push(e.string());let p=e.u32(),m=[];for(let t=0;t<p;t++)m.push(e.string());let h=e.u32(),g=[];for(let t=0;t<h;t++){let t=e.string(),n=e.u32(),r=e.u32(),i=e.u32(),a=e.u32(),o=e.u32(),s=[];for(let t=0;t<o;t++){let t=e.string(),n=e.u32(),r=e.u32(),i=e.u32();s.push({geoName:t,vertexOffset:n,vertexCount:r,texUnitIndex:i})}g.push({subName:t,offsetX:n,offsetY:r,width:i,height:a,bindings:s})}n[t]={id:t,level:r,width:a,height:o,compressType:s,pixelFormat:l,data:u,childTexNames:f,requestNames:m,subTexInfos:g}}return n}function z_(e){let t=Object.values(e);if(t.some(e=>e.packed))return null;let n=I_(e);if(!n)return null;let r=t.filter(e=>e.leafSig).map(e=>`${e.id}=${e.leafSig}`),i=`${n.width}x${n.height}#${[...n.offsets.keys()].sort().join(`,`)}`+(r.length?`@${[...r].sort().join(`,`)}`:``);for(let e of t){let t=e;t.origin={width:e.width,height:e.height,pixelFormat:e.pixelFormat,compressType:e.compressType,dataLength:e.data?.length??0,data:e.data??void 0},e.width=n.width,e.height=n.height,e.data=n.data,e.compressType=0,e.pixelFormat=28,t.flipY=!1,t.packed=!0,t.packKey=i}return n}function B_(e){let t=e.texturePackage;if(!t)return!1;let n=!1;for(let e of Object.values(t)){let t=e;t.packed&&t.origin?.data&&(e.width=t.origin.width,e.height=t.origin.height,e.pixelFormat=t.origin.pixelFormat,e.compressType=t.origin.compressType,e.data=t.origin.data,t.flipY=!t.composed,t.packed=!1,t.rectScale=1,delete t.packKey,n=!0)}return n&&(e.textures={},e.atlasRects={}),n}function V_(e){let t=z_(e.texturePackage??{});e.atlasRects=U_(e.geoPackage,e.texturePackage??{},t),e.textures=H_(e.texturePackage??{})}function H_(e){let t={};for(let n of Object.values(e)){if(!n.data)continue;let e=n.packed===!0,r=n.composed===!0,i=e||r;t[n.id]={code:n.id,level:n.level,width:n.width,height:n.height,compressType:n.compressType,pixelFormat:n.pixelFormat,data:n.data,flipY:!i,packed:e,composed:r,packKey:n.packKey}}return t}function U_(e,t,n){let r={},i=(t,n)=>{let i=e[t];if(!i)return new Float32Array;let a=r[t]??(r[t]={}),o=a[n];if(!o){let e=i.vertexPackage.verticesCount;o=a[n]=new Float32Array(e*4)}return o},a=new Map;for(let[e,n]of Object.entries(t)){if(!n.width||!n.height)continue;let t=n.rectScale??1;a.set(e,n.subTexInfos.map(e=>({x:e.offsetX*t,y:e.offsetY*t,w:e.width*t,h:e.height*t})))}let o=0;for(let[s,c]of Object.entries(t)){if(!c.width||!c.height)continue;let t=n?n.offsets.get(s)??{x:0,y:0}:{x:0,y:0},l=a.get(s)??[];c.subTexInfos.forEach((n,a)=>{o++;let s=l[a]??{x:n.offsetX,y:n.offsetY,w:n.width,h:n.height},u=c.origin,d=u?u.width*u.height:c.width*c.height,f=d>0&&n.width*n.height/d>=.5,p={x:(t.x+s.x)/c.width,y:(t.y+s.y)/c.height,w:s.w/c.width,h:s.h/c.height};for(let t of n.bindings){var m,h;let a=e[t.geoName];if(!a)continue;let s=t.texUnitIndex===0?`uv`:`uv2`,c=i(t.geoName,s),l=t.texUnitIndex===0?(m=r[t.geoName]).group??(m.group=new Float32Array(a.vertexPackage.verticesCount)):null,u=t.texUnitIndex===0?(h=r[t.geoName]).groupDim??(h.groupDim=new Float32Array(a.vertexPackage.verticesCount*3)):null,d=Math.min(t.vertexOffset+t.vertexCount,a.vertexPackage.verticesCount);for(let e=t.vertexOffset;e<d;e++)c[e*4]=p.x,c[e*4+1]=p.y,c[e*4+2]=p.w,c[e*4+3]=p.h,l&&u&&(l[e]=o,u[e*3]=n.width,u[e*3+1]=n.height,u[e*3+2]=+!!f)}})}return r}async function W_(e,t={}){let n=t.inflate??L_,r=new Uint8Array(e),i=await J_(r,n);if(i)return i;let a=await Y_(r,n);if(a)return a;let o=await K_(r,n);if(o)return[o];throw Error(`[s3m] .texblock 无法识别的外层格式(动态 pack / 静态 pack / 容器均不成立)`)}function G_(e,t){let n=new dh(e.buffer,e.byteOffset,e.byteLength),r=[];for(;n.remaining>=20;){let e=n.u32(),i=n.u32(),a=n.u32(),o=n.u32(),s=n.u32();if(!i||!a||s>n.remaining)break;r.push({id:t,width:i,height:a,compressType:e,pixelFormat:o,data:n.bytesCopy(s)})}return r}async function K_(e,t){if(e.byteLength<8)return null;try{let n=new dh(e.buffer,e.byteOffset,e.byteLength),r=n.u32();if(r<1||r>4096)return null;let i=[];for(let e=0;e<r;e++){let e=n.offset,r=n.u32();if(r<1||r>4096||n.remaining<r+8)return null;n.offset=e;let a=n.string(),o=n.u32(),s=n.u32();if(s>n.remaining)return null;let c=await t(n.bytesCopy(s));if(c.length!==o)return null;i.push(...G_(c,a))}return i.length?i:null}catch{return null}}async function q_(e,t){if(e.byteLength<16)return null;try{let n=new dh(e.buffer,e.byteOffset,e.byteLength),r=n.offset,i=n.u32();if(i<1||i>4096||n.remaining<i+8)return null;n.offset=r;let a=n.string(),o=n.u32(),s=n.u32();if(s!==n.remaining)return null;let c=await t(n.bytesCopy(s));if(c.length!==o)return null;let l=G_(c,a);return l.length?l:null}catch{return null}}async function J_(e,t){if(e.byteLength<8)return null;try{let n=new DataView(e.buffer,e.byteOffset,e.byteLength),r=n.getUint32(0,!0);if(r<1||r>256)return null;let i=4+4*r;if(i>e.byteLength)return null;let a=i,o=[];for(let e=0;e<r;e++){let t=n.getUint32(4+e*4,!0);if(t<8)return null;o.push(t),a+=t}if(a!==e.byteLength)return null;let s=[],c=i;for(let n of o){let r=await K_(e.subarray(c,c+n),t);if(!r)return null;s.push(r),c+=n}return s}catch{return null}}async function Y_(e,t){if(e.byteLength<12)return null;try{let n=new DataView(e.buffer,e.byteOffset,e.byteLength),r=n.getUint32(0,!0);if(r<1||r>4096)return null;let i=4+8*r;if(i>e.byteLength)return null;let a=[];for(let o=0;o<r;o++){let r=n.getUint32(4+o*8,!0),s=n.getUint32(8+o*8,!0);if(r<i||s<8||r>e.byteLength-s)return null;let c=await q_(e.subarray(r,r+s),t);if(!c)return null;a.push(c)}return a}catch{return null}}function X_(e){let t=e=>{let t=e.indexOf(`.`);return t>=0?e.slice(0,t):e},n=new Map,r=[];for(let i of e??[]){let e=t(i);if(e.split(`_`)[0]===`Tex`){let e=i.indexOf(`#`);if(e<0)continue;let r=t(i.slice(0,e)),a=i.slice(e+1),o=n.get(r)??[];for(let e=0;e+3<=a.length;e+=3){let t=`${r}_${a.slice(e,e+3)}`;o.includes(t)||o.push(t)}n.set(r,o)}else r.includes(e)||r.push(e)}let i=[];for(let e of n.values())for(let t of e)i.includes(t)||i.push(t);for(let e of r)i.includes(e)||i.push(e);return{packGroups:n,plain:r,names:i}}function Z_(e,t){let n=e.subTexInfos??[];if(!n.length||!e.width||!e.height)return null;let r=[];for(let e of n){let n=t.get(e.subName);n&&r.push({sub:e,sprite:n})}if(!r.length)return null;let i=e.width,a=e.height;for(let{sub:e,sprite:t}of r)i=Math.max(i,e.offsetX+t.image.width),a=Math.max(a,e.offsetY+t.image.height);let o=new Uint8Array(i*a*4),s=[],c=[],l=[],u=[],d=0;for(let e of n){let n=t.get(e.subName);if(!n){c.push(e.subName);continue}let r=n.image;(r.width!==e.width||r.height!==e.height)&&l.push(e.subName);let f=F_({id:r.id,width:r.width,height:r.height,compressType:r.compressType,pixelFormat:r.pixelFormat,data:r.data});if(!f)c.push(e.subName);else{for(let t=0;t<r.height;t++){let n=f.topDown?t:r.height-1-t,s=e.offsetY+t;if(s>=a)break;let c=n*r.width*4;o.set(f.rgba.subarray(c,c+r.width*4),(s*i+e.offsetX)*4)}d++,s.push(e.subName),u.push(`${n.source}#${e.subName}`)}}return d?{width:i,height:a,data:o,matched:s,missing:c,mismatched:l,sig:u.sort().join(`,`)}:null}async function Q_(e,t={}){let n=t.inflate??L_,r=new dh(e),i=r.f32(),a=r.u32();if(a<1||a>4096)throw Error(`[s3m] S3MBLOCK 组数异常:${a}`);let o=[],s=[];for(let e=0;e<a;e++){let e=r.string().replace(/\.s3mblock$/i,``);s.push(e);let t=[];if(i<=3){let e=r.u32();for(let n=0;n<e;n++){let e=r.f32(),n=r.u16(),i={center:{x:r.f64(),y:r.f64(),z:r.f64()},radius:r.f64()},a=r.string();t.push({rangeValue:e,rangeMode:n,boundingSphere:i,childTile:a})}}let a=Number(r.f32().toFixed(2)),c=0;a>=3&&(c=r.u32());let l=r.u32(),u=r.u32(),d=await n(r.bytesCopy(u));if(d.length!==l)throw Error(`[s3m] S3MBLOCK 解压长度不符:声明 ${l},实际 ${d.length}`);let f=new dh(d.buffer,d.byteOffset,d.byteLength),p=f.u32(),m=f.u32(),h=Og(new dh(f.buffer,f.base+f.offset,m),a);f.skip(m),m=f.u32();let g=await Wg(new dh(f.buffer,f.base+f.offset,m),a);f.skip(m),a<3&&(m=f.u32(),f.skip(m)),m=f.u32();let _=R_(new dh(f.buffer,f.base+f.offset,m));f.skip(m);let v=f.string(),y=[];if(v)try{y=JSON.parse(v.replace(/\n\0/,``))}catch{y=v}let b=null,x;if((p&1)==1&&(a>=3&&f.u32(),m=f.u32(),b=Yg(new dh(f.buffer,f.base+f.offset,m),g,a),f.skip(m)),a>=3){let e=f.string();x=e?JSON.parse(e):void 0}let S=U_(g,_,z_(_)),C=H_(_),w=h.pageLods,T=t.map((e,t)=>{let n=w[t];return{rangeValue:e.rangeValue,rangeMode:e.rangeMode,boundingSphere:e.boundingSphere,childTile:e.childTile,geodes:n?.geodes??[],...n?.obb?{obb:n.obb}:{}}});o.push({version:a,compressedType:c,options:p,groupNode:{pageLods:T},geoPackage:g,textures:C,materials:y,pickInfo:b,extensions:x,bytesRead:f.offset,bytesTotal:d.byteLength,blockVersion:i,blockName:e,texturePackage:_,atlasRects:S})}return{tiles:o,names:s}}function $_(e){switch(e){case 17:return`dxt1`;case 18:case 19:return`dxt3`;case 20:return`dxt4`;case 21:return`dxt5`;case 25:return`webp`;case 12:case 13:case 10:case 11:case 14:case 28:return`raw`;default:return null}}function ev(e){switch(e){case 14:return`dxt5`;case iv.DXT1_RGB:case iv.DXT1_RGBA:return`dxt1`;case iv.DXT3:return`dxt3`;case iv.DXT5:return`dxt5`;case iv.WEBP:return`webp`;case iv.CRN:case iv.CRN_DXT5:return`crn`;case iv.KTX2:return`ktx2`;default:return null}}function tv(e,t){return av.has(e)?`crn`:ev(e)||($_(t)??`unknown`)}function nv(e){return ov[e]??21}var rv,iv,av,ov,sv=n((()=>{rv={RGB:10,BGR:11,ARGB:12,ABGR:13,BGRA:14,RGBA:28,WEBP:25,DXT1:17,DXT3:19,DXT4:20,DXT5:21,CRN_DXT5:26,STANDARD_CRN:27},iv={NONE:0,DXT1_RGB:33776,DXT1_RGBA:33777,DXT3:33778,DXT5:33779,WEBP:38e3,CRN:38001,KTX2:38002,CRN_DXT5:5e4},av=new Set([26,27]),ov={dxt1:17,dxt3:19,dxt4:20,dxt5:21}}));P_(),sv();function cv(e){if(!e.data?.length||!e.width||!e.height)return null;let t=e.width*e.height*4;if(e.compressType===0&&e.pixelFormat===28&&e.data.length>=t)return e.data.subarray(0,t);let n=tv(e.compressType,e.pixelFormat);if(!n.startsWith(`dxt`))return null;let r=new Uint8Array(e.width*e.height*4);try{N_.decode(r,e.width,e.height,e.data,nv(n))}catch{return null}return r}function lv(e,t,n,r,i){let a=new Uint8Array(r*i*4);for(let o=0;o<i;o++){let s=o*n/i,c=(o+1)*n/i;for(let i=0;i<r;i++){let l=i*t/r,u=(i+1)*t/r,d=0,f=0,p=0,m=0,h=0;for(let r=Math.floor(s);r<Math.ceil(c);r++)for(let i=Math.floor(l);i<Math.ceil(u);i++){let a=Math.min(t-1,i),o=(Math.min(n-1,r)*t+a)*4;d+=e[o],f+=e[o+1],p+=e[o+2],m+=e[o+3],h++}let g=(o*r+i)*4;a[g]=d/h,a[g+1]=f/h,a[g+2]=p/h,a[g+3]=m/h}}return a}function uv(e,t,n={}){let r=n.maxAspectDelta??.02,i=n.maxMeanError??24,a=e.width/e.height,o=t.width/t.height,s=Math.abs(o/a-1),c=t.width/e.width,l=t.height/e.height,u=e=>({ok:!1,reason:e,aspectDelta:s,scale:c,meanAbsError:NaN});if(!Number.isFinite(s)||s>r)return u(`aspect`);if(t.width*t.height<=e.width*e.height)return u(`content`);if(c!==l||!Number.isInteger(c))return u(`scale`);let d=cv(e),f=cv(t);if(!d||!f)return u(`undecodable`);let p=lv(f,t.width,t.height,e.width,e.height),m=0,h=0;for(let t=0;t<e.width*e.height;t++)if(!(d[t*4+3]<8)){for(let e=0;e<3;e++)m+=Math.abs(d[t*4+e]-p[t*4+e]);h+=3}if(h===0)return u(`empty`);let g=m/h;return{ok:g<=i,reason:g<=i?`ok`:`content`,aspectDelta:s,scale:c,meanAbsError:g}}var dv=i({default:()=>$});function fv(){let e=pv;if(typeof atob==`function`){let t=atob(e),n=new Uint8Array(t.length);for(let e=0;e<t.length;e++)n[e]=t.charCodeAt(e);return n}return Uint8Array.from(Buffer.from(e,`base64`))}var pv,mv,hv,$,gv,_v,vv,yv,bv,xv,Sv,Cv,wv,Tv,Ev,Dv,Ov,kv,Av,jv,Mv,Nv,Pv,Fv,Iv,Lv,Rv,zv,Bv,Vv,Hv,Uv,Wv,Gv,Kv,qv,Jv,Yv,Xv,Zv,Qv,$v,ey,ty,ny,ry=n((()=>{if(pv=`AGFzbQEAAAABbxBgBX9/f39/AX9gA39/fwF/YAZ/fH9/f38Bf2AEf39/fwF/YAF/AX9gAABgAn9/AX9gBn9/f39/fwBgA39+fwF+YAJ+fwF/YAN+f38Bf2AB.fwBgA39/fwBgBX9/f39/AGAHf39/f39/fwBgAn9/AAJABQNlbnYBYQABA2VudgFiAAQNd2FzaV91bnN0YWJsZQFjAAMDZW52Bm1lbW9yeQIAgAIDZW52BXRh.YmxlAXAABgNIRw8LBgMLDAYEDA0MDAQECwMBBA8EBAwEBgALBAsGBgQGAQsPAQkKCQAPBggEAwEEBAQEBAQHAQYGBgYGAAAAAAEADg0EBAYFBgkBfwFBwKPA.AgsHKQoBZABJAWUADwFmABEBZwA9AWgAPAFpADsBagA6AWsAOQFsADgBbQA3CQsBAEEBCwUqLiMtJgr6rgJHIQEBfyMAQRBrIgIkACACIAE2AgwgACABECUg.AkEQaiQAC2oBAn9BxA4oAgAiASgCTEEATgR/QQEFQQALGgJAQX9BACAAECEiAiAAIAIgARAwRxtBAEgNAAJAIAEtAEtBCkYNACABKAIUIgAgASgCEE8NACAB.IABBAWo2AhQgAEEKOgAADAELIAEQJAsL6gQBB38jAEHABGsiAiQAIAEoAhQhBQJAIAAoAhQiBkEYTgRAIAAoAhAhBwwBCyAAKAIIIQggACgCBCEDIAACfyAG.QQ9MBEACfyADIAhPBEAgAyEEQQAMAQsgA0EBaiEEIAMtAABBCHQLIQMgACAEIAhPBH8gBAUgBC0AACEHIARBAWoLNgIEIAAgBkEQajYCFCAAKAIQIAMgB3JB.ECAGa3RyDAELIAMgCEkEQCAAIANBAWo2AgQgAy0AACEECyAAIAZBCGo2AhQgACgCECAEQRggBmt0cgsiBzYCEAsCQAJAAkAgB0EQdiIIIAUoAhBJBEAgBSgC.qAEgB0EgIAUoAghrdkECdGooAgAiA0F/RgRAIAJBtgg2AiAgAkGDFTYCJCACQccMNgIoIAJBQGsgAkEgahADIAJBQGsQBAsgA0EQdiEEIAEoAgggA0H//wNx.IgNNBEAgAkG2CDYCECACQcoENgIUIAJBqw02AhggAkFAayACQRBqEAMgAkFAaxAECyAEIAEoAgQgA2otAABGDQEgAkG2CDYCACACQYcVNgIEIAJB2Aw2Aggg.AkFAayACEAMgAkFAaxAEDAELIAUoAhQhAwNAIAMiBEEBaiEDIAggBSAEQX9qIgZBAnRqKAIcTw0ACyAFIAZBAnRqKAJgIAdBICAEa3ZqIgMgASgCAE8NASAF.KAKwASADQQF0ai8BACEDCyAAIAAoAhAgBHQ2AhAgACAAKAIUIARrNgIUDAELIAJBtgg2AjAgAkGVFTYCNCACQcUMNgI4IAJBQGsgAkEwahADIAJBQGsQBEEA.IQMLIAJBwARqJAAgAwvmAgEDfyMAQcAEayIEJAAgACgCBCAAKAIISwRAIARBtgg2AjAgBEH7DDYCNCAEQaEINgI4IARBQGsgBEEwahADIARBQGsQBAtBgID8./wcgA24gAU0EQCAEQbYINgIgIARB/Aw2AiQgBEHJCDYCKCAEQUBrIARBIGoQAyAEQUBrEAQLAn9BASAAKAIIIgYgAU8NABoCQAJAAkAgAWlBAUYNACACRQ0A.IAFBf2oiAUEQdiABciIBQQh2IAFyIgFBBHYgAXIiAUECdiABciIBQQF2IAFyIgJBAWoiASACSQ0BCyABIQUgASAGSw0BCyAEQbYINgIQIARBhQ02AhQgBEH5.CDYCGCAEQUBrIARBEGoQAyAEQUBrEAQgBSEBC0EAIAAoAgAgASADbCICIARBPGoQQiIFRQ0AGiAAIAU2AgAgACAEKAI8IgAgAksEfyAAIANuBSABCzYCCEEB.CyEAIARBwARqJAAgAAvgAQECfyMAQaAEayIBJAACQCAAKAIUIgJFDQAgAhAUIgJBB3EEQCABQbYINgIQIAFByQ82AhQgAUHCCzYCGCABQSBqIAFBEGoQAyAB.QSBqEAQMAQsgAkEAQQBBAUHgFigCAEHQEygCABEAABoLIAAoAgQiAgRAAkAgAkEHcQRAIAFBtgg2AgAgAUHJDzYCBCABQcILNgIIIAFBIGogARADIAFBIGoQ.BAwBCyACQQBBAEEBQeAWKAIAQdATKAIAEQAAGgsgAEIANwIEIABBADYCDAsgAEEAOgAQIAFBoARqJAAL8QICAn8BfgJAIAJFDQAgACACaiIDQX9qIAE6AAAg.ACABOgAAIAJBA0kNACADQX5qIAE6AAAgACABOgABIANBfWogAToAACAAIAE6AAIgAkEHSQ0AIANBfGogAToAACAAIAE6AAMgAkEJSQ0AIABBACAAa0EDcSIE.aiIDIAFB/wFxQYGChAhsIgA2AgAgAyACIARrQXxxIgJqIgFBfGogADYCACACQQlJDQAgAyAANgIIIAMgADYCBCABQXhqIAA2AgAgAUF0aiAANgIAIAJBGUkN.ACADIAA2AhggAyAANgIUIAMgADYCECADIAA2AgwgAUFwaiAANgIAIAFBbGogADYCACABQWhqIAA2AgAgAUFkaiAANgIAIAIgA0EEcUEYciIBayICQSBJDQAg.AK0iBUIghiAFhCEFIAEgA2ohAQNAIAEgBTcDGCABIAU3AxAgASAFNwMIIAEgBTcDACABQSBqIQEgAkFgaiICQR9LDQALCwuxDwEKfyMAQfAEayIFJAACQCAA.KAIUIgJBDk4EQCAAKAIQIQQMAQsgACgCBCEGIAAoAgghCCACIQMDQAJ/IAYgCEYEQEEAIQQgCAwBCyAAIAZBAWoiAjYCBCAGLQAAIQQgAgshBiAAIANBCGoi.AjYCFCAAIAAoAhAgBEEYIANrdHIiBDYCECACIQMgAkEOSA0ACwsgACACQXJqNgIUIAAgBEEOdDYCEAJAIARBEnYiCUUEQCABEB5BASECDAELIAFBBGohCgJA.AkACQCAJIAEoAggiBkcEQCAGIAlNBEACfyABKAIMIAlJBEBBACECIAogCSAGQQFqIAlGQQEQBkUNBCABKAIIIQYLIAooAgAgBmoLQQAgCSAGaxAICyABIAk2.AggLIAooAgBBACAJEAgCQCAAKAIUIgJBBU4EQCAAKAIQIQQMAQsgACgCBCEGIAAoAgghCCACIQMDQAJ/IAYgCEYEQEEAIQQgCAwBCyAAIAZBAWoiAjYCBCAG.LQAAIQQgAgshBiAAIANBCGoiAjYCFCAAIAAoAhAgBEEYIANrdHIiBDYCECACIQMgAkEFSA0ACwsgACACQXtqNgIUIAAgBEEFdDYCEEEAIQIgBEEbdiILQX9q.QRRLDQMgBUIANwNgIAVBADoAaCAFQgA3A1ggBUEANgJsIAVB2ABqQQRyQRVBAEEBEAZFBEAgBUEBOgBoDAMLIAUoAmAiAyAFKAJcakEAQRUgA2sQCCAFQRU2.AmADQAJAIAAoAhQiAkEDTgRAIAAoAhAhBAwBCyAAKAIEIQYgACgCCCEIIAIhAwNAAn8gBiAIRgRAQQAhBCAIDAELIAAgBkEBaiICNgIEIAYtAAAhBCACCyEG.IAAgA0EIaiICNgIUIAAgACgCECAEQRggA2t0ciIENgIQIAIhAyACQQNIDQALCyAAIAJBfWo2AhQgACAEQQN0NgIQIAUoAmAgB0GwDGotAAAiA00EQCAFQbYI.NgJAIAVBzgQ2AkQgBUGrDTYCSCAFQfAAaiAFQUBrEAMgBUHwAGoQBAsgBSgCXCADaiAEQR12OgAAIAdBAWoiByALRw0AC0EAIQIgBUHYAGoQHUUNAkEAIQYD.QAJAIAAgBUHYAGoQBSIEQRBNBEAgASgCCCAGTQRAIAVBtgg2AgAgBUHOBDYCBCAFQasNNgIIIAVB8ABqIAUQAyAFQfAAahAECyAKKAIAIAZqIAQ6AAAgBkEB.aiEGDAELIAkgBmshCyAEQW9qIgNBAU0EQCADQQFrBEACQCAAKAIUIgNBA04EQCAAKAIQIQcMAQsgACgCBCECIAAoAgghCCADIQQDQAJ/IAIgCEYEQEEAIQcg.CAwBCyAAIAJBAWoiAzYCBCACLQAAIQcgAwshAiAAIARBCGoiAzYCFCAAIAAoAhAgB0EYIARrdHIiBzYCECADIQQgA0EDSA0ACwsgACADQX1qNgIUIAAgB0ED.dDYCEEEAIQIgB0EddkEDaiIEIAtLIgMNBkEAIAQgAxsgBmohBgwCCwJAIAAoAhQiA0EHTgRAIAAoAhAhBwwBCyAAKAIEIQIgACgCCCEIIAMhBANAAn8gAiAI.RgRAQQAhByAIDAELIAAgAkEBaiIDNgIEIAItAAAhByADCyECIAAgBEEIaiIDNgIUIAAgACgCECAHQRggBGt0ciIHNgIQIAMhBCADQQdIDQALCyAAIANBeWo2.AhQgACAHQQd0NgIQQQAhAiAHQRl2QQtqIgQgC0siAw0FQQAgBCADGyAGaiEGDAELIARBbWpBAUsNAyAAKAIUIQICfyAEQRNGBEACQCACQQJOBEAgACgCECEH.DAELIAAoAgQhAyAAKAIIIQggAiEEA0ACfyADIAhGBEBBACEHIAgMAQsgACADQQFqIgI2AgQgAy0AACEHIAILIQMgACAEQQhqIgI2AhQgACAAKAIQIAdBGCAE.a3RyIgc2AhAgAiEEIAJBAkgNAAsLIAAgB0ECdDYCECACQX5qIQJBAyEEIAdBHnYMAQsCQCACQQZOBEAgACgCECEHDAELIAAoAgQhAyAAKAIIIQggAiEEA0AC.fyADIAhGBEBBACEHIAgMAQsgACADQQFqIgI2AgQgAy0AACEHIAILIQMgACAEQQhqIgI2AhQgACAAKAIQIAdBGCAEa3RyIgc2AhAgAiEEIAJBBkgNAAsLIAAg.B0EGdDYCECACQXpqIQJBByEEIAdBGnYLIQMgACACNgIUQQAhAiAGRQ0EIAMgBGoiCCALSw0EIAEoAgggBkF/aiIDTQRAIAVBtgg2AiAgBUHOBDYCJCAFQasN.NgIoIAVB8ABqIAVBIGoQAyAFQfAAahAECyAKKAIAIANqLQAAIgRFDQQgBiAGIAhqIgNPDQADQCABKAIIIAZNBEAgBUG2CDYCECAFQc4ENgIUIAVBqw02Ahgg.BUHwAGogBUEQahADIAVB8ABqEAQLIAooAgAgBmogBDoAACAGQQFqIgYgA0cNAAsgAyEGCyAJIAZLDQALIAYgCUcNAiABEB0hAgwCCyABQQE6ABAMAgsgBUG2.CDYCMCAFQaYUNgI0IAVBxQw2AjggBUHwAGogBUEwahADIAVB8ABqEAQLIAVB2ABqEAcLIAVB8ARqJAAgAgtKAQF/QcAjKAIAIgEgAGoiAEF/TARAQfgeQTA2.AgBBfw8LAkAgAD8AQRB0TQ0AIAAQAQ0AQfgeQTA2AgBBfw8LQcAjIAA2AgAgAQu/AgEBfwJAIABFDQAgAUHKAEkNACACRQ0AIAIoAgBBKEcNACAALQABIAAt.AABBCHRyQfiQAUcNACAALQADIAAtAAJBCHRyQcoASQ0AIAAoAAYiA0EYdCADQQh0QYCA/AdxciADQQh2QYD+A3EgA0EYdnJyIAFLDQAgAiAALQANIAAtAAxB.CHRyNgIEIAIgAC0ADyAALQAOQQh0cjYCCCACIAAtABA2AgwgAiAALQARNgIQIAIgADEAEjcDICACIAAtABIiAUELTUEAQQEgAXRBgRxxGwR/QQgFQQhBECAB.QQ1GGws2AhQgAiAAKAAZIgFBGHQgAUEIdEGAgPwHcXIgAUEIdkGA/gNxIAFBGHZycjYCGCACIAAoAB0iAEEYdCAAQQh0QYCA/AdxciAAQQh2QYD+A3EgAEEY.dnJyNgIcCwt3AQF/IwBBgAJrIgUkAAJAIAIgA0wNACAEQYDABHENACAFIAEgAiADayIEQYACIARBgAJJIgEbEAggACAFIAEEfyAEBSACIANrIQEDQCAAIAVB.gAIQDSAEQYB+aiIEQf8BSw0ACyABQf8BcQsQDQsgBUGAAmokAAsXACAALQAAQSBxRQRAIAEgAiAAEBMaCwv/AwECfyACQYDAAE8EQCAAIAEgAhAAGg8LIAAg.AmohAwJAIAAgAXNBA3FFBEACQCACQQFIBEAgACECDAELIABBA3FFBEAgACECDAELIAAhAgNAIAIgAS0AADoAACABQQFqIQEgAkEBaiICIANPDQEgAkEDcQ0A.CwsCQCADQXxxIgBBwABJDQAgAiAAQUBqIgRLDQADQCACIAEoAgA2AgAgAiABKAIENgIEIAIgASgCCDYCCCACIAEoAgw2AgwgAiABKAIQNgIQIAIgASgCFDYC.FCACIAEoAhg2AhggAiABKAIcNgIcIAIgASgCIDYCICACIAEoAiQ2AiQgAiABKAIoNgIoIAIgASgCLDYCLCACIAEoAjA2AjAgAiABKAI0NgI0IAIgASgCODYC.OCACIAEoAjw2AjwgAUFAayEBIAJBQGsiAiAETQ0ACwsgAiAATw0BA0AgAiABKAIANgIAIAFBBGohASACQQRqIgIgAEkNAAsMAQsgA0EESQRAIAAhAgwBCyAD.QXxqIgQgAEkEQCAAIQIMAQsgACECA0AgAiABLQAAOgAAIAIgAS0AAToAASACIAEtAAI6AAIgAiABLQADOgADIAFBBGohASACQQRqIgIgBE0NAAsLIAIgA0kE.QANAIAIgAS0AADoAACABQQFqIQEgAkEBaiICIANHDQALCwvILQELfyMAQRBrIgskAAJAAkACQAJAAkACQAJAAkACQAJAAkAgAEH0AU0EQEG8HygCACIGQRAg.AEELakF4cSAAQQtJGyIFQQN2IgB2IgFBA3EEQCABQX9zQQFxIABqIgJBA3QiBEHsH2ooAgAiAUEIaiEAAkAgASgCCCIDIARB5B9qIgRGBEBBvB8gBkF+IAJ3.cTYCAAwBC0HMHygCABogAyAENgIMIAQgAzYCCAsgASACQQN0IgJBA3I2AgQgASACaiIBIAEoAgRBAXI2AgQMDAsgBUHEHygCACIITQ0BIAEEQAJAQQIgAHQi.AkEAIAJrciABIAB0cSIAQQAgAGtxQX9qIgAgAEEMdkEQcSIAdiIBQQV2QQhxIgIgAHIgASACdiIAQQJ2QQRxIgFyIAAgAXYiAEEBdkECcSIBciAAIAF2IgBB.AXZBAXEiAXIgACABdmoiAkEDdCIDQewfaigCACIBKAIIIgAgA0HkH2oiA0YEQEG8HyAGQX4gAndxIgY2AgAMAQtBzB8oAgAaIAAgAzYCDCADIAA2AggLIAFB.CGohACABIAVBA3I2AgQgASAFaiIHIAJBA3QiAiAFayIDQQFyNgIEIAEgAmogAzYCACAIBEAgCEEDdiIEQQN0QeQfaiEBQdAfKAIAIQICfyAGQQEgBHQiBHFF.BEBBvB8gBCAGcjYCACABDAELIAEoAggLIQQgASACNgIIIAQgAjYCDCACIAE2AgwgAiAENgIIC0HQHyAHNgIAQcQfIAM2AgAMDAtBwB8oAgAiCkUNASAKQQAg.CmtxQX9qIgAgAEEMdkEQcSIAdiIBQQV2QQhxIgIgAHIgASACdiIAQQJ2QQRxIgFyIAAgAXYiAEEBdkECcSIBciAAIAF2IgBBAXZBAXEiAXIgACABdmpBAnRB.7CFqKAIAIgEoAgRBeHEgBWshAyABIQIDQAJAIAIoAhAiAEUEQCACKAIUIgBFDQELIAAoAgRBeHEgBWsiAiADIAIgA0kiAhshAyAAIAEgAhshASAAIQIMAQsL.IAEoAhghCSABIAEoAgwiBEcEQEHMHygCACABKAIIIgBNBEAgACgCDBoLIAAgBDYCDCAEIAA2AggMCwsgAUEUaiICKAIAIgBFBEAgASgCECIARQ0DIAFBEGoh.AgsDQCACIQcgACIEQRRqIgIoAgAiAA0AIARBEGohAiAEKAIQIgANAAsgB0EANgIADAoLQX8hBSAAQb9/Sw0AIABBC2oiAEF4cSEFQcAfKAIAIgdFDQBBACAF.ayECAkACQAJAAn9BACAAQQh2IgBFDQAaQR8gBUH///8HSw0AGiAAIABBgP4/akEQdkEIcSIAdCIBIAFBgOAfakEQdkEEcSIBdCIDIANBgIAPakEQdkECcSID.dEEPdiAAIAFyIANyayIAQQF0IAUgAEEVanZBAXFyQRxqCyIIQQJ0QewhaigCACIDRQRAQQAhAAwBCyAFQQBBGSAIQQF2ayAIQR9GG3QhAUEAIQADQAJAIAMo.AgRBeHEgBWsiBiACTw0AIAMhBCAGIgINAEEAIQIgAyEADAMLIAAgAygCFCIGIAYgAyABQR12QQRxaigCECIDRhsgACAGGyEAIAEgA0EAR3QhASADDQALCyAA.IARyRQRAQQIgCHQiAEEAIABrciAHcSIARQ0DIABBACAAa3FBf2oiACAAQQx2QRBxIgB2IgFBBXZBCHEiAyAAciABIAN2IgBBAnZBBHEiAXIgACABdiIAQQF2.QQJxIgFyIAAgAXYiAEEBdkEBcSIBciAAIAF2akECdEHsIWooAgAhAAsgAEUNAQsDQCAAKAIEQXhxIAVrIgMgAkkhASADIAIgARshAiAAIAQgARshBCAAKAIQ.IgEEfyABBSAAKAIUCyIADQALCyAERQ0AIAJBxB8oAgAgBWtPDQAgBCgCGCEIIAQgBCgCDCIBRwRAQcwfKAIAIAQoAggiAE0EQCAAKAIMGgsgACABNgIMIAEg.ADYCCAwJCyAEQRRqIgMoAgAiAEUEQCAEKAIQIgBFDQMgBEEQaiEDCwNAIAMhBiAAIgFBFGoiAygCACIADQAgAUEQaiEDIAEoAhAiAA0ACyAGQQA2AgAMCAtB.xB8oAgAiASAFTwRAQdAfKAIAIQACQCABIAVrIgJBEE8EQEHEHyACNgIAQdAfIAAgBWoiAzYCACADIAJBAXI2AgQgACABaiACNgIAIAAgBUEDcjYCBAwBC0HQ.H0EANgIAQcQfQQA2AgAgACABQQNyNgIEIAAgAWoiASABKAIEQQFyNgIECyAAQQhqIQAMCgtByB8oAgAiASAFSwRAQcgfIAEgBWsiATYCAEHUH0HUHygCACIA.IAVqIgI2AgAgAiABQQFyNgIEIAAgBUEDcjYCBCAAQQhqIQAMCgtBACEAIAVBL2oiBAJ/QZQjKAIABEBBnCMoAgAMAQtBoCNCfzcCAEGYI0KAoICAgIAENwIA.QZQjIAtBDGpBcHFB2KrVqgVzNgIAQagjQQA2AgBB+CJBADYCAEGAIAsiAmoiBkEAIAJrIgdxIgIgBU0NCUH0IigCACIDBEBB7CIoAgAiCCACaiIJIAhNDQog.CSADSw0KC0H4Ii0AAEEEcQ0EAkACQEHUHygCACIDBEBB/CIhAANAIAAoAgAiCCADTQRAIAggACgCBGogA0sNAwsgACgCCCIADQALC0EAEAoiAUF/Rg0FIAIh.BkGYIygCACIAQX9qIgMgAXEEQCACIAFrIAEgA2pBACAAa3FqIQYLIAYgBU0NBSAGQf7///8HSw0FQfQiKAIAIgAEQEHsIigCACIDIAZqIgcgA00NBiAHIABL.DQYLIAYQCiIAIAFHDQEMBwsgBiABayAHcSIGQf7///8HSw0EIAYQCiIBIAAoAgAgACgCBGpGDQMgASEACyAAIQECQCAFQTBqIAZNDQAgBkH+////B0sNACAB.QX9GDQBBnCMoAgAiACAEIAZrakEAIABrcSIAQf7///8HSw0GIAAQCkF/RwRAIAAgBmohBgwHC0EAIAZrEAoaDAQLIAFBf0cNBQwDC0EAIQQMBwtBACEBDAUL.IAFBf0cNAgtB+CJB+CIoAgBBBHI2AgALIAJB/v///wdLDQEgAhAKIgFBABAKIgBPDQEgAUF/Rg0BIABBf0YNASAAIAFrIgYgBUEoak0NAQtB7CJB7CIoAgAg.BmoiADYCACAAQfAiKAIASwRAQfAiIAA2AgALAkACQAJAQdQfKAIAIgMEQEH8IiEAA0AgASAAKAIAIgIgACgCBCIEakYNAiAAKAIIIgANAAsMAgtBzB8oAgAi.AEEAIAEgAE8bRQRAQcwfIAE2AgALQQAhAEGAIyAGNgIAQfwiIAE2AgBB3B9BfzYCAEHgH0GUIygCADYCAEGII0EANgIAA0AgAEEDdCICQewfaiACQeQfaiID.NgIAIAJB8B9qIAM2AgAgAEEBaiIAQSBHDQALQcgfIAZBWGoiAEF4IAFrQQdxQQAgAUEIakEHcRsiAmsiAzYCAEHUHyABIAJqIgI2AgAgAiADQQFyNgIEIAAg.AWpBKDYCBEHYH0GkIygCADYCAAwCCyAALQAMQQhxDQAgASADTQ0AIAIgA0sNACAAIAQgBmo2AgRB1B8gA0F4IANrQQdxQQAgA0EIakEHcRsiAGoiATYCAEHI.H0HIHygCACAGaiICIABrIgA2AgAgASAAQQFyNgIEIAIgA2pBKDYCBEHYH0GkIygCADYCAAwBCyABQcwfKAIAIgRJBEBBzB8gATYCACABIQQLIAEgBmohAkH8.IiEAAkACQAJAAkACQAJAA0AgAiAAKAIARwRAIAAoAggiAA0BDAILCyAALQAMQQhxRQ0BC0H8IiEAA0AgACgCACICIANNBEAgAiAAKAIEaiIEIANLDQMLIAAo.AgghAAwAAAsACyAAIAE2AgAgACAAKAIEIAZqNgIEIAFBeCABa0EHcUEAIAFBCGpBB3EbaiIJIAVBA3I2AgQgAkF4IAJrQQdxQQAgAkEIakEHcRtqIgEgCWsg.BWshACAFIAlqIQcgASADRgRAQdQfIAc2AgBByB9ByB8oAgAgAGoiADYCACAHIABBAXI2AgQMAwsgAUHQHygCAEYEQEHQHyAHNgIAQcQfQcQfKAIAIABqIgA2.AgAgByAAQQFyNgIEIAAgB2ogADYCAAwDCyABKAIEIgJBA3FBAUYEQCACQXhxIQoCQCACQf8BTQRAIAEoAggiAyACQQN2IgRBA3RB5B9qRxogAyABKAIMIgJG.BEBBvB9BvB8oAgBBfiAEd3E2AgAMAgsgAyACNgIMIAIgAzYCCAwBCyABKAIYIQgCQCABIAEoAgwiBkcEQCAEIAEoAggiAk0EQCACKAIMGgsgAiAGNgIMIAYg.AjYCCAwBCwJAIAFBFGoiAygCACIFDQAgAUEQaiIDKAIAIgUNAEEAIQYMAQsDQCADIQIgBSIGQRRqIgMoAgAiBQ0AIAZBEGohAyAGKAIQIgUNAAsgAkEANgIA.CyAIRQ0AAkAgASABKAIcIgJBAnRB7CFqIgMoAgBGBEAgAyAGNgIAIAYNAUHAH0HAHygCAEF+IAJ3cTYCAAwCCyAIQRBBFCAIKAIQIAFGG2ogBjYCACAGRQ0B.CyAGIAg2AhggASgCECICBEAgBiACNgIQIAIgBjYCGAsgASgCFCICRQ0AIAYgAjYCFCACIAY2AhgLIAEgCmohASAAIApqIQALIAEgASgCBEF+cTYCBCAHIABB.AXI2AgQgACAHaiAANgIAIABB/wFNBEAgAEEDdiIBQQN0QeQfaiEAAn9BvB8oAgAiAkEBIAF0IgFxRQRAQbwfIAEgAnI2AgAgAAwBCyAAKAIICyEBIAAgBzYC.CCABIAc2AgwgByAANgIMIAcgATYCCAwDCyAHAn9BACAAQQh2IgFFDQAaQR8gAEH///8HSw0AGiABIAFBgP4/akEQdkEIcSIBdCICIAJBgOAfakEQdkEEcSIC.dCIDIANBgIAPakEQdkECcSIDdEEPdiABIAJyIANyayIBQQF0IAAgAUEVanZBAXFyQRxqCyIBNgIcIAdCADcCECABQQJ0QewhaiECAkBBwB8oAgAiA0EBIAF0.IgRxRQRAQcAfIAMgBHI2AgAgAiAHNgIADAELIABBAEEZIAFBAXZrIAFBH0YbdCEDIAIoAgAhAQNAIAEiAigCBEF4cSAARg0DIANBHXYhASADQQF0IQMgAiAB.QQRxaiIEKAIQIgENAAsgBCAHNgIQCyAHIAI2AhggByAHNgIMIAcgBzYCCAwCC0HIHyAGQVhqIgBBeCABa0EHcUEAIAFBCGpBB3EbIgJrIgc2AgBB1B8gASAC.aiICNgIAIAIgB0EBcjYCBCAAIAFqQSg2AgRB2B9BpCMoAgA2AgAgAyAEQScgBGtBB3FBACAEQVlqQQdxG2pBUWoiACAAIANBEGpJGyICQRs2AgQgAkGEIykC.ADcCECACQfwiKQIANwIIQYQjIAJBCGo2AgBBgCMgBjYCAEH8IiABNgIAQYgjQQA2AgAgAkEYaiEAA0AgAEEHNgIEIABBCGohASAAQQRqIQAgASAESQ0ACyAC.IANGDQMgAiACKAIEQX5xNgIEIAMgAiADayIEQQFyNgIEIAIgBDYCACAEQf8BTQRAIARBA3YiAUEDdEHkH2ohAAJ/QbwfKAIAIgJBASABdCIBcUUEQEG8HyAB.IAJyNgIAIAAMAQsgACgCCAshASAAIAM2AgggASADNgIMIAMgADYCDCADIAE2AggMBAsgA0IANwIQIAMCf0EAIARBCHYiAEUNABpBHyAEQf///wdLDQAaIAAg.AEGA/j9qQRB2QQhxIgB0IgEgAUGA4B9qQRB2QQRxIgF0IgIgAkGAgA9qQRB2QQJxIgJ0QQ92IAAgAXIgAnJrIgBBAXQgBCAAQRVqdkEBcXJBHGoLIgA2Ahwg.AEECdEHsIWohAQJAQcAfKAIAIgJBASAAdCIGcUUEQEHAHyACIAZyNgIAIAEgAzYCACADIAE2AhgMAQsgBEEAQRkgAEEBdmsgAEEfRht0IQAgASgCACEBA0Ag.ASICKAIEQXhxIARGDQQgAEEddiEBIABBAXQhACACIAFBBHFqIgYoAhAiAQ0ACyAGIAM2AhAgAyACNgIYCyADIAM2AgwgAyADNgIIDAMLIAIoAggiACAHNgIM.IAIgBzYCCCAHQQA2AhggByACNgIMIAcgADYCCAsgCUEIaiEADAULIAIoAggiACADNgIMIAIgAzYCCCADQQA2AhggAyACNgIMIAMgADYCCAtByB8oAgAiACAF.TQ0AQcgfIAAgBWsiATYCAEHUH0HUHygCACIAIAVqIgI2AgAgAiABQQFyNgIEIAAgBUEDcjYCBCAAQQhqIQAMAwtB+B5BMDYCAEEAIQAMAgsCQCAIRQ0AAkAg.BCgCHCIAQQJ0QewhaiIDKAIAIARGBEAgAyABNgIAIAENAUHAHyAHQX4gAHdxIgc2AgAMAgsgCEEQQRQgCCgCECAERhtqIAE2AgAgAUUNAQsgASAINgIYIAQo.AhAiAARAIAEgADYCECAAIAE2AhgLIAQoAhQiAEUNACABIAA2AhQgACABNgIYCwJAIAJBD00EQCAEIAIgBWoiAEEDcjYCBCAAIARqIgAgACgCBEEBcjYCBAwB.CyAEIAVBA3I2AgQgBCAFaiIDIAJBAXI2AgQgAiADaiACNgIAIAJB/wFNBEAgAkEDdiIBQQN0QeQfaiEAAn9BvB8oAgAiAkEBIAF0IgFxRQRAQbwfIAEgAnI2.AgAgAAwBCyAAKAIICyEBIAAgAzYCCCABIAM2AgwgAyAANgIMIAMgATYCCAwBCyADAn9BACACQQh2IgBFDQAaQR8gAkH///8HSw0AGiAAIABBgP4/akEQdkEI.cSIAdCIBIAFBgOAfakEQdkEEcSIBdCIFIAVBgIAPakEQdkECcSIFdEEPdiAAIAFyIAVyayIAQQF0IAIgAEEVanZBAXFyQRxqCyIANgIcIANCADcCECAAQQJ0.QewhaiEBAkACQCAHQQEgAHQiBXFFBEBBwB8gBSAHcjYCACABIAM2AgAMAQsgAkEAQRkgAEEBdmsgAEEfRht0IQAgASgCACEFA0AgBSIBKAIEQXhxIAJGDQIg.AEEddiEFIABBAXQhACABIAVBBHFqIgYoAhAiBQ0ACyAGIAM2AhALIAMgATYCGCADIAM2AgwgAyADNgIIDAELIAEoAggiACADNgIMIAEgAzYCCCADQQA2Ahgg.AyABNgIMIAMgADYCCAsgBEEIaiEADAELAkAgCUUNAAJAIAEoAhwiAEECdEHsIWoiAigCACABRgRAIAIgBDYCACAEDQFBwB8gCkF+IAB3cTYCAAwCCyAJQRBB.FCAJKAIQIAFGG2ogBDYCACAERQ0BCyAEIAk2AhggASgCECIABEAgBCAANgIQIAAgBDYCGAsgASgCFCIARQ0AIAQgADYCFCAAIAQ2AhgLAkAgA0EPTQRAIAEg.AyAFaiIAQQNyNgIEIAAgAWoiACAAKAIEQQFyNgIEDAELIAEgBUEDcjYCBCABIAVqIgQgA0EBcjYCBCADIARqIAM2AgAgCARAIAhBA3YiBUEDdEHkH2ohAEHQ.HygCACECAn9BASAFdCIFIAZxRQRAQbwfIAUgBnI2AgAgAAwBCyAAKAIICyEFIAAgAjYCCCAFIAI2AgwgAiAANgIMIAIgBTYCCAtB0B8gBDYCAEHEHyADNgIA.CyABQQhqIQALIAtBEGokACAAC/4BAQJ/IwBBsARrIgEkAAJAIABBA2pBfHEiAEEEIAAbIgJBgYD8/wdPBEAgAUG2CDYCACABQckPNgIEIAFBowo2AgggAUEw.aiABEAMgAUEwahAEQQAhAAwBC0HQEygCACEAIAEgAjYCLEEAIAIgAUEsakEBQeAWKAIAIAARAAAiAEEAIAEoAiwgAk8bRQRAIAFBtgg2AhAgAUHJDzYCFCAB.Qb0KNgIYIAFBMGogAUEQahADIAFBMGoQBEEAIQAMAQsgAEEHcUUNACABQbYINgIgIAFB4Q82AiQgAUHYCjYCKCABQTBqIAFBIGoQAyABQTBqEAQLIAFBsARq.JAAgAAuMDQEHfwJAIABFDQAgAEF4aiIDIABBfGooAgAiAUF4cSIAaiEFAkAgAUEBcQ0AIAFBA3FFDQEgAyADKAIAIgJrIgNBzB8oAgAiBEkNASAAIAJqIQAg.A0HQHygCAEcEQCACQf8BTQRAIAMoAggiBCACQQN2IgJBA3RB5B9qRxogBCADKAIMIgFGBEBBvB9BvB8oAgBBfiACd3E2AgAMAwsgBCABNgIMIAEgBDYCCAwC.CyADKAIYIQYCQCADIAMoAgwiAUcEQCAEIAMoAggiAk0EQCACKAIMGgsgAiABNgIMIAEgAjYCCAwBCwJAIANBFGoiAigCACIEDQAgA0EQaiICKAIAIgQNAEEA.IQEMAQsDQCACIQcgBCIBQRRqIgIoAgAiBA0AIAFBEGohAiABKAIQIgQNAAsgB0EANgIACyAGRQ0BAkAgAyADKAIcIgJBAnRB7CFqIgQoAgBGBEAgBCABNgIA.IAENAUHAH0HAHygCAEF+IAJ3cTYCAAwDCyAGQRBBFCAGKAIQIANGG2ogATYCACABRQ0CCyABIAY2AhggAygCECICBEAgASACNgIQIAIgATYCGAsgAygCFCIC.RQ0BIAEgAjYCFCACIAE2AhgMAQsgBSgCBCIBQQNxQQNHDQBBxB8gADYCACAFIAFBfnE2AgQgAyAAQQFyNgIEIAAgA2ogADYCAA8LIAUgA00NACAFKAIEIgFB.AXFFDQACQCABQQJxRQRAIAVB1B8oAgBGBEBB1B8gAzYCAEHIH0HIHygCACAAaiIANgIAIAMgAEEBcjYCBCADQdAfKAIARw0DQcQfQQA2AgBB0B9BADYCAA8L.IAVB0B8oAgBGBEBB0B8gAzYCAEHEH0HEHygCACAAaiIANgIAIAMgAEEBcjYCBCAAIANqIAA2AgAPCyABQXhxIABqIQACQCABQf8BTQRAIAUoAgwhAiAFKAII.IgQgAUEDdiIBQQN0QeQfaiIHRwRAQcwfKAIAGgsgAiAERgRAQbwfQbwfKAIAQX4gAXdxNgIADAILIAIgB0cEQEHMHygCABoLIAQgAjYCDCACIAQ2AggMAQsg.BSgCGCEGAkAgBSAFKAIMIgFHBEBBzB8oAgAgBSgCCCICTQRAIAIoAgwaCyACIAE2AgwgASACNgIIDAELAkAgBUEUaiICKAIAIgQNACAFQRBqIgIoAgAiBA0A.QQAhAQwBCwNAIAIhByAEIgFBFGoiAigCACIEDQAgAUEQaiECIAEoAhAiBA0ACyAHQQA2AgALIAZFDQACQCAFIAUoAhwiAkECdEHsIWoiBCgCAEYEQCAEIAE2.AgAgAQ0BQcAfQcAfKAIAQX4gAndxNgIADAILIAZBEEEUIAYoAhAgBUYbaiABNgIAIAFFDQELIAEgBjYCGCAFKAIQIgIEQCABIAI2AhAgAiABNgIYCyAFKAIU.IgJFDQAgASACNgIUIAIgATYCGAsgAyAAQQFyNgIEIAAgA2ogADYCACADQdAfKAIARw0BQcQfIAA2AgAPCyAFIAFBfnE2AgQgAyAAQQFyNgIEIAAgA2ogADYC.AAsgAEH/AU0EQCAAQQN2IgFBA3RB5B9qIQACf0G8HygCACICQQEgAXQiAXFFBEBBvB8gASACcjYCACAADAELIAAoAggLIQIgACADNgIIIAIgAzYCDCADIAA2.AgwgAyACNgIIDwsgA0IANwIQIAMCf0EAIABBCHYiAUUNABpBHyAAQf///wdLDQAaIAEgAUGA/j9qQRB2QQhxIgF0IgIgAkGA4B9qQRB2QQRxIgJ0IgQgBEGA.gA9qQRB2QQJxIgR0QQ92IAEgAnIgBHJrIgFBAXQgACABQRVqdkEBcXJBHGoLIgI2AhwgAkECdEHsIWohAQJAQcAfKAIAIgRBASACdCIHcUUEQEHAHyAEIAdy.NgIAIAEgAzYCACADIAM2AgwgAyABNgIYIAMgAzYCCAwBCyAAQQBBGSACQQF2ayACQR9GG3QhAiABKAIAIQECQANAIAEiBCgCBEF4cSAARg0BIAJBHXYhASAC.QQF0IQIgBCABQQRxaiIHQRBqKAIAIgENAAsgByADNgIQIAMgAzYCDCADIAQ2AhggAyADNgIIDAELIAQoAggiACADNgIMIAQgAzYCCCADQQA2AhggAyAENgIM.IAMgADYCCAtB3B9B3B8oAgBBf2oiADYCACAADQBBhCMhAwNAIAMoAgAiAEEIaiEDIAANAAtB3B9BfzYCAAsLxBECEH8BfiMAQdAAayIFJAAgBUGACDYCTCAF.QTdqIRMgBUE4aiERAkACQANAAkAgDkEASA0AIARB/////wcgDmtKBEBB+B5BPTYCAEF/IQ4MAQsgBCAOaiEOCyAFKAJMIgohBAJAAkACQAJ/AkACQAJAAkAC.QAJAAkACQAJAIAotAAAiBgRAA0ACQAJAAkAgBkH/AXEiB0UEQCAEIQYMAQsgB0ElRw0BIAQhBgNAIAQtAAFBJUcNASAFIARBAmoiBzYCTCAGQQFqIQYgBC0A.AiEJIAchBCAJQSVGDQALCyAGIAprIQQgAARAIAAgCiAEEA0LIAQNEUF/IQ9BASEGIAUoAkwhBAJAIAUoAkwsAAFBUGpBCk8NACAELQACQSRHDQAgBCwAAUFQ.aiEPQQEhEkEDIQYLIAUgBCAGaiIENgJMQQAhBgJAIAQsAAAiEEFgaiIJQR9LBEAgBCEHDAELIAQhB0EBIAl0IgxBidEEcUUNAANAIAUgBEEBaiIHNgJMIAYg.DHIhBiAELAABIhBBYGoiCUEfSw0BIAchBEEBIAl0IgxBidEEcQ0ACwsCQCAQQSpGBEAgBQJ/AkAgBywAAUFQakEKTw0AIAUoAkwiBC0AAkEkRw0AIAQsAAFB.AnQgA2pBwH5qQQo2AgAgBCwAAUEDdCACakGAfWooAgAhDUEBIRIgBEEDagwBCyASDRVBACESQQAhDSAABEAgASABKAIAIgRBBGo2AgAgBCgCACENCyAFKAJM.QQFqCyIENgJMIA1Bf0oNAUEAIA1rIQ0gBkGAwAByIQYMAQsgBUHMAGoQGSINQQBIDRMgBSgCTCEEC0F/IQgCQCAELQAAQS5HDQAgBC0AAUEqRgRAAkAgBCwA.AkFQakEKTw0AIAUoAkwiBC0AA0EkRw0AIAQsAAJBAnQgA2pBwH5qQQo2AgAgBCwAAkEDdCACakGAfWooAgAhCCAFIARBBGoiBDYCTAwCCyASDRQgAAR/IAEg.ASgCACIEQQRqNgIAIAQoAgAFQQALIQggBSAFKAJMQQJqIgQ2AkwMAQsgBSAEQQFqNgJMIAVBzABqEBkhCCAFKAJMIQQLQQAhBwNAIAchDEF/IQsgBCwAAEG/.f2pBOUsNFCAFIARBAWoiEDYCTCAELAAAIQcgECEEIAcgDEE6bGpBnw5qLQAAIgdBf2pBCEkNAAsgB0UNEwJAAkACQCAHQRNGBEAgD0F/TA0BDBcLIA9BAEgN.ASADIA9BAnRqIAc2AgAgBSACIA9BA3RqKQMANwNAC0EAIQQgAEUNEwwBCyAARQ0RIAVBQGsgByABEBggBSgCTCEQCyAGQf//e3EiCSAGIAZBgMAAcRshBkEA.IQtByA4hDyARIQcgEEF/aiwAACIEQV9xIAQgBEEPcUEDRhsgBCAMGyIEQah/aiIQQSBNDQECQAJ/AkACQCAEQb9/aiIJQQZLBEAgBEHTAEcNFCAIRQ0BIAUo.AkAMAwsgCUEBaw4DEwETCAtBACEEIABBICANQQAgBhAMDAILIAVBADYCDCAFIAUpA0A+AgggBSAFQQhqNgJAQX8hCCAFQQhqCyEHQQAhBAJAA0AgBygCACIJ.RQ0BAkAgBUEEaiAJEBoiCkEASCIJDQAgCiAIIARrSw0AIAdBBGohByAIIAQgCmoiBEsNAQwCCwtBfyELIAkNFQsgAEEgIA0gBCAGEAwgBEUEQEEAIQQMAQtB.ACEMIAUoAkAhBwNAIAcoAgAiCUUNASAFQQRqIAkQGiIJIAxqIgwgBEoNASAAIAVBBGogCRANIAdBBGohByAMIARJDQALCyAAQSAgDSAEIAZBgMAAcxAMIA0g.BCANIARKGyEEDBELIAUgBEEBaiIHNgJMIAQtAAEhBiAHIQQMAQsLIBBBAWsOHwwMDAwMDAwMAQwDBAEBAQwEDAwMDAgFBgwMAgwJDAwHCyAOIQsgAA0PIBJF.DQxBASEEA0AgAyAEQQJ0aigCACIABEAgAiAEQQN0aiAAIAEQGEEBIQsgBEEBaiIEQQpHDQEMEQsLQQEhCyAEQQlLDQ9BfyELIAMgBEECdGooAgANDwNAIARB.AWoiBEEKRwRAIAMgBEECdGooAgBFDQELC0F/QQEgBEEKSRshCwwPCyAAIAUrA0AgDSAIIAYgBEEAEQIAIQQMDAsgBSgCQCIEQdIOIAQbIgogCBAiIgQgCCAK.aiAEGyEHIAkhBiAEIAprIAggBBshCAwJCyAFIAUpA0A8ADdBASEIIBMhCiAJIQYMCAsgBSkDQCIUQn9XBEAgBUIAIBR9IhQ3A0BBASELQcgODAYLIAZBgBBx.BEBBASELQckODAYLQcoOQcgOIAZBAXEiCxsMBQsgBSkDQCARECkhCiAGQQhxRQ0FIAggESAKayIEQQFqIAggBEobIQgMBQsgCEEIIAhBCEsbIQggBkEIciEG.QfgAIQQLIAUpA0AgESAEQSBxECghCiAGQQhxRQ0DIAUpA0BQDQMgBEEEdkHIDmohD0ECIQsMAwtBACEEIAxB/wFxIgdBB0sNBQJAAkACQAJAAkACQAJAIAdB.AWsOBwECAwQMBQYACyAFKAJAIA42AgAMCwsgBSgCQCAONgIADAoLIAUoAkAgDqw3AwAMCQsgBSgCQCAOOwEADAgLIAUoAkAgDjoAAAwHCyAFKAJAIA42AgAM.BgsgBSgCQCAOrDcDAAwFCyAFKQNAIRRByA4LIQ8gFCARECchCgsgBkH//3txIAYgCEF/ShshBiAFKQNAIRQCfwJAIAgNACAUUEUNACARIQpBAAwBCyAIIBRQ.IBEgCmtqIgQgCCAEShsLIQgLIABBICALIAcgCmsiCSAIIAggCUgbIgdqIgwgDSANIAxIGyIEIAwgBhAMIAAgDyALEA0gAEEwIAQgDCAGQYCABHMQDCAAQTAg.ByAJQQAQDCAAIAogCRANIABBICAEIAwgBkGAwABzEAwMAQsLQQAhCwwBC0F/IQsLIAVB0ABqJAAgCwu1AQEEfwJAIAIoAhAiAwR/IAMFIAIQFw0BIAIoAhAL.IAIoAhQiBWsgAUkEQCACIAAgASACKAIkEQEADwsCQCACLABLQQBIDQAgASEEA0AgBCIDRQ0BIAAgA0F/aiIEai0AAEEKRw0ACyACIAAgAyACKAIkEQEAIgQg.A0kNASABIANrIQEgACADaiEAIAIoAhQhBSADIQYLIAUgACABEA4gAiACKAIUIAFqNgIUIAEgBmohBAsgBAvrAgEDfyMAQcAEayIBJAACQCAAKAKoASICRQ0A.AkAgAkF8aigCACIDBEAgAyACQXhqKAIAQX9zRg0BCyABQbYINgIwIAFB2wI2AjQgAUHVDTYCOCABQUBrIAFBMGoQAyABQUBrEAQLIAJBeGoiAkEHcQRAIAFB.tgg2AiAgAUHJDzYCJCABQcILNgIoIAFBQGsgAUEgahADIAFBQGsQBAwBCyACQQBBAEEBQeAWKAIAQdATKAIAEQAAGgsCQCAAKAKwASICRQ0AAkAgAkF8aigC.ACIDBEAgAyACQXhqKAIAQX9zRg0BCyABQbYINgIQIAFB2wI2AhQgAUHVDTYCGCABQUBrIAFBEGoQAyABQUBrEAQLIAJBeGoiAkEHcQRAIAFBtgg2AgAgAUHJ.DzYCBCABQcILNgIIIAFBQGsgARADIAFBQGsQBAwBCyACQQBBAEEBQeAWKAIAQdATKAIAEQAAGgsgAUHABGokACAAC4cMAQZ/IAAgAWohBQJAAkAgACgCBCIC.QQFxDQAgAkEDcUUNASAAKAIAIgMgAWohASAAIANrIgBB0B8oAgBHBEBBzB8oAgAhBCADQf8BTQRAIAAoAggiBCADQQN2IgNBA3RB5B9qRxogBCAAKAIMIgJG.BEBBvB9BvB8oAgBBfiADd3E2AgAMAwsgBCACNgIMIAIgBDYCCAwCCyAAKAIYIQYCQCAAIAAoAgwiAkcEQCAEIAAoAggiA00EQCADKAIMGgsgAyACNgIMIAIg.AzYCCAwBCwJAIABBFGoiAygCACIEDQAgAEEQaiIDKAIAIgQNAEEAIQIMAQsDQCADIQcgBCICQRRqIgMoAgAiBA0AIAJBEGohAyACKAIQIgQNAAsgB0EANgIA.CyAGRQ0BAkAgACAAKAIcIgNBAnRB7CFqIgQoAgBGBEAgBCACNgIAIAINAUHAH0HAHygCAEF+IAN3cTYCAAwDCyAGQRBBFCAGKAIQIABGG2ogAjYCACACRQ0C.CyACIAY2AhggACgCECIDBEAgAiADNgIQIAMgAjYCGAsgACgCFCIDRQ0BIAIgAzYCFCADIAI2AhgMAQsgBSgCBCICQQNxQQNHDQBBxB8gATYCACAFIAJBfnE2.AgQgACABQQFyNgIEIAUgATYCAA8LAkAgBSgCBCICQQJxRQRAIAVB1B8oAgBGBEBB1B8gADYCAEHIH0HIHygCACABaiIBNgIAIAAgAUEBcjYCBCAAQdAfKAIA.Rw0DQcQfQQA2AgBB0B9BADYCAA8LIAVB0B8oAgBGBEBB0B8gADYCAEHEH0HEHygCACABaiIBNgIAIAAgAUEBcjYCBCAAIAFqIAE2AgAPC0HMHygCACEDIAJB.eHEgAWohAQJAIAJB/wFNBEAgBSgCCCIEIAJBA3YiAkEDdEHkH2pHGiAEIAUoAgwiA0YEQEG8H0G8HygCAEF+IAJ3cTYCAAwCCyAEIAM2AgwgAyAENgIIDAEL.IAUoAhghBgJAIAUgBSgCDCICRwRAIAMgBSgCCCIDTQRAIAMoAgwaCyADIAI2AgwgAiADNgIIDAELAkAgBUEUaiIDKAIAIgQNACAFQRBqIgMoAgAiBA0AQQAh.AgwBCwNAIAMhByAEIgJBFGoiAygCACIEDQAgAkEQaiEDIAIoAhAiBA0ACyAHQQA2AgALIAZFDQACQCAFIAUoAhwiA0ECdEHsIWoiBCgCAEYEQCAEIAI2AgAg.Ag0BQcAfQcAfKAIAQX4gA3dxNgIADAILIAZBEEEUIAYoAhAgBUYbaiACNgIAIAJFDQELIAIgBjYCGCAFKAIQIgMEQCACIAM2AhAgAyACNgIYCyAFKAIUIgNF.DQAgAiADNgIUIAMgAjYCGAsgACABQQFyNgIEIAAgAWogATYCACAAQdAfKAIARw0BQcQfIAE2AgAPCyAFIAJBfnE2AgQgACABQQFyNgIEIAAgAWogATYCAAsg.AUH/AU0EQCABQQN2IgJBA3RB5B9qIQECf0G8HygCACIDQQEgAnQiAnFFBEBBvB8gAiADcjYCACABDAELIAEoAggLIQMgASAANgIIIAMgADYCDCAAIAE2Agwg.ACADNgIIDwsgAEIANwIQIAACf0EAIAFBCHYiAkUNABpBHyABQf///wdLDQAaIAIgAkGA/j9qQRB2QQhxIgJ0IgMgA0GA4B9qQRB2QQRxIgN0IgQgBEGAgA9q.QRB2QQJxIgR0QQ92IAIgA3IgBHJrIgJBAXQgASACQRVqdkEBcXJBHGoLIgM2AhwgA0ECdEHsIWohAgJAAkBBwB8oAgAiBEEBIAN0IgdxRQRAQcAfIAQgB3I2.AgAgAiAANgIAIAAgAjYCGAwBCyABQQBBGSADQQF2ayADQR9GG3QhAyACKAIAIQIDQCACIgQoAgRBeHEgAUYNAiADQR12IQIgA0EBdCEDIAQgAkEEcWoiB0EQ.aigCACICDQALIAcgADYCECAAIAQ2AhgLIAAgADYCDCAAIAA2AggPCyAEKAIIIgEgADYCDCAEIAA2AgggAEEANgIYIAAgBDYCDCAAIAE2AggLCzABAX8CQCAA.RQ0AIABBfGooAgAiAEEDcSIBQQFGDQAgAEF4cUEEQQggARtrDwtBAAtZAQF/IAAgAC0ASiIBQX9qIAFyOgBKIAAoAgAiAUEIcQRAIAAgAUEgcjYCAEF/Dwsg.AEIANwIEIAAgACgCLCIBNgIcIAAgATYCFCAAIAEgACgCMGo2AhBBAAujAgACQAJAIAFBFEsNACABQXdqIgFBCUsNAAJAAkACQAJAAkACQAJAAkAgAUEBaw4J.AQIJAwQFBgkHAAsgAiACKAIAIgFBBGo2AgAgACABKAIANgIADwsgAiACKAIAIgFBBGo2AgAgACABNAIANwMADwsgAiACKAIAIgFBBGo2AgAgACABNQIANwMA.DwsgAiACKAIAIgFBBGo2AgAgACABMgEANwMADwsgAiACKAIAIgFBBGo2AgAgACABMwEANwMADwsgAiACKAIAIgFBBGo2AgAgACABMAAANwMADwsgAiACKAIA.IgFBBGo2AgAgACABMQAANwMADwsgACACQQARDwALDwsgAiACKAIAQQdqQXhxIgFBCGo2AgAgACABKQMANwMAC0oBA38gACgCACwAAEFQakEKSQRAA0AgACgC.ACIBLAAAIQMgACABQQFqNgIAIAMgAkEKbGpBUGohAiABLAABQVBqQQpJDQALCyACCxEAIABFBEBBAA8LIAAgARAsC7QKARx/IwBB8ARrIgUkACAAQeABaiEO.IAAoAqQBIQ8CQCAAKALkASIMIANBAWpBfnEiFkEBdCIGTw0AAkAgACgC6AEgBk8NACAOIAYgDEEBaiAGRkEIEAYNACAAQQE6AOwBDAELIAAgBjYC5AELIAAo.AgwtABEEQCAEQQFqQX5xIRcgAEHwAGohGiAAQUBrIRggAEEoaiEbIABBEGohECACQQJ2IAZrQQJ0IRxBACEGQQAhDANAIBcEQCABIBRBAnRqKAIAIQtBACER.A0AgFgRAIBFBAXEhHSARIARJIRVBACESA0AgACgC5AEgEkEBdCIITQRAIAVBtgg2AlAgBUHOBDYCVCAFQasNNgJYIAVB8ABqIAVB0ABqEAMgBUHwAGoQBAsg.DigCACAIQQN0aiEHAkACQAJ/IB0EQCAHLwEADAELIAcgECAbEAUiAkECdiIJQQNxIAJBBHZBDHFyOwEAIAlBDHEgAkEDcXILIgJBA3EiCUEDSw0AAkACQAJA.IAlBAWsOAwEDAgALIBAgGBAFIAZqIgZBACAPIAYgD0kbayEGCyAHIAY7AQIMAgsgByAMOwECIAwhBgwBCyAHLwECIQYLIAAoAqQBIAZNBEAgBUG2CDYCQCAF.Qc4ENgJEIAVBqw02AkggBUHwAGogBUFAaxADIAVB8ABqEAQLIAUgACgCoAEgBkECdGooAgAiCTYCaCAQIBoQBSEeIAJBAnZBP3EiCgRAIBAgGBAFIAZqIgJB.ACAPIAIgD0kbayEGCyAAKALkASIHIAhBAXIiAk0EQCAFQbYINgIwIAVBzgQ2AjQgBUGrDTYCOCAFQfAAaiAFQTBqEAMgBUHwAGoQBCAAKALkASEHCyAOKAIA.IgggAkEDdCINai8BAiEMIBIgA0kgFXEhFSAHIAJNBH8gBUG2CDYCICAFQc4ENgIkIAVBqw02AiggBUHwAGogBUEgahADIAVB8ABqEAQgDigCAAUgCAsgDWog.BjsBAiAAKAKkASAGTQRAIAVBtgg2AhAgBUHOBDYCFCAFQasNNgIYIAVB8ABqIAVBEGoQAyAFQfAAahAECyAFIAAoAqABIAZBAnRqKAIAIgg2AmQgFQRAIApB.AXYhEyAIQf8BcSICQQRqIAlB/wFxIgdPIAdBA2ogAk9xIgIhB0EBIQoCQCACRQ0AA0BBAEEAIAIgBUHkAGogCmotAAAiAkEEaiAFQegAaiAKai0AACIHSRsg.B0EDaiACSRsiAkEARyEHIAJFDQEgCkEBaiIKQQNJDQALCyAJQRh2IR8gCUEQdiEKIAlBCHYhDSAIQRh2ISAgE0EBcyETIAlBA3QhGQJ/IAdFBEAgBSANQQN0.QfABcSAIQQl2Qf8AcXI6AG0gBSAZQfABcSAIQf4BcUEBdnI6AGwgCEERdkH/AHEhByAKQQN0QfABcQwBCyAFIAhBCHYgDWtBB3EgDUEDdHI6AG0gBSAIIAlr.QQdxIBlyOgBsIApBA3QhByAIQRB2IAprQQdxCyEIIAUgByAIcjoAbiAFIBMgH0EFdCACQQF0ciAgQQJ0cnI6AG8gCyAFKAJsNgIAIAAoArQBIB5BAXQgE3Ii.Ak0EQCAFQbYINgIAIAVBzgQ2AgQgBUGrDTYCCCAFQfAAaiAFEAMgBUHwAGoQBAsgCyAAKAKwASACQQJ0aigCADYCBAsgC0EIaiELIBJBAWoiEiAWRw0ACwsg.CyAcaiELIBFBAWoiESAXRw0ACwsgFEEBaiIUIAAoAgwtABFJDQALCyAFQfAEaiQAQQELiQUBAn8jAEHQBGsiASQAIABBADYCACAAKALgASICBEACQCACQQdx.BEAgAUG2CDYCQCABQckPNgJEIAFBwgs2AkggAUHQAGogAUFAaxADIAFB0ABqEAQMAQsgAkEAQQBBAUHgFigCAEHQEygCABEAABoLIABCADcC4AEgAEEANgLo.AQsgAEEAOgDsASAAKALQASICBEACQCACQQdxBEAgAUG2CDYCMCABQckPNgI0IAFBwgs2AjggAUHQAGogAUEwahADIAFB0ABqEAQMAQsgAkEAQQBBAUHgFigC.AEHQEygCABEAABoLIABCADcC0AEgAEEANgLYAQsgAEEAOgDcASAAKALAASICBEACQCACQQdxBEAgAUG2CDYCICABQckPNgIkIAFBwgs2AiggAUHQAGogAUEg.ahADIAFB0ABqEAQMAQsgAkEAQQBBAUHgFigCAEHQEygCABEAABoLIABCADcCwAEgAEEANgLIAQsgAEEAOgDMASAAKAKwASICBEACQCACQQdxBEAgAUG2CDYC.ECABQckPNgIUIAFBwgs2AhggAUHQAGogAUEQahADIAFB0ABqEAQMAQsgAkEAQQBBAUHgFigCAEHQEygCABEAABoLIABCADcCsAEgAEEANgK4AQsgAEEAOgC8.ASAAKAKgASICBEACQCACQQdxBEAgAUG2CDYCACABQckPNgIEIAFBwgs2AgggAUHQAGogARADIAFB0ABqEAQMAQsgAkEAQQBBAUHgFigCAEHQEygCABEAABoL.IABCADcCoAEgAEEANgKoAQsgAEEAOgCsASAAQYgBahAHIABB8ABqEAcgAEHYAGoQByAAQUBrEAcgAEEoahAHIAFB0ARqJAALrQIBBX8jAEGgBGsiASQAIAAo.AggiBEF/akGAwABPBEAgAUG2CDYCECABQaQTNgIUIAFB2ws2AhggAUEgaiABQRBqEAMgAUEgahAECyAAIAQ2AgAgACgCFCIDRQRAQQAhA0G0ARAQIgIEQCAC.QgA3AqQBIAJCADcCrAEgAiEDCyAAIAM2AhQgACgCACEECyAEIQIgACgCCEUEQCABQbYINgIAIAFBzgQ2AgQgAUGrDTYCCCABQSBqIAEQAyABQSBqEAQgACgC.ACECCyADIAQgACgCBCACQRFPBH8gAiEAA0AgBSIDQQFqIQUgAEEDSyEEIABBAXYhACAEDQALQSEgA0ECIAN0IAJJakECaiAFQSBGGyIAQQsgAEELSRsFQQAL.EC8hACABQaAEaiQAIAAL7gEBAn8jAEGgBGsiASQAIABBADYCACAAKAIEIgIEQAJAIAJBB3EEQCABQbYINgIQIAFByQ82AhQgAUHCCzYCGCABQSBqIAFBEGoQ.AyABQSBqEAQMAQsgAkEAQQBBAUHgFigCAEHQEygCABEAABoLIABCADcCBCAAQQA2AgwLIABBADoAECAAKAIUIgIEQAJAIAIQFCICQQdxBEAgAUG2CDYCACAB.QckPNgIEIAFBwgs2AgggAUEgaiABEAMgAUEgahAEDAELIAJBAEEAQQFB4BYoAgBB0BMoAgARAAAaCyAAQQA2AhQLIAFBoARqJAALqwcBCX8gACAAKAIEIgZB.eHEiA2ohBEHMHygCACEHAkAgBkEDcSICQQFGDQAgByAASw0ACwJAIAJFBEBBACECIAFBgAJJDQEgAyABQQRqTwRAIAAhAiADIAFrQZwjKAIAQQF0TQ0CC0EA.DwsCQCADIAFPBEAgAyABayICQRBJDQEgACAGQQFxIAFyQQJyNgIEIAAgAWoiASACQQNyNgIEIAQgBCgCBEEBcjYCBCABIAIQFQwBC0EAIQIgBEHUHygCAEYE.QEHIHygCACADaiIDIAFNDQIgACAGQQFxIAFyQQJyNgIEIAAgAWoiAiADIAFrIgFBAXI2AgRByB8gATYCAEHUHyACNgIADAELIARB0B8oAgBGBEBBxB8oAgAg.A2oiAyABSQ0CAkAgAyABayIFQRBPBEAgACAGQQFxIAFyQQJyNgIEIAAgAWoiASAFQQFyNgIEIAAgA2oiAiAFNgIAIAIgAigCBEF+cTYCBAwBCyAAIAZBAXEg.A3JBAnI2AgQgACADaiIBIAEoAgRBAXI2AgRBACEFQQAhAQtB0B8gATYCAEHEHyAFNgIADAELIAQoAgQiBUECcQ0BIAVBeHEgA2oiCCABSQ0BIAggAWshCgJA.IAVB/wFNBEAgBCgCCCIDIAVBA3YiBUEDdEHkH2pHGiADIAQoAgwiAkYEQEG8H0G8HygCAEF+IAV3cTYCAAwCCyADIAI2AgwgAiADNgIIDAELIAQoAhghCQJA.IAQgBCgCDCIDRwRAIAcgBCgCCCICTQRAIAIoAgwaCyACIAM2AgwgAyACNgIIDAELAkAgBEEUaiIFKAIAIgINACAEQRBqIgUoAgAiAg0AQQAhAwwBCwNAIAUh.ByACIgNBFGoiBSgCACICDQAgA0EQaiEFIAMoAhAiAg0ACyAHQQA2AgALIAlFDQACQCAEIAQoAhwiAkECdEHsIWoiBSgCAEYEQCAFIAM2AgAgAw0BQcAfQcAf.KAIAQX4gAndxNgIADAILIAlBEEEUIAkoAhAgBEYbaiADNgIAIANFDQELIAMgCTYCGCAEKAIQIgIEQCADIAI2AhAgAiADNgIYCyAEKAIUIgJFDQAgAyACNgIU.IAIgAzYCGAsgCkEPTQRAIAAgBkEBcSAIckECcjYCBCAAIAhqIgEgASgCBEEBcjYCBAwBCyAAIAZBAXEgAXJBAnI2AgQgACABaiIBIApBA3I2AgQgACAIaiIC.IAIoAgRBAXI2AgQgASAKEBULIAAhAgsgAgt/AQJ/IABFBEAgARAPDwsgAUFATwRAQfgeQTA2AgBBAA8LIABBeGpBECABQQtqQXhxIAFBC0kbEB8iAgRAIAJB.CGoPCyABEA8iAkUEQEEADwsgAiAAIABBfGooAgAiA0F4cUEEQQggA0EDcRtrIgMgASADIAFJGxAOIAAQESACC48BAQN/IAAhAQJAAkAgAEEDcUUNACAALQAA.RQRADAILA0AgAUEBaiIBQQNxRQ0BIAEtAAANAAsMAQsDQCABIgJBBGohASACKAIAIgNBf3MgA0H//ft3anFBgIGChHhxRQ0ACyADQf8BcUUEQCACIQEMAQsD.QCACLQABIQMgAkEBaiIBIQIgAw0ACwsgASAAawvgAQEDfyABQQBHIQICQAJAAkACQCABRQ0AIABBA3FFDQADQCAALQAARQ0CIABBAWohACABQX9qIgFBAEch.AiABRQ0BIABBA3ENAAsLIAJFDQELIAAtAABFDQECQCABQQRPBEAgAUF8aiICIAJBfHEiA2shAiAAIANqQQRqIQMDQCAAKAIAIgRBf3MgBEH//ft3anFBgIGC.hHhxDQIgAEEEaiEAIAFBfGoiAUEDSw0ACyACIQEgAyEACyABRQ0BCwNAIAAtAABFDQIgAEEBaiEAIAFBf2oiAQ0ACwtBAA8LIAALxgIBBn8jAEEgayIDJAAg.AyAAKAIcIgU2AhAgACgCFCEEIAMgAjYCHCADIAE2AhggAyAEIAVrIgE2AhQgASACaiEGQQIhBSADQRBqIQEDQAJAAn8gBgJ/An9BACAAKAI8IAEgBSADQQxq.EAIiBEUNABpB+B4gBDYCAEF/CwRAIANBfzYCDEF/DAELIAMoAgwLIgRGBEAgACAAKAIsIgE2AhwgACABNgIUIAAgASAAKAIwajYCECACDAELIARBf0oNASAA.QQA2AhwgAEIANwMQIAAgACgCAEEgcjYCAEEAIAVBAkYNABogAiABKAIEawshACADQSBqJAAgAA8LIAFBCGogASAEIAEoAgQiB0siCBsiASAEIAdBACAIG2si.ByABKAIAajYCACABIAEoAgQgB2s2AgQgBiAEayEGIAUgCGshBQwAAAsAC34BA38jAEEQayIBJAAgAUEKOgAPAkAgACgCECICRQRAIAAQFw0BIAAoAhAhAgsC.QCAAKAIUIgMgAk8NACAALABLQQpGDQAgACADQQFqNgIUIANBCjoAAAwBCyAAIAFBD2pBASAAKAIkEQEAQQFHDQAgAS0ADxoLIAFBEGokAAuFAQECfyMAQaAB.ayICJAAgAkEIakHAEkGQARAOIAIgADYCNCACIAA2AhwgAkF+IABrIgNB/////wdB/////wcgA0sbIgM2AjggAiAAIANqIgA2AiQgAiAANgIYIAJBCGogARAr.IAMEQCACKAIcIgAgACACKAIYRmtBADoAAAsgAkGgAWokAAsyAQF/IAAoAhQiAyABIAIgACgCECADayIBIAEgAksbIgEQDiAAIAAoAhQgAWo2AhQgAguDAQID.fwF+AkAgAEKAgICAEFQEQCAAIQUMAQsDQCABQX9qIgEgACAAQgqAIgVCCn59p0EwcjoAACAAQv////+fAVYhAiAFIQAgAg0ACwsgBaciAgRAA0AgAUF/aiIB.IAIgAkEKbiIDQQpsa0EwcjoAACACQQlLIQQgAyECIAQNAAsLIAELNAAgAFBFBEADQCABQX9qIgEgAKdBD3FBsBJqLQAAIAJyOgAAIABCBIgiAEIAUg0ACwsg.AQstACAAUEUEQANAIAFBf2oiASAAp0EHcUEwcjoAACAAQgOIIgBCAFINAAsLIAELdwACQCAARQRAIAEQDyEEIAJFDQEgBEUEQCACQQA2AgAgBA8LIAIgBBAW.NgIAIAQPCyABRQRAIAAQEUEAIQQgAkUNASACQQA2AgBBAA8LQQAhBCADBEAgACABECAiBCAAIAQbIQALIAJFDQAgAiAAEBY2AgALIAQLxQIBA38jAEHQAWsi.AiQAIAIgATYCzAFBACEBIAJBoAFqQQBBKBAIIAIgAigCzAE2AsgBAkBBACACQcgBaiACQdAAaiACQaABahASQQBIDQAgACgCTEEATgRAQQEhAQsgACgCACED.IAAsAEpBAEwEQCAAIANBX3E2AgALIANBIHEhBAJ/IAAoAjAEQCAAIAJByAFqIAJB0ABqIAJBoAFqEBIMAQsgAEHQADYCMCAAIAJB0ABqNgIQIAAgAjYCHCAA.IAI2AhQgACgCLCEDIAAgAjYCLCAAIAJByAFqIAJB0ABqIAJBoAFqEBIgA0UNABogAEEAQQAgACgCJBEBABogAEEANgIwIAAgAzYCLCAAQQA2AhwgAEEANgIQ.IAAoAhQaIABBADYCFEEACxogACAAKAIAIARyNgIAIAFFDQALIAJB0AFqJAALiQIAAkAgAAR/IAFB/wBNDQECQEGkFigCACgCAEUEQCABQYB/cUGAvwNGDQMM.AQsgAUH/D00EQCAAIAFBP3FBgAFyOgABIAAgAUEGdkHAAXI6AABBAg8LIAFBgLADT0EAIAFBgEBxQYDAA0cbRQRAIAAgAUE/cUGAAXI6AAIgACABQQx2QeAB.cjoAACAAIAFBBnZBP3FBgAFyOgABQQMPCyABQYCAfGpB//8/TQRAIAAgAUE/cUGAAXI6AAMgACABQRJ2QfABcjoAACAAIAFBBnZBP3FBgAFyOgACIAAgAUEM.dkE/cUGAAXI6AAFBBA8LC0H4HkEZNgIAQX8FQQELDwsgACABOgAAQQELBABCAAsEAEEAC6AQAQ5/IwBBgAdrIgQkAAJAIAFFDQAgA0ELSw0AIAAgATYCACAE.QfABakEAQcQAEAgDQCACIAVqLQAAIgcEQCAEQfABaiAHQQJ0aiIHIAcoAgBBAWo2AgALIAVBAWoiBSABRw0AC0EAIQdBfyEJQQEhBQNAAkAgBUECdCIIIARB.8AFqaigCACIMRQRAIAAgCGpBADYCGAwBCyAIQXxqIgogBEHAAmpqIAY2AgAgACAKaiIKIAc2AmAgCiAGIAxqIgZBf2pBECAFayIKdEF/IAp0QX9zckEBajYC.HCAEQaABaiAIaiAHNgIAIAsgBSALIAVLGyELIAkgBSAJIAVJGyEJIAcgDGohBwsgBkEBdCEGIAVBAWoiBUERRw0ACyAAIAc2AgQgByAAKAKsAUsEQCAAIAci.BWlBAUcEfyABIAdBf2oiBUEQdiAFciIFQQh2IAVyIgVBBHYgBXIiBUECdiAFciIFQQF2IAVyQQFqIgUgBSABSxsFIAULNgKsAQJAIAAoArABIgVFDQACQCAF.QXxqKAIAIgYEQCAGIAVBeGooAgBBf3NGDQELIARBtgg2ApABIARB2wI2ApQBIARB1Q02ApgBIARBgANqIARBkAFqEAMgBEGAA2oQBAsgBUF4aiIFQQdxBEAg.BEG2CDYCgAEgBEHJDzYChAEgBEHCCzYCiAEgBEGAA2ogBEGAAWoQAyAEQYADahAEDAELIAVBAEEAQQFB4BYoAgBB0BMoAgARAAAaC0EAIQUgACgCrAEiBkEB.IAYbIghBAXRBCGoQECIGRQRAIABBADYCsAEMAgsgBiAINgIEIAYgCEF/czYCACAAIAZBCGo2ArABCyAAIAs6ABkgACAJOgAYQQAhBQNAIAIgBWotAAAiBgRA.IAZBAnQiBiAEQfABamooAgBFBEAgBEG2CDYCcCAEQYQONgJ0IARBpQk2AnggBEGAA2ogBEHwAGoQAyAEQYADahAECyAEQaABaiAGaiIGIAYoAgAiBkEBajYC.ACAGIAdPBEAgBEG2CDYCYCAEQYgONgJkIARBsgk2AmggBEGAA2ogBEHgAGoQAyAEQYADahAECyAAKAKwASAGQQF0aiAFOwEACyAFQQFqIgUgAUcNAAsgACAD.QQAgAC0AGCADSRsiBzYCCCAHBEACQEEBIAd0IgkgACgCpAFNBEAgCUECdCEGIAAoAqgBIQUMAQsgACAJNgKkAQJAIAAoAqgBIgFFDQACQCABQXxqKAIAIgUE.QCAFIAFBeGooAgBBf3NGDQELIARBtgg2AlAgBEHbAjYCVCAEQdUNNgJYIARBgANqIARB0ABqEAMgBEGAA2oQBAsgAUF4aiIBQQdxBEAgBEG2CDYCQCAEQckP.NgJEIARBwgs2AkggBEGAA2ogBEFAaxADIARBgANqEAQMAQsgAUEAQQBBAUHgFigCAEHQEygCABEAABoLQQAhBSAJQQJ0IgZBCGoQECIBRQRAIABBADYCqAEM.AwsgASAJNgIEIAEgCUF/czYCACAAIAFBCGoiBTYCqAELIAVB/wEgBhAIQQEhAQNAAkAgBEHwAWogAUECdGooAgBFDQAgAUF/aiIFQQJ0IgYgBEHAAmpqKAIA.IQggBUEQTwRAIARBtgg2AjAgBEHqCzYCNCAEQf8MNgI4IARBgANqIARBMGoQAyAEQYADahAECyAIIAAgBmoiBSgCHCIGQX9qQRAgAWt2QX8gBhsiCksNACAH.IAFrIQwgAUEQdCEOIAUoAmAgCGshDwNAIAIgACgCsAEgCCAPakEBdGovAQAiBWotAAAgAUcEQCAEQbYINgIgIARBrg42AiQgBEHPCTYCKCAEQYADaiAEQSBq.EAMgBEGAA2oQBAsgBSAOciEQIAggDHQhEUEAIQUDQCAFIBFqIg0gCU8EQCAEQbYINgIQIARBsw42AhQgBEHxCTYCGCAEQYADaiAEQRBqEAMgBEGAA2oQBAsg.ACgCqAEiBiANQQJ0Ig1qKAIAQX9HBH8gBEG2CDYCACAEQbUONgIEIARBiAo2AgggBEGAA2ogBBADIARBgANqEAQgACgCqAEFIAYLIA1qIBA2AgAgBUEBaiIF.IAx2RQ0ACyAIQQFqIgggCk0NAAsLIAcgAUEBaiIBTw0ACwsgACAAKAJgIAQoAsACazYCYCAAIAAoAmQgBCgCxAJrNgJkIAAgACgCaCAEKALIAms2AmggACAA.KAJsIAQoAswCazYCbCAAIAAoAnAgBCgC0AJrNgJwIAAgACgCdCAEKALUAms2AnQgACAAKAJ4IAQoAtgCazYCeCAAIAAoAnwgBCgC3AJrNgJ8IAAgACgCgAEg.BCgC4AJrNgKAASAAIAAoAoQBIAQoAuQCazYChAEgACAAKAKIASAEKALoAms2AogBIAAgACgCjAEgBCgC7AJrNgKMASAAIAAoApABIAQoAvACazYCkAEgACAA.KAKUASAEKAL0Ams2ApQBIAAgACgCmAEgBCgC+AJrNgKYASAAIAAoApwBIAQoAvwCazYCnAEgAEEANgIQIAAgAC0AGDYCFAJAIAdFDQADQCADRQ0BIANBAnQh.ASADQX9qIgIhAyABIARB8AFqaigCAEUNAAsgACACQQJ0aigCHCEBIAAgB0EBaiIFNgIUIAAgATYCECAFIAtLDQADQCAEQfABaiAFQQJ0aigCAARAIAAgBTYC.FAwCCyAFQQFqIgUgC00NAAsLIABB//8/NgKgASAAQX82AlwgAEEgIAAoAghrNgIMQQEhBQsgBEGAB2okACAFCy8AIAECfyACKAJMQX9MBEAgACABIAIQEwwB.CyAAIAEgAhATCyIARgRAIAEPCyAAC9QHAQ9/IwBBkAVrIgEkACAAKAIMIgMtAD1BCHQgAy0APEEQdHIgAy0APnIiAgRAIAAgACgCBCADLQA7IAMtADpBCHQg.Ay0AOUEQdHJyaiIDNgIQIAAgAjYCHCAAIAM2AhQgAEIANwIgIAAgAiADajYCGAsgAUIANwOAAUEAIQMgAUEAOgCIASABQgA3A3ggAUEANgKMASAAQRBqIgUg.AUH4AGoQCRogAEHQAWohBwJAIAAoAtQBIgIgACgCDCIELQA/QQh0IARBQGstAAByQQNsIgRGDQACQCACIARNBEAgACgC2AEgBEkEQCAHIAQgAkEBaiAERkEC.EAZFDQIgACgC1AEhAgsgBygCACACQQF0akEAIAQgAmtBAXQQCAsgACAENgLUAQwBCyAAQQE6ANwBCwNAIAFBMGogA2ogA0EHcUH3DGotAAAgA0EDdkH3DGot.AABBA3RyOgAAIANBAWoiA0HAAEcNAAsgACgC1AEEQEEAIQMDQCABQTBqIAUgAUH4AGoQBSAGcyICQT9xai0AACEEIAFBMGogBSABQfgAahAFQQZ0IAJzIgJB.BnZBP3FqLQAAIQYgAUEwaiAFIAFB+ABqEAVBDHQgAnMiAkEMdkE/cWotAABBDHQiCCAEIAZBBnRyciEJIAFBMGogBSABQfgAahAFQRJ0IAJzIgZBEnZBP3Fq.LQAAQRJ0IQwgAUEwaiAFIAFB+ABqEAUgCnMiAkE/cWotAAAhDSABQTBqIAUgAUH4AGoQBUEGdCACcyICQQZ2QT9xai0AAEEGdCELIAFBMGogBSABQfgAahAF.QQx0IAJzIgJBDHZBP3FqLQAAQQx0IQ4gAUEwaiAFIAFB+ABqEAVBEnQgAnMiCkESdkE/cWotAAAhDyAAKALUASIEIANNBEAgAUG2CDYCICABQc4ENgIkIAFB.qw02AiggAUGQAWogAUEgahADIAFBkAFqEAQgACgC1AEhBAsgBygCACICIANBAXRqIAk7AQAgBCADQQFqIglNBEAgAUG2CDYCECABQc4ENgIUIAFBqw02Ahgg.AUGQAWogAUEQahADIAFBkAFqEAQgACgC1AEhBCAAKALQASECCyACIAlBAXRqIAsgDXJBCHQgCCAMckEQdnI7AQAgBCADQQJqIghNBEAgAUG2CDYCACABQc4E.NgIEIAFBqw02AgggAUGQAWogARADIAFBkAFqEAQgACgC1AEhBCAAKALQASECCyACIAhBAXRqIAsgDnIgD0ESdHJBCHY7AQAgA0EDaiIDIARJDQALCyABQfgA.ahAHIAFBkAVqJABBAQvjBAEMfyMAQSBrIgQkACAAKAIMIgItAD1BCHQgAi0APEEQdHIgAi0APnIiAQRAIAAgACgCBCACLQA7IAItADpBCHQgAi0AOUEQdHJy.aiICNgIQIAAgATYCHCAAIAI2AhQgAEIANwIgIAAgASACajYCGAsgBEIANwMQIARBADoAGCAEQgA3AwggBEEANgIcIABBEGoiDCAEQQhqEAkaIABB0AFqIQUC.QCAAKALUASIDIAAoAgwiAi0AP0EIdCACQUBrLQAAckEGbCIBRg0AAkAgAyABTQRAIAAoAtgBIAFJBEAgBSABIANBAWogAUZBAhAGRQ0CIAAoAtQBIQMLIAUo.AgAgA0EBdGpBACABIANrQQF0EAgLIAAgATYC1AEMAQsgAEEBOgDcASAAKALUASEBCyAEQgA3AwAgAQRAIAUoAgAhBgNAQQAhAUEAIQcDQCABQQFxBH8gB0ED.dgUgBCABQQF2aiICIAwgBEEIahAFIAItAABzIgI6AAAgAkH/AXELIQcgBiABQQFqIgJBA2wiCkEDdmoiCyALLQAAQQMgB0EHcSIFayAFIAVBBEkbQf8BcSII.QQggCkEHcSIDa3RyOgAAIANBAk0EQCALQX9qIgUgBS0AACAIIAN2cjoAAAsgAUEDcSABQQJ2a0EJbCAKaiIFQQN2QR9xIAZqIgMiAUEGaiABLQAGIAhBCCAF.QQdxIgFrdHI6AAAgAUECTQRAIAMgAy0ABSAIIAF2cjoABQsgAiIBQRBHDQALIAZBDGohBiAJQQZqIgkgACgC1AFJDQALCyAEQQhqEAcgBEEgaiQAQQELqAQB.Cn8jAEEgayIDJAAgACgCDCIBLQA9QQh0IAEtADxBEHRyIAEtAD5yIgIEQCAAIAAoAgQgAS0AOyABLQA6QQh0IAEtADlBEHRycmoiATYCECAAIAI2AhwgACAB.NgIUIABCADcCICAAIAEgAmo2AhgLIANCADcDECADQQA6ABggA0IANwMIIANBADYCHCAAQRBqIgcgA0EIahAJGiAAQdABaiEEAkAgACgC1AEiAiAAKAIMIgEt.AD9BCHQgAUFAay0AAHJBA2wiAUYNAAJAIAIgAU0EQCAAKALYASABSQRAIAQgASACQQFqIAFGQQIQBkUNAiAAKALUASECCyAEKAIAIAJBAXRqQQAgASACa0EB.dBAICyAAIAE2AtQBDAELIABBAToA3AEgACgC1AEhAQsgA0IANwMAIAFB/////wdxBEAgBCgCACEIA0BBACEBQQAhAgNAIAFBAXEEfyACQQN2BSADIAFBAXZq.IgIgByADQQhqEAUgAi0AAHMiAjoAACACQf8BcQshAiAIIAFBA3EgAUECdmtBCWwgAUEBaiIBQQNsaiIJQQN2QR9xIAZqaiIEIAQtAABBAyACQQdxIgVrIAUg.BUEESRtB/wFxIgpBCCAJQQdxIgVrdHI6AAAgBUECTQRAIARBf2oiBCAELQAAIAogBXZyOgAACyABQRBHDQALIAZBBmoiBiAAKALUAUEBdEkNAAsLIANBCGoQ.ByADQSBqJABBAQvOAwEIfyMAQbAEayICJAACQCAAKAIMIgEtADVBCHQgAS0ANEEQdHIgAS0ANnIiA0UEQAwBCyABLQA3IQYgAS0AOCEIIAAgACgCBCABLQAz.IAEtADJBCHQgAS0AMUEQdHJyaiIBNgIQIAAgAzYCHCAAIAE2AhQgAEIANwIgIAAgASADajYCGCACQgA3AyAgAkEAOgAoIAJCADcDGCACQQA2AiwCQCAAQRBq.IgcgAkEYahAJRQ0AIABBwAFqIQQCQCAAKALEASIBIAZBCHQgCHIiA0cEQCABIANNBEAgACgCyAEgA0kEQCAEIAMgAUEBaiADRkECEAZFDQMgACgCxAEhAQsg.BCgCACABQQF0akEAIAMgAWtBAXQQCAsgACADNgLEAQsgA0UEQCACQbYINgIAIAJBzgQ2AgQgAkGrDTYCCCACQTBqIAIQAyACQTBqEARBASEFDAILIAQoAgAh.AEEAIQFBACEEQQAhBgNAIAAgByACQRhqEAUgBmpB/wFxIgYgByACQRhqEAUgBGpB/wFxIgRBCHRyOwEAIABBAmohAEEBIQUgAUEBaiIBIANHDQALDAELIABB.AToAzAELIAJBGGoQBwsgAkGwBGokACAFC+MQARN/IwBB8AVrIgEkAAJAAkAgACgCDCICLQASIgVBdmoiA0EETQRAQQEhE0EBIREgA0ECaw4DAQEBAgsLIAVB.DEYhEQsgAi0ALiACLQAtQQh0IAItACxBEHRyciIFBEAgACAAKAIEIAItACsgAi0AKkEIdCACLQApQRB0cnJqIgI2AhAgACAFNgIcIAAgAjYCFCAAQgA3AiAg.ACACIAVqNgIYCyABQgA3A+ABIAFBADoA6AEgAUIANwPYASABQQA2AuwBIABBEGoiDSABQdgBahAJGiAAQbABaiEFAkAgACgCtAEiAyAAKAIMIgItAC9BCHQg.Ai0AMHIgEXQiAkYNAAJAIAMgAk0EQCAAKAK4ASACSQRAIAUgAiADQQFqIAJGQQQQBkUNAiAAKAK0ASEDCyAFKAIAIANBAnRqQQAgAiADa0ECdBAICyAAIAI2.ArQBDAELIABBAToAvAELIAAoAgwiAi0AL0EIdCACLQAwcgRAA0AgDSABQdgBahAFIA5zIA0gAUHYAWoQBUEEdHMgDSABQdgBahAFQQh0cyANIAFB2AFqEAVB.DHRzIA0gAUHYAWoQBUEQdHMgDSABQdgBahAFQRR0cyANIAFB2AFqEAVBGHRzIA0gAUHYAWoQBUEcdHMhDgJAIBMEQCAPQQF0IhBBAXIgDyARGyEKIA4gDkEB.dkHVqtWqBXFzQX9zIQNBCCELQQAhEgNAIBJBA3QhBgJAIBFFBEAgACgCtAEgCk0EQCABQbYINgKwASABQc4ENgK0ASABQasNNgK4ASABQfABaiABQbABahAD.IAFB8AFqEAQLIAAoArABIgIgCkECdCIIaiIEIAQoAgAgAyAGdiIEQQF2QQFxIARBEHRBgIAEcXIgC0EPcXRyIgQ2AgAgACgCtAEgCk0EQCABQbYINgKgASAB.Qc4ENgKkASABQasNNgKoASABQfABaiABQaABahADIAFB8AFqEAQgBSgCACICIAhqKAIAIQQLIAIgCGogBCADIAZBAnJ2IgxBAXZBAXEgDEEQdEGAgARxciAL.QQRqQQ9xdHIiBDYCACAAKAK0ASAKTQRAIAFBtgg2ApABIAFBzgQ2ApQBIAFBqw02ApgBIAFB8AFqIAFBkAFqEAMgAUHwAWoQBCAFKAIAIgIgCGooAgAhBAsg.AiAIaiAEIAMgBkEEcnYiDEEBdkEBcSAMQRB0QYCABHFyIAtBCGpBD3F0ciIENgIAIAAoArQBIApNBH8gAUG2CDYCgAEgAUHOBDYChAEgAUGrDTYCiAEgAUHw.AWogAUGAAWoQAyABQfABahAEIAUoAgAiAiAIaigCAAUgBAsgAyAGQQZydiIGQQF2QQFxIAZBEHRBgIAEcXIgC0EMakEPcXRyIQYgAiAIaiECDAELIAMgEkEB.dCIIdiEMIAAoArQBIBBNBEAgAUG2CDYCcCABQc4ENgJ0IAFBqw02AnggAUHwAWogAUHwAGoQAyABQfABahAECyAAKAKwASICIBBBAnQiBGoiByAHKAIAIAxB.AXZBAXEgDEEQdEGAgARxciALQQ9xIgd0cjYCACAAKAK0ASAKTQRAIAFBtgg2AmAgAUHOBDYCZCABQasNNgJoIAFB8AFqIAFB4ABqEAMgAUHwAWoQBCAFKAIA.IQILIAIgCkECdCIMaiIJIAkoAgAgAyAGdiIJQQF2QQFxIAlBEHRBgIAEcXIgB3RyNgIAIAAoArQBIBBNBEAgAUG2CDYCUCABQc4ENgJUIAFBqw02AlggAUHw.AWogAUHQAGoQAyABQfABahAEIAUoAgAhAgsgAiAEaiIHIAcoAgAgAyAIQQhydiIHQQF2QQFxIAdBEHRBgIAEcXIgC0EEakEPcSIHdHI2AgAgACgCtAEgCk0E.QCABQbYINgJAIAFBzgQ2AkQgAUGrDTYCSCABQfABaiABQUBrEAMgAUHwAWoQBCAFKAIAIQILIAIgDGoiCSAJKAIAIAMgBkECcnYiCUEBdkEBcSAJQRB0QYCA.BHFyIAd0cjYCACAAKAK0ASAQTQRAIAFBtgg2AjAgAUHOBDYCNCABQasNNgI4IAFB8AFqIAFBMGoQAyABQfABahAEIAUoAgAhAgsgAiAEaiIHIAcoAgAgAyAI.QRBydiIHQQF2QQFxIAdBEHRBgIAEcXIgC0EIakEPcSIHdHI2AgAgACgCtAEgCk0EQCABQbYINgIgIAFBzgQ2AiQgAUGrDTYCKCABQfABaiABQSBqEAMgAUHw.AWoQBCAFKAIAIQILIAIgDGoiCSAJKAIAIAMgBkEEcnYiCUEBdkEBcSAJQRB0QYCABHFyIAd0cjYCACAAKAK0ASAQTQRAIAFBtgg2AhAgAUHOBDYCFCABQasN.NgIYIAFB8AFqIAFBEGoQAyABQfABahAEIAUoAgAhAgsgAiAEaiIEIAQoAgAgAyAIQRhydiIIQQF2QQFxIAhBEHRBgIAEcXIgC0EMakEPcSIIdHI2AgAgACgC.tAEgCk0EfyABQbYINgIAIAFBzgQ2AgQgAUGrDTYCCCABQfABaiABEAMgAUHwAWoQBCAFKAIABSACCyAMaiICKAIAIAMgBkEGcnYiBkEBdkEBcSAGQRB0QYCA.BHFyIAh0ciEGCyACIAY2AgAgC0EBaiELIBJBAWoiEkEERw0ACwwBCyAAKAK0ASAPTQRAIAFBtgg2AsABIAFBzgQ2AsQBIAFBqw02AsgBIAFB8AFqIAFBwAFq.EAMgAUHwAWoQBAsgBSgCACAPQQJ0aiAOQQF0IA5zQarVqtV6cSAOQQF2QdWq1aoFcXI2AgALIA9BAWoiDyAAKAIMIgItAC9BCHQgAi0AMHJJDQALCyABQdgB.ahAHIAFB8AVqJABBAQvSBgEMfyMAQcAEayIBJAAgACgCDCICLQAnQQh0IAItAChyIQUCQAJAIAItABIiA0F2aiIEQQRNBEBBASEGQQEhCCAEQQJrDgMBAQEC.CwsgA0EMRiEICyAAQaABaiEHAkACQCAFIAAoAqQBIgNHBEAgAyAFTQRAIAAoAqgBIAVJBEBBACEEIAcgBSADQQFqIAVGQQQQBkUNAyAAKAKkASEDCyAAKAKg.ASADQQJ0akEAIAUgA2tBAnQQCCAAKAIMIQILIAAgBTYCpAELIAItACYgAi0AJUEIdCACLQAkQRB0cnIiBEUEQEEAIQQMAgsgAEEQaiEDIAAgACgCBCACLQAj.IAItACJBCHQgAi0AIUEQdHJyaiICNgIQIAAgBDYCHCAAIAI2AhQgAEIANwIgIAAgAiAEajYCGEEAIQQgAUEAOgAgIAFBADYCPCABQgA3AiwgAUIANwAxIAFC.ADcDGCABQgA3AxAgAUIANwIkQQFBAiAGGyEJIAFBKGohCkEAIQICQANAIAMgAUEQaiACQRhsahAJRQ0BIAJBAWoiAiAJSQ0ACyAAKAKkAUUEQCABQbYINgIA.IAFBzgQ2AgQgAUGrDTYCCCABQUBrIAEQAyABQUBrEAQLIAVFBEBBASEEDAELIAcoAgAhAkEAIQcgBgRAQQAhBgNAIAMgAUEQahAFIAZqIAMgAUEQahAFQQh0.aiADIAFBEGoQBUEQdGogAyABQRBqEAVBGHRqIgRBn778+AFxIgYhACACIAgEfyAABSAEQQN0Qfjx4wdxIARBgICAOHEiAEECdCAAQQV0cnJBgICAEHILNgIA.IAJBBGohAkEBIQQgB0EBaiIHIAVHDQALDAELQQAhAEEAIQZBACEIQQAhCQNAIAMgAUEQahAFIQQgAiADIAoQBSALakE/cSILQQV0IAQgDGpBH3EiDEELdHIg.AyABQRBqEAUgCWpBH3EiCXIgAyABQRBqEAUgCGoiBEEbdHIgAyAKEAUgBmpBP3EiBkEVdHIgAyABQRBqEAUgAGpBH3EiAEEQdHI2AgAgAkEEaiECIARBH3Eh.CEEBIQQgB0EBaiIHIAVHDQALCyABQShqEAcgAUEQahAHDAELIABBAToArAELIAFBwARqJAAgBAvTAwIEfwF+IwBB0ARrIgYkACAGQSg2AiggACABIAZBKGoQ.CyAGKAIwIQggBigCLCEDAn8gBikDSCIKQg9aBEAgBkG2CDYCECAGQfUQNgIUIAZB1Qs2AhggBkHQAGogBkEQahADIAZB0ABqEARBAAwBCyAKp0ECdEGIDmoo.AgALIQkgBiACNgIkIAAgARBIIQcCQCAEIAVqIgUgBE0NACAIIAR2IQAgAyAEdiEBIAdFBEADQCACIAFBA2pBAnYgCWwgAEEDakECdmxqIQIgAEEBdiEAIAFB.AXYhASAEQQFqIgQgBUcNAAsgBiACNgIkDAELA0AgAUEDakECdiAJbCIDIABBA2pBAnZsIQgCQCAEQQ9LDQAgCEUNACAHKAIAQb2V5/cBRw0AIAcgBkEkaiAI.IAMgBBBFIAYoAiQhAgsgBiACIAhqIgI2AiQgAEEBdiEAIAFBAXYhASAEQQFqIgQgBUcNAAsLAkAgB0UNACAHKAIAQb2V5/cBRw0AIAcQHCAHQQdxBEAgBkG2.CDYCACAGQckPNgIEIAZBwgs2AgggBkHQAGogBhADIAZB0ABqEAQMAQsgB0EAQQBBAUHgFigCAEHQEygCABEAABoLIAZB0ARqJAALnQECAX8BfiMAQcAEayID.JAAgA0EoNgIYIAAgASADQRhqEAsgAygCICACdkEDakECdiEAIAMoAhwgAnZBA2pBAnYhAgJ/IAMpAzgiBEIPWgRAIANBtgg2AgAgA0H1EDYCBCADQdULNgII.IANBQGsgAxADIANBQGsQBEEADAELIASnQQJ0QYgOaigCAAshASADQcAEaiQAIAAgAmwgAWwLdwIBfwF+IwBBwARrIgIkACACQSg2AhggACABIAJBGGoQCwJ/.IAIpAzgiA0IPWgRAIAJBtgg2AgAgAkH1EDYCBCACQdULNgIIIAJBQGsgAhADIAJBQGsQBEEADAELIAOnQQJ0QYgOaigCAAshACACQcAEaiQAIAALLwEBfyMA.QTBrIgIkACACQSg2AgggACABIAJBCGoQCyACKAIoIQAgAkEwaiQAIAALLwEBfyMAQTBrIgIkACACQSg2AgggACABIAJBCGoQCyACKAIUIQAgAkEwaiQAIAAL.LwEBfyMAQTBrIgIkACACQSg2AgggACABIAJBCGoQCyACKAIQIQAgAkEwaiQAIAALLwEBfyMAQTBrIgIkACACQSg2AgggACABIAJBCGoQCyACKAIMIQAgAkEw.aiQAIAAL5gcBEn8jAEHgBGsiBSQAIABB4AFqIQ8gACgCpAEhDQJAIAAoAuQBIgYgA0EBakF+cSIKTw0AAkAgACgC6AEgCk8NACAPIAogBkEBaiAKRkEIEAYN.ACAAQQE6AOwBDAELIAAgCjYC5AELIAAoAgwiBi0AEQRAIARBAWpBfnEhEiAAQfAAaiETIABBQGshFCAAQShqIRUgAEEQaiEMIAJBAnYgCkEBdGtBAnQhFgNA.IBIEQCABIBBBAnRqKAIAIQJBACEOA0ACQCAKRQ0AIA4gBEkhC0EAIQYgDkEBcUUEQANAIAZBAXFFBEAgDCAVEAUhCAsgACgC5AEgBk0EQCAFQbYINgIgIAVB.zgQ2AiQgBUGrDTYCKCAFQeAAaiAFQSBqEAMgBUHgAGoQBAsgBiADSSALcSELIA8oAgAgBkEDdGoiCSAIQf8BcSIRQQJ2QQNxOwEAAkAgCEEedEEedUEATgRA.IAhBA3FBAWtFBEAgCSAHOwECDAILIAkgDCAUEAUgB2oiB0EAIA0gByANSRtrIgc7AQIMAQsgCS8BAiEHCyAMIBMQBSEIIAsEQCAAKAKkASAHTQRAIAVBtgg2.AhAgBUHOBDYCFCAFQasNNgIYIAVB4ABqIAVBEGoQAyAFQeAAahAECyACIAAoAqABIAdBAnRqKAIANgIAIAAoArQBIAhNBEAgBUG2CDYCACAFQc4ENgIEIAVB.qw02AgggBUHgAGogBRADIAVB4ABqEAQLIAIgACgCsAEgCEECdGooAgA2AgQLIBFBBHYhCCACQQhqIQIgBkEBaiIGIApHDQAMAgALAAsDQCAAKALkASAGTQRA.IAVBtgg2AlAgBUHOBDYCVCAFQasNNgJYIAVB4ABqIAVB0ABqEAMgBUHgAGoQBAsgBiADSSALcSELAkAgDygCACAGQQN0aiIJLQAAIhFBAU0EQCARQQFrBEAg.DCAUEAUgB2oiB0EAIA0gByANSRtrIQcLIAkgBzsBAgwBCyAJLwECIQcLIAwgExAFIQkgCwRAIAAoAqQBIAdNBEAgBUG2CDYCQCAFQc4ENgJEIAVBqw02Akgg.BUHgAGogBUFAaxADIAVB4ABqEAQLIAIgACgCoAEgB0ECdGooAgA2AgAgACgCtAEgCU0EQCAFQbYINgIwIAVBzgQ2AjQgBUGrDTYCOCAFQeAAaiAFQTBqEAMg.BUHgAGoQBAsgAiAAKAKwASAJQQJ0aigCADYCBAsgAkEIaiECIAZBAWoiBiAKRw0ACwsgAiAWaiECIA5BAWoiDiASRw0ACyAAKAIMIQYLIBBBAWoiECAGLQAR.SQ0ACwsgBUHgBGokAEEBC4EOASJ/IwBBsAVrIgUkACAAQeABaiETIAAoAsQBIRwgACgCpAEhFAJAIAAoAuQBIg8gA0EBakF+cSIXQQF0IgpPDQACQCAAKALo.ASAKTw0AIBMgCiAPQQFqIApGQQgQBg0AIABBAToA7AEMAQsgACAKNgLkAQsgACgCDC0AEQRAIARBAWpBfnEhHSAAQYgBaiEfIABB8ABqISAgAEHYAGohISAA.QUBrIR4gAEEoaiEiIABBEGohESACQQJ2IBdBAnRrQQJ0ISNBACEKQQAhDwNAIB0EQCABIBhBAnRqKAIAIQxBACEVA0AgFwRAIBVBAXEhJCAVIARJIRlBACEW.A0AgACgC5AEgFkEBdCINTQRAIAVBtgg2ApABIAVBzgQ2ApQBIAVBqw02ApgBIAVBsAFqIAVBkAFqEAMgBUGwAWoQBAsgEygCACANQQN0aiEGAkACQAJ/ICQE.QCAGLwEADAELIAYgESAiEAUiCUECdiICQQNxIAlBBHZBDHFyOwEAIAJBDHEgCUEDcXILIhBBA3EiAkEDSw0AAkACQAJAIAJBAWsOAwEDAgALIBEgHhAFIQIg.ESAhEAUhDyAGIAIgCGoiAkEAIBQgAiAUSRtrIgg7AQIgBiALIA9qIgJBACAcIAIgHEkbayILOwEEDAMLIAYgCzsBBCAGIAg7AQIMAgsgBiAPOwEEIAYgCjsB.AiAPIQsgCiEIDAELIAYvAQQhCyAGLwECIQgLIAAoAqQBIAhNBEAgBUG2CDYCgAEgBUHOBDYChAEgBUGrDTYCiAEgBUGwAWogBUGAAWoQAyAFQbABahAECyAF.IAAoAqABIAhBAnRqKAIAIhI2AqgBIBEgIBAFISUgESAfEAUhJiAQQQJ2QT9xIgkEQCARIB4QBSAIaiICQQAgFCACIBRJG2shCAsgACgCpAEgCE0EQCAFQbYI.NgJwIAVBzgQ2AnQgBUGrDTYCeCAFQbABaiAFQfAAahADIAVBsAFqEAQLIAUgACgCoAEgCEECdGooAgAiDjYCpAEgACgC5AEiByANQQFyIgZNBEAgBUG2CDYC.YCAFQc4ENgJkIAVBqw02AmggBUGwAWogBUHgAGoQAyAFQbABahAEIAAoAuQBIQcLIBMoAgAiAiAGQQN0Ig1qLwECIQogByAGTQRAIAVBtgg2AlAgBUHOBDYC.VCAFQasNNgJYIAVBsAFqIAVB0ABqEAMgBUGwAWoQBCAAKALkASEHIAAoAuABIQILIAIgDWovAQQhDyAWIANJIBlxIRkgByAGTQRAIAVBtgg2AkAgBUHOBDYC.RCAFQasNNgJIIAVBsAFqIAVBQGsQAyAFQbABahAEIAAoAuQBIQcgACgC4AEhAgsgAiANaiAIOwECIAcgBk0EfyAFQbYINgIwIAVBzgQ2AjQgBUGrDTYCOCAF.QbABaiAFQTBqEAMgBUGwAWoQBCATKAIABSACCyANaiALOwEEIBkEQCAJQQF2IQYgDkH/AXEiCUEEaiASQf8BcSICTyACQQNqIAlPcSICIRBBASEHAkAgAkUN.AANAQQBBACACIAVBpAFqIAdqLQAAIglBBGogBUGoAWogB2otAAAiAkkbIAJBA2ogCUkbIgJBAEchECACRQ0BIAdBAWoiB0EDSQ0ACwsgEkEYdiENIBJBEHYh.GiASQQh2IRsgDkEYdiEJIAZBAXMhByASQQN0IQYCfyAQRQRAIAUgG0EDdEHwAXEgDkEJdkH/AHFyOgCtASAFIAZB8AFxIA5B/gFxQQF2cjoArAEgDkERdkH/.AHEhECAaQQN0QfABcQwBCyAFIA5BCHYgG2tBB3EgG0EDdHI6AK0BIAUgDiASa0EHcSAGcjoArAEgGkEDdCEQIA5BEHYgGmtBB3ELIQYgBSAGIBByOgCuASAF.IAcgDUEFdCACQQF0ciAJQQJ0cnI6AK8BIAAoAtQBICZBBmxBA0EAIAcbaiICTQRAIAVBtgg2AiAgBUHOBDYCJCAFQasNNgIoIAVBsAFqIAVBIGoQAyAFQbAB.ahAECyAAKALQASACQQF0aiECIAAoAsQBIAtNBEAgBUG2CDYCECAFQc4ENgIUIAVBqw02AhggBUGwAWogBUEQahADIAVBsAFqEAQLIAwgACgCwAEgC0EBdGov.AQAgAi8BAEEQdHI2AgAgDCACKAECNgIEIAwgBSgCrAE2AgggACgCtAEgJUEBdCAHciICTQRAIAVBtgg2AgAgBUHOBDYCBCAFQasNNgIIIAVBsAFqIAUQAyAF.QbABahAECyAMIAAoArABIAJBAnRqKAIANgIMCyAMQRBqIQwgFkEBaiIWIBdHDQALCyAMICNqIQwgFUEBaiIVIB1HDQALCyAYQQFqIhggACgCDC0AEUkNAAsL.IAVBsAVqJABBAQu3BwEYfyMAQdAEayIFJAAgAEHgAWohFCAAKALEASEQAkAgACgC5AEiByADQQFqQX5xIglPDQACQCAAKALoASAJTw0AIBQgCSAHQQFqIAlG.QQgQBg0AIABBAToA7AEMAQsgACAJNgLkAQsgACgCDCIHLQARBEAgBEEBakF+cSEVIABBiAFqIRYgAEHYAGohFyAAQShqIRggAEEQaiEMIAJBAnYgCUECdGtB.AnQhGQNAIBUEQCABIBJBAnRqKAIAIQJBACERA0AgCQRAIBEgBEkhEyARQQFxIhpFIRtBACEHA0AgB0EBcSAbQQFzckUEQCAMIBgQBSENCyAAKALkASAHTQRA.IAVBtgg2AkAgBUHOBDYCRCAFQasNNgJIIAVB0ABqIAVBQGsQAyAFQdAAahAECyAHIANJIQ4gFCgCACAHQQN0aiEGAkAgGgRAIAYtAAAhCAwBCyAGIA1B/wFx.Ig9BAnZBA3E7AQAgDUEDcSEIIA9BBHYhDQsgDiATcSETAkAgCEH/AXEiCEEBTQRAIAhBAWsEQCAGIAwgFxAFIApqIghBACAQIAggEEkbayIKOwEEIAYgDCAX.EAUgC2oiBkEAIBAgBiAQSRtrIgs7AQYMAgsgBiALOwEGIAYgCjsBBAwBCyAGLwEGIQsgBi8BBCEKCyAMIBYQBSEGIAwgFhAFIQ4gEwRAIAAoAtQBIgggBkED.bCIPTQRAIAVBtgg2AjAgBUHOBDYCNCAFQasNNgI4IAVB0ABqIAVBMGoQAyAFQdAAahAEIAAoAtQBIQgLIAAoAtABIhwhBiAIIA5BA2wiDk0EQCAFQbYINgIg.IAVBzgQ2AiQgBUGrDTYCKCAFQdAAaiAFQSBqEAMgBUHQAGoQBCAAKALQASEGCyAAKALEASAKTQRAIAVBtgg2AhAgBUHOBDYCFCAFQasNNgIYIAVB0ABqIAVB.EGoQAyAFQdAAahAECyACIAAoAsABIgggCkEBdGovAQAgD0EBdCAcaiIPLwEAQRB0cjYCACACIA8oAQI2AgQgAiAAKALEASALTQR/IAVBtgg2AgAgBUHOBDYC.BCAFQasNNgIIIAVB0ABqIAUQAyAFQdAAahAEIAAoAsABBSAICyALQQF0ai8BACAOQQF0IAZqIgYvAQBBEHRyNgIIIAIgBigBAjYCDAsgAkEQaiECIAdBAWoi.ByAJRw0ACwsgAiAZaiECIBFBAWoiESAVRw0ACyAAKAIMIQcLIBJBAWoiEiAHLQARSQ0ACwsgBUHQBGokAEEBC7QFARZ/IwBBsARrIgUkACAAQeABaiEQIAAo.AsQBIRECQCAAKALkASIGIANBAWpBfnEiCE8NAAJAIAAoAugBIAhPDQAgECAIIAZBAWogCEZBCBAGDQAgAEEBOgDsAQwBCyAAIAg2AuQBCyAAKAIMIgctABEE.QCAEQQFqQX5xIRIgAEGIAWohEyAAQdgAaiEUIABBKGohFSAAQRBqIQ0gAkECdiAIQQF0a0ECdCEWA0AgEgRAIAEgDkECdGooAgAhAkEAIQsDQCAIBEAgCyAE.SSEPIAtBAXEiF0UhGEEAIQcDQCAHQQFxIBhBAXNyRQRAIA0gFRAFIQoLIAAoAuQBIAdNBEAgBUG2CDYCICAFQc4ENgIkIAVBqw02AiggBUEwaiAFQSBqEAMg.BUEwahAECyAHIANJIRkgECgCACAHQQN0aiEMAkAgFwRAIAwtAAAhBgwBCyAMIApB/wFxIhpBAnZBA3E7AQAgCkEDcSEGIBpBBHYhCgsgDyAZcSEPAkAgBkEB.TQRAIAZBAWsEQCANIBQQBSAJaiIGQQAgESAGIBFJG2shCQsgDCAJOwEEDAELIAwvAQQhCQsgDSATEAUhBiAPBEAgACgC1AEgBkEDbCIGTQRAIAVBtgg2AhAg.BUHOBDYCFCAFQasNNgIYIAVBMGogBUEQahADIAVBMGoQBAsgACgC0AEgBkEBdGohBiAAKALEASAJTQRAIAVBtgg2AgAgBUHOBDYCBCAFQasNNgIIIAVBMGog.BRADIAVBMGoQBAsgAiAAKALAASAJQQF0ai8BACAGLwEAQRB0cjYCACACIAYoAQI2AgQLIAJBCGohAiAHQQFqIgcgCEcNAAsLIAIgFmohAiALQQFqIgsgEkcN.AAsgACgCDCEHCyAOQQFqIg4gBy0AEUkNAAsLIAVBsARqJABBAQv3AQECfyMAQbAEayIDJAACQCAAQQdxBEAgA0G2CDYCICADQckPNgIkIANBrAs2AiggA0Ew.aiADQSBqEAMgA0EwahAEQQAhAAwBCyABQYGA/P8HTwRAIANBtgg2AgAgA0HJDzYCBCADQaMKNgIIIANBMGogAxADIANBMGoQBEEAIQAMAQtB0BMoAgAhBCAD.IAE2AiwgACABIANBLGpBAUHgFigCACAEEQAAIQAgAgRAIAIgAygCLDYCAAsgAEEHcUUNACADQbYINgIQIANB9w82AhQgA0HYCjYCGCADQTBqIANBEGoQAyAD.QTBqEAQLIANBsARqJAAgAAulBwEafyMAQdAEayIFJAAgAEHgAWohESAAKALEASESIAAoAqQBIRMCQCAAKALkASIHIANBAWpBfnEiCU8NAAJAIAAoAugBIAlP.DQAgESAJIAdBAWogCUZBCBAGDQAgAEEBOgDsAQwBCyAAIAk2AuQBCyAAKAIMIggtABEEQCAEQQFqQX5xIRQgAEGIAWohFSAAQfAAaiEWIABB2ABqIRcgAEFA.ayEYIABBKGohGSAAQRBqIQwgAkECdiAJQQJ0a0ECdCEaA0AgFARAIAEgD0ECdGooAgAhAkEAIQ4DQCAJBEAgDiAESSEQIA5BAXEiG0UhHEEAIQgDQCAIQQFx.IBxBAXNyRQRAIAwgGRAFIQ0LIAAoAuQBIAhNBEAgBUG2CDYCQCAFQc4ENgJEIAVBqw02AkggBUHQAGogBUFAaxADIAVB0ABqEAQLIAggA0khHSARKAIAIAhB.A3RqIQYCQCAbBEAgBi0AACEHDAELIAYgDUH/AXEiHkECdkEDcTsBACANQQNxIQcgHkEEdiENCyAQIB1xIRACQCAHQQFNBEAgB0EBawRAIAYgDCAYEAUgCmoi.B0EAIBMgByATSRtrIgo7AQIgBiAMIBcQBSALaiIHQQAgEiAHIBJJG2siCzsBBAwCCyAGIAs7AQQgBiAKOwECDAELIAYvAQQhCyAGLwECIQoLIAwgFhAFIQcg.DCAVEAUhBiAQBEAgACgC1AEgBkEDbCIGTQRAIAVBtgg2AjAgBUHOBDYCNCAFQasNNgI4IAVB0ABqIAVBMGoQAyAFQdAAahAECyAAKALQASAGQQF0aiEGIAAo.AsQBIAtNBEAgBUG2CDYCICAFQc4ENgIkIAVBqw02AiggBUHQAGogBUEgahADIAVB0ABqEAQLIAIgACgCwAEgC0EBdGovAQAgBi8BAEEQdHI2AgAgAiAGKAEC.NgIEIAAoAqQBIApNBEAgBUG2CDYCECAFQc4ENgIUIAVBqw02AhggBUHQAGogBUEQahADIAVB0ABqEAQLIAIgACgCoAEgCkECdGooAgA2AgggACgCtAEgB00E.QCAFQbYINgIAIAVBzgQ2AgQgBUGrDTYCCCAFQdAAaiAFEAMgBUHQAGoQBAsgAiAAKAKwASAHQQJ0aigCADYCDAsgAkEQaiECIAhBAWoiCCAJRw0ACwsgAiAa.aiECIA5BAWoiDiAURw0ACyAAKAIMIQgLIA9BAWoiDyAILQARSQ0ACwsgBUHQBGokAEEBC/4CAQV/IAAoAgwiCS0ADiEKIAktAA8hCwJ/IAktABIiB0ELTQRA.QQhBASAHdEGBHHENARoLQQhBECAHQQ1GGwsgCS0ADSAJLQAMQQh0ciAGdiIHQQEgB0EBSxtBA2pBAnYiCGwhBwJAAkAgBUUEQCAHIQUMAQsgBUEDcQ0BIAcg.BUsNAQsgAkUNACAFIApBCHQgC3IgBnYiBkEBIAZBAUsbQQNqQQJ2IgZsIARLDQAgACABNgIQIABCADcCICAAIAEgAmo2AhggACACNgIcIAAgATYCFCAJLQAS.IgFBDksNAAJAAkACQAJAAkACQAJAAkAgAUEBaw4OCAAAAAAAAgIBAwQFBgAGCyAAIAMgBSAIIAYQQw0GDAcLIAAgAyAFIAggBhBBDQUMBgsgACADIAUgCCAG.EEANBAwFCyAAIAMgBSAIIAYQGw0DDAQLIAAgAyAFIAggBhAbDQIMAwsgACADIAUgCCAGED8NAQwCCyAAIAMgBSAIIAYQPkUNAQsLC9oBAQR/IwBBkARrIgYk.ACAAKAIMIgUgBEECdGooAEYiB0EYdCAHQQh0QYCA/AdxciAHQQh2QYD+A3EgB0EYdnJyIQcCfyAEQQFqIgggBS0AEE8EQCAAKAIIDAELIAUgCEECdGooAEYi.BUEYdCAFQQh0QYCA/AdxciAFQQh2QYD+A3EgBUEYdnJyCyIFIAdNBEAgBkG2CDYCACAGQaYXNgIEIAZBtg02AgggBkEQaiAGEAMgBkEQahAECyAAIAAoAgQg.B2ogBSAHayABIAIgAyAEEEQgBkGQBGokAAuXAQECfwJAIAAoAgwiAS0AJ0EIdCABLQAocgRAQQAhASAAEDZFDQEgABA1RQ0BIAAoAgwhAQsCQCABLQA4IAEt.ADdBCHRyRQ0AQQAhASAAEDRFDQECQCAAKAIMLQASQXRqIgJBAksNAAJAAkAgAkEBaw4CAgABCyAAEDMNAgwDCyAAEDINAQwCCyAAEDFFDQELQQEhAQsgAQvx.AQEDfwJAIAAoAgwiAS0AQUEIdCABLQBCciICRQ0AIAAgACgCBCABLQBFIAEtAERBCHQgAS0AQ0EQdHJyaiIBNgIQIAAgAjYCHCAAIAE2AhQgAEIANwIgIAAg.ASACajYCGCAAQRBqIgEgAEEoahAJRQ0AAkACQCAAKAIMIgItACdBCHQgAi0AKHJFBEAgAi0AOCACLQA3QQh0cg0BDAMLIAEgAEFAaxAJRQ0CIAEgAEHwAGoQ.CUUNAiAAKAIMIgItADdBCHQgAi0AOHJFDQELIAEgAEHYAGoQCUUNASABIABBiAFqEAlFDQELQQEhAwsgAwuKBAEDfyMAQZAEayIEJAACQCAARQ0AIAFBPkkN.AEHwARAQIgJFDQAgAkIANwKwASACQb2V5/cBNgIAIAJCADcCwAEgAkIANwLQASACQgA3AuABIAJCADcCBCACQgA3AjwgAkIANwC1ASACQgA3AMUBIAJCADcA.1QEgAkIANwDlASACQgA3AgwgAkIANwIUIAJCADcCHCACQgA3AiQgAkIANwIsIAJCADcAMSACQgA3AkQgAkIANwBJIAJCADcAYSACQgA3AlwgAkIANwJUIAJC.ADcCbCACQgA3AnQgAkIANwB5IAJCADcChAEgAkIANwKMASACQgA3AJEBIAJCADcCnAEgAkIANwKkASACQQA6AKwBAkACQAJAIAFBygBJDQAgAC0AASAALQAA.QQh0ckH4kAFHDQAgAC0AAyAALQACQQh0ckHKAEkNACAAKAAGIgNBGHQgA0EIdEGAgPwHcXIgA0EIdkGA/gNxIANBGHZyciABTQ0BCyACQQA2AgwMAQsgAiAB.NgIIIAIgADYCBCACIAA2AgwgAhBHRQ0AIAIQRkUNACACIQMMAQsgAhAcIAJBB3EEQCAEQbYINgIAIARByQ82AgQgBEHCCzYCCCAEQRBqIAQQAyAEQRBqEARB.ACEDDAELQQAhAyACQQBBAEEBQeAWKAIAQdATKAIAEQAAGgsgBEGQBGokACADCwMAAQsL8AkZAEGACAugBCVzKCV1KTogQXNzZXJ0aW9uIGZhaWx1cmU6ICIl.cyIKAG1fc2l6ZSA8PSBtX2NhcGFjaXR5AC4vaW5jXGNybl9kZWNvbXAuaABtaW5fbmV3X2NhcGFjaXR5IDwgKDB4N0ZGRjAwMDBVIC8gZWxlbWVudF9zaXpl.KQBuZXdfY2FwYWNpdHkgJiYgKG5ld19jYXBhY2l0eSA+IG1fY2FwYWNpdHkpAG51bV9jb2Rlc1tjXQBzb3J0ZWRfcG9zIDwgdG90YWxfdXNlZF9zeW1zAHBD.b2Rlc2l6ZXNbc3ltX2luZGV4XSA9PSBjb2Rlc2l6ZQB0IDwgKDFVIDw8IHRhYmxlX2JpdHMpAG1fbG9va3VwW3RdID09IGNVSU5UMzJfTUFYAGNybmRfbWFs.bG9jOiBzaXplIHRvbyBiaWcAY3JuZF9tYWxsb2M6IG91dCBvZiBtZW1vcnkAKCh1aW50MzIpIHJlaW50ZXJwcmV0X2Nhc3Q8dWludHB0cl90PihwX25ldykg.JiAoQ1JORF9NSU5fQUxMT0NfQUxJR05NRU5UIC0gMSkpID09IDAAY3JuZF9yZWFsbG9jOiBiYWQgcHRyAGNybmRfZnJlZTogYmFkIHB0cgBmYWxzZQAodG90.YWxfc3ltcyA+PSAxKSAmJiAodG90YWxfc3ltcyA8PSBwcmVmaXhfY29kaW5nOjpjTWF4U3VwcG9ydGVkU3ltcykAQbAMC6gCERITFAAIBwkGCgULBAwDDQIO.AQ8QMAB0ICE9IGNVSU5UMzJfTUFYAG1vZGVsLm1fY29kZV9zaXplc1tzeW1dID09IGxlbgAAAgMEBQYHAShsZW4gPj0gMSkgJiYgKGxlbiA8PSBjTWF4RXhw.ZWN0ZWRDb2RlU2l6ZSkAaSA8IG1fc2l6ZQBuZXh0X2xldmVsX29mcyA+IGN1cl9sZXZlbF9vZnMAbnVtICYmIChudW0gPT0gfnJlaW50ZXJwcmV0X2Nhc3Q8.dWludDMyKj4ocClbLTJdKQAACAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAACAAAAAgAAAAIAAAAEAAAAAgAAAAQAAAA2AkAAC0rICAgMFgw.eAAobnVsbCkAQeAOCxgRAAoAERERAAAAAAUAAAAAAAAJAAAAAAsAQYAPCyERAA8KERERAwoHAAETCQsLAAAJBgsAAAsABhEAAAAREREAQbEPCwELAEG6DwsY.EQAKChEREQAKAAACAAkLAAAACQALAAALAEHrDwsBDABB9w8LFQwAAAAADAAAAAAJDAAAAAAADAAADABBpRALAQ4AQbEQCxUNAAAABA0AAAAACQ4AAAAAAA4A.AA4AQd8QCwEQAEHrEAseDwAAAAAPAAAAAAkQAAAAAAAQAAAQAAASAAAAEhISAEGiEQsOEgAAABISEgAAAAAAAAkAQdMRCwELAEHfEQsVCgAAAAAKAAAAAAkL.AAAAAAALAAALAEGNEgsBDABBmRILJwwAAAAADAAAAAAJDAAAAAAADAAADAAAMDEyMzQ1Njc4OUFCQ0RFRgBB5BILAQUAQYsTCwX//////wBB0BMLCQEAAAAA.AAAABQBB5BMLAQIAQfwTCw4DAAAABAAAAHgLAAAABABBlBQLAQEAQaMUCwUK/////wBBpBYLAqQP`.split(`.`).join(``),hv=function(e){return typeof document>`u`?e:(mv||(mv=document.createElement(`a`)),mv.href=e,mv.href=mv.href,mv.href)},typeof WebAssembly<`u`){for(_v in $=$===void 0?{}:$,gv={},$)$.hasOwnProperty(_v)&&(gv[_v]=$[_v]);for(_v in vv=[],yv=!1,bv=!1,xv=!1,Sv=!1,Cv=!1,yv=typeof window==`object`,bv=typeof importScripts==`function`,Sv=typeof process==`object`&&typeof process.versions==`object`&&typeof process.versions.node==`string`,xv=Sv&&!yv&&!bv,Cv=!yv&&!xv&&!bv,wv=``,xv?(wv=typeof __dirname<`u`?__dirname+`/`:``,Tv=function(e,t){throw Error(`crunch_decoder: wasm 已内联,不支持按路径读取(`+e+`)`)},Ev=function(e){return Tv(e,!0)},process.argv.length>1&&process.argv[1].replace(/\\/g,`/`),vv=process.argv.slice(2),process.on(`uncaughtException`,function(e){if(!(e instanceof w))throw e}),process.on(`unhandledRejection`,m),$.inspect=function(){return`[Emscripten Module object]`}):Cv?(typeof read<`u`&&(Tv=function(e){return read(e)}),Ev=function(t){var n;return typeof readbuffer==`function`?new Uint8Array(readbuffer(t)):(n=read(t,`binary`),e(typeof n==`object`),n)},typeof scriptArgs<`u`?vv=scriptArgs:typeof arguments<`u`&&(vv=arguments),typeof print<`u`&&(typeof console>`u`&&(console={}),console.log=print,console.warn=console.error=typeof printErr<`u`?printErr:print)):(yv||bv)&&(bv?wv=self.location.href:document.currentScript&&(wv=document.currentScript.src),wv=wv.indexOf(`blob:`)===0?``:wv.substr(0,wv.lastIndexOf(`/`)+1),Tv=function(e){var t=new XMLHttpRequest;return t.open(`GET`,e,!1),t.send(null),t.responseText},bv&&(Ev=function(e){var t=new XMLHttpRequest;return t.open(`GET`,e,!1),t.responseType=`arraybuffer`,t.send(null),new Uint8Array(t.response)})),Dv=$.print||console.log.bind(console),Ov=$.printErr||console.warn.bind(console),gv)gv.hasOwnProperty(_v)&&($[_v]=gv[_v]);gv=null,$.arguments&&(vv=$.arguments),$.thisProgram&&$.thisProgram,$.quit&&$.quit,kv=fv(),$.noExitRuntime&&$.noExitRuntime,typeof WebAssembly!=`object`&&Ov(`no native wasm support detected`),jv=new WebAssembly.Table({initial:6,maximum:6,element:`anyfunc`}),Mv=!1;function e(e,t){e||m(`Assertion failed: `+t)}Nv=typeof TextDecoder<`u`?new TextDecoder(`utf8`):void 0;function t(e,t,n){for(var r=t+n,i=t;e[i]&&!(i>=r);)++i;if(i-t>16&&e.subarray&&Nv)return Nv.decode(e.subarray(t,i));for(var a=``;t<i;){var o=e[t++];if(!(o&128))a+=String.fromCharCode(o);else{var s=e[t++]&63;if((o&224)==192)a+=String.fromCharCode((o&31)<<6|s);else{var c=e[t++]&63;if(o=(o&240)==224?(o&15)<<12|s<<6|c:(o&7)<<18|s<<12|c<<6|e[t++]&63,o<65536)a+=String.fromCharCode(o);else{var l=o-65536;a+=String.fromCharCode(55296|l>>10,56320|l&1023)}}}}return a}function n(e,n){return e?t(Lv,e,n):``}typeof TextDecoder<`u`&&new TextDecoder(`utf-16le`),Pv=65536;function r(e,t){return e%t>0&&(e+=t-e%t),e}function i(e){Fv=e,$.HEAP8=Iv=new Int8Array(e),$.HEAP16=new Int16Array(e),$.HEAP32=Rv=new Int32Array(e),$.HEAPU8=Lv=new Uint8Array(e),$.HEAPU16=new Uint16Array(e),$.HEAPU32=new Uint32Array(e),$.HEAPF32=new Float32Array(e),$.HEAPF64=new Float64Array(e)}zv=5247584,Bv=4544,Vv=$.TOTAL_MEMORY||16777216,Av=$.wasmMemory?$.wasmMemory:new WebAssembly.Memory({initial:Vv/Pv}),Av&&(Fv=Av.buffer),Vv=Fv.byteLength,i(Fv),Rv[Bv>>2]=zv;function a(e){for(;e.length>0;){var t=e.shift();if(typeof t==`function`)t();else{var n=t.func;typeof n==`number`?t.arg===void 0?$.dynCall_v(n):$.dynCall_vi(n,t.arg):n(t.arg===void 0?null:t.arg)}}}Hv=[],Uv=[],Wv=[],Gv=[];function o(){if($.preRun)for(typeof $.preRun==`function`&&($.preRun=[$.preRun]);$.preRun.length;)u($.preRun.shift());a(Hv)}function s(){a(Uv)}function c(){a(Wv)}function l(){if($.postRun)for(typeof $.postRun==`function`&&($.postRun=[$.postRun]);$.postRun.length;)d($.postRun.shift());a(Gv)}function u(e){Hv.unshift(e)}function d(e){Gv.unshift(e)}Kv=0,qv=null,Jv=null;function f(e){Kv++,$.monitorRunDependencies&&$.monitorRunDependencies(Kv)}function p(e){if(Kv--,$.monitorRunDependencies&&$.monitorRunDependencies(Kv),Kv==0&&(qv!==null&&(clearInterval(qv),qv=null),Jv)){var t=Jv;Jv=null,t()}}$.preloadedImages={},$.preloadedAudios={};function m(e){throw $.onAbort&&$.onAbort(e),e+=``,Dv(e),Ov(e),Mv=!0,e=`abort(`+e+`). Build with -s ASSERTIONS=1 for more info.`,new WebAssembly.RuntimeError(e)}Yv=`data:application/octet-stream;base64,`;function h(e){return String.prototype.startsWith?e.startsWith(Yv):e.indexOf(Yv)===0}Xv=`crunch.wasm`,h(Xv)||(Xv=hv(`./S3M_module/S3MTiles/ThirdParty/crunch.wasm`));function g(){try{if(kv)return new Uint8Array(kv);if(Ev)return Ev(Xv);throw`both async and sync fetching of the wasm failed`}catch(e){m(e)}}function _(){return!kv&&(yv||bv)&&typeof fetch==`function`?fetch(Xv,{credentials:`same-origin`}).then(function(e){if(!e.ok)throw`failed to load wasm binary file at '`+Xv+`'`;return e.arrayBuffer()}).catch(function(){return g()}):new Promise(function(e,t){e(g())})}function v(){var e={env:$v,wasi_unstable:$v};function t(e,t){$.asm=e.exports,p(`wasm-instantiate`)}f(`wasm-instantiate`);function n(e){t(e.instance)}function r(t){return _().then(function(t){return WebAssembly.instantiate(t,e)}).then(t,function(e){Ov(`failed to asynchronously prepare wasm: `+e),m(e)})}function i(){if(!kv&&typeof WebAssembly.instantiateStreaming==`function`&&!h(Xv)&&typeof fetch==`function`)fetch(Xv,{credentials:`same-origin`}).then(function(t){return WebAssembly.instantiateStreaming(t,e).then(n,function(e){Ov(`wasm streaming compile failed: `+e),Ov(`falling back to ArrayBuffer instantiation`),r(n)})});else return r(n)}if($.instantiateWasm)try{return $.instantiateWasm(e,t)}catch(e){return Ov(`Module.instantiateWasm callback failed with error: `+e),!1}return i(),{}}Uv.push({func:function(){ty()}});function y(){return Iv.length}function b(e,t,n){Lv.set(Lv.subarray(t,t+n),e)}function x(e){try{return Av.grow(e-Fv.byteLength+65535>>16),i(Av.buffer),1}catch{}}function S(e){var t=y(),n=65536,i=2147483648-n;if(e>i)return!1;for(var a=Math.max(t,16777216);a<e;)a=a<=536870912?r(2*a,n):Math.min(r((3*a+2147483648)/4,n),i);return!!x(a)}Zv={splitPath:function(e){return/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(e).slice(1)},normalizeArray:function(e,t){for(var n=0,r=e.length-1;r>=0;r--){var i=e[r];i===`.`?e.splice(r,1):i===`..`?(e.splice(r,1),n++):n&&(e.splice(r,1),n--)}if(t)for(;n;n--)e.unshift(`..`);return e},normalize:function(e){var t=e.charAt(0)===`/`,n=e.substr(-1)===`/`;return e=Zv.normalizeArray(e.split(`/`).filter(function(e){return!!e}),!t).join(`/`),!e&&!t&&(e=`.`),e&&n&&(e+=`/`),(t?`/`:``)+e},dirname:function(e){var t=Zv.splitPath(e),n=t[0],r=t[1];return!n&&!r?`.`:(r&&(r=r.substr(0,r.length-1)),n+r)},basename:function(e){if(e===`/`)return`/`;var t=e.lastIndexOf(`/`);return t===-1?e:e.substr(t+1)},extname:function(e){return Zv.splitPath(e)[3]},join:function(){var e=Array.prototype.slice.call(arguments,0);return Zv.normalize(e.join(`/`))},join2:function(e,t){return Zv.normalize(e+`/`+t)}},Qv={buffers:[null,[],[]],printChar:function(e,n){var r=Qv.buffers[e];n===0||n===10?((e===1?Dv:Ov)(t(r,0)),r.length=0):r.push(n)},varargs:0,get:function(e){return Qv.varargs+=4,Rv[Qv.varargs-4>>2]},getStr:function(){return n(Qv.get())},get64:function(){var e=Qv.get();return Qv.get(),e},getZero:function(){Qv.get()}};function C(e,t,n,r){try{for(var i=0,a=0;a<n;a++){for(var o=Rv[t+a*8>>2],s=Rv[t+(a*8+4)>>2],c=0;c<s;c++)Qv.printChar(e,Lv[o+c]);i+=s}return Rv[r>>2]=i,0}catch(e){return typeof FS<`u`&&e instanceof FS.ErrnoError||m(e),e.errno}}$v={a:b,b:S,c:C,memory:Av,table:jv},ey=v(),$.asm=ey,ty=$.___wasm_call_ctors=function(){return $.asm.d.apply(null,arguments)},$._malloc=function(){return $.asm.e.apply(null,arguments)},$._free=function(){return $.asm.f.apply(null,arguments)},$._crn_get_width=function(){return $.asm.g.apply(null,arguments)},$._crn_get_height=function(){return $.asm.h.apply(null,arguments)},$._crn_get_levels=function(){return $.asm.i.apply(null,arguments)},$._crn_get_dxt_format=function(){return $.asm.j.apply(null,arguments)},$._crn_get_bytes_per_block=function(){return $.asm.k.apply(null,arguments)},$._crn_get_uncompressed_size=function(){return $.asm.l.apply(null,arguments)},$._crn_decompress=function(){return $.asm.m.apply(null,arguments)},$.asm=ey;function w(e){this.name=`ExitStatus`,this.message=`Program terminated with exit(`+e+`)`,this.status=e}Jv=function e(){ny||T(),ny||(Jv=e)};function T(e){if(e=e||vv,Kv>0||(o(),Kv>0))return;function t(){ny||(ny=!0,!Mv&&(s(),c(),$.onRuntimeInitialized&&$.onRuntimeInitialized(),l()))}$.setStatus?($.setStatus(`Running...`),setTimeout(function(){setTimeout(function(){$.setStatus(``)},1),t()},1)):t()}if($.run=T,$.preInit)for(typeof $.preInit==`function`&&($.preInit=[$.preInit]);$.preInit.length>0;)$.preInit.pop()();T()}}));function iy(e){return!!e.asm&&Object.keys(e.asm).length>0}async function ay(){return cy||(cy=(async()=>{let e=(await Promise.resolve().then(()=>(ry(),dv))).default;return iy(e)||await new Promise(t=>{e.onRuntimeInitialized=()=>t();let n=()=>{iy(e)?t():setTimeout(n,8)};n()}),e})()),cy}function oy(e){return e.length>=2&&e[0]===ly[0]&&e[1]===ly[1]}async function sy(e){let t=e.byteLength;if(!t)throw Error(`[s3m] CRN 数据为空`);if(!oy(e))throw Error(`[s3m] 数据没有 CRN 头(Hx),不是 crunch 负载`);let n=await ay(),r=n._malloc(t);if(!r)throw Error(`[s3m] crunch 分配源数据失败`);try{n.HEAPU8.set(e,r);let i=n._crn_get_dxt_format(r,t),a=i===0?1:i===1?3:i===2?5:0;if(!a)throw Error(`[s3m] 不是可识别的 CRN 数据(dxtFormat=${i})`);let o=n._crn_get_width(r,t),s=n._crn_get_height(r,t),c=n._crn_get_levels(r,t);if(!(o>0)||!(s>0))throw Error(`[s3m] CRN 尺寸异常:${o}×${s}`);let l=a===1?8:16,u=Math.max(1,o>>2)*Math.max(1,s>>2)*l,d=n._malloc(u);if(!d)throw Error(`[s3m] crunch 分配输出缓冲失败`);try{return n._crn_decompress(r,t,d,u,0,1),{width:o,height:s,levels:c,dxtFormat:a,data:new Uint8Array(n.HEAPU8.subarray(d,d+u))}}finally{n._free(d)}}finally{n._free(r)}}var cy,ly,uy=n((()=>{cy=null,ly=[72,120]}));function dy(e,t,n){let r=Math.max(1,t>>1),i=Math.max(1,n>>1),a=new Uint8Array(r*i*4),o=t*4;for(let t=0;t<i;t++){let n=t*2*o,i=n+o,s=t*r*4;for(let t=0;t<r;t++){let r=n+t*8,o=i+t*8;a[s++]=e[r]+e[r+4]+e[o]+e[o+4]>>2,a[s++]=e[r+1]+e[r+5]+e[o+1]+e[o+5]>>2,a[s++]=e[r+2]+e[r+6]+e[o+2]+e[o+6]>>2,a[s++]=e[r+3]+e[r+7]+e[o+3]+e[o+7]>>2}}return{rgba:a,width:r,height:i}}async function fy(e,t){if(!t||!Number.isFinite(t)||t<1)return e;let n=Math.max(e.width,e.height);if(n<=t||e.blocks)return e;if(e.bitmap){let r=t/n,i=Math.max(1,Math.round(e.width*r)),a=Math.max(1,Math.round(e.height*r)),o=await createImageBitmap(e.bitmap,{resizeWidth:i,resizeHeight:a,resizeQuality:`high`});return e.bitmap.close?.(),{...e,width:i,height:a,bitmap:o}}let r=e.rgba;if(!r)return e;let i=e.width,a=e.height;for(;Math.max(i,a)>t&&i>=2&&a>=2;){let e=dy(r,i,a);r=e.rgba,i=e.width,a=e.height}return{...e,width:i,height:a,rgba:r}}function py(e,t,n){let r=t*4,i=new Uint8Array(r);for(let t=0;t<n>>1;t++){let a=t*r,o=(n-1-t)*r;i.set(e.subarray(a,a+r)),e.copyWithin(a,o,o+r),e.set(i,o)}}function my(e){return e===rv.DXT3||e===rv.DXT4||e===rv.DXT5||e===rv.ARGB||e===rv.ABGR||e===rv.BGRA||e===rv.RGBA}function hy(e){let{width:t,height:n,pixelFormat:r,data:i}=e,a=new Uint8Array(t*n*4);return N_.decode(a,t,n,i,r),e.flipY&&py(a,t,n),{rgba:a,hasAlpha:my(r)}}function gy(e){let{width:t,height:n,pixelFormat:r,data:i}=e,a=new Uint8Array(t*n*4),o=r===rv.RGBA||r===rv.BGRA||r===rv.ARGB||r===rv.ABGR,s=r===rv.BGR||r===rv.BGRA,c=r===rv.ARGB||r===rv.ABGR,l=o?4:3;for(let e=0,r=0,u=0;e<t*n;e++,r+=l,u+=4){let e=c?r+1:r;a[u]=s?i[e+2]:i[e],a[u+1]=i[e+1],a[u+2]=s?i[e]:i[e+2],a[u+3]=o?i[c?r:r+3]:255}return e.flipY&&py(a,t,n),{rgba:a,hasAlpha:my(r)}}function _y(e,t,n){return(e+3>>2)*(t+3>>2)*(n===`dxt1`?8:16)}async function vy(e,t={}){return fy(await yy(e,t),t.maxSize)}async function yy(e,t={}){let n={kind:`unsupported(0/0)`,width:0,height:0,rgba:null,bitmap:null,hasAlpha:!1};if(!e||!e.width||!e.height)return n;let r=tv(e.compressType??0,e.pixelFormat),i=t.compressed===!0&&!e.flipY,a=(e,t,n,r)=>e.byteLength===_y(t,n,r);if(r===`crn`)try{let t=await sy(e.data),n=t.dxtFormat===1?rv.DXT1:rv.DXT5,r=t.dxtFormat===1?`dxt1`:`dxt5`;if(i&&a(t.data,t.width,t.height,r))return{kind:`crn->dxt${t.dxtFormat}(c)`,width:t.width,height:t.height,rgba:null,bitmap:null,hasAlpha:n===rv.DXT5,blocks:t.data,blockFormat:r};let o=hy({width:t.width,height:t.height,pixelFormat:n,data:t.data});return{kind:`crn->dxt${t.dxtFormat}`,width:t.width,height:t.height,rgba:o.rgba,bitmap:null,hasAlpha:o.hasAlpha}}catch(t){return{kind:`crn(failed)`,width:e.width,height:e.height,rgba:null,bitmap:null,hasAlpha:!1,error:String(t?.message??t)}}if(r===`dxt1`||r===`dxt3`||r===`dxt4`||r===`dxt5`){let t=nv(r);if(i&&(r===`dxt1`||r===`dxt5`)&&a(e.data,e.width,e.height,r))return{kind:`${r}(c)`,width:e.width,height:e.height,rgba:null,bitmap:null,hasAlpha:r===`dxt5`,blocks:e.data,blockFormat:r};let n=hy({...e,pixelFormat:t});return{kind:r,width:e.width,height:e.height,rgba:n.rgba,bitmap:null,hasAlpha:n.hasAlpha}}if(r===`webp`){let t=new Blob([e.data],{type:`image/webp`}),n=await createImageBitmap(t);return{kind:r,width:n.width,height:n.height,rgba:null,bitmap:n,hasAlpha:!0}}if(r===`raw`){let t=gy(e);return{kind:r,width:e.width,height:e.height,rgba:t.rgba,bitmap:null,hasAlpha:t.hasAlpha}}return{...n,kind:`unsupported(${e.compressType}/${e.pixelFormat})`}}var by=n((()=>{P_(),uy(),sv()}));function xy(e,t=1/0){ky=Math.max(1,e|0),Ay=Number.isFinite(t)&&t>0?Math.max(1,t):1/0}function Sy(e){jy=Number.isFinite(e)&&e>=1?e:1/0}function Cy(e){My=e}function wy(e){Ny=e}async function Ty(e,t,n){if(Ny){let r=await Ny(e,t,n);if(r)return r}return vy(e,{compressed:t,maxSize:n})}function Ey(e,t=!0){return e.wrapS=Ir,e.wrapT=Ir,e.magFilter=Ur,e.minFilter=Kr,e.generateMipmaps=!0,e.anisotropy=Ay===1/0?ky:Math.min(ky,Ay),t&&(e.colorSpace=fa),e.flipY=!1,e.needsUpdate=!0,e}function Dy(e){return Ey(e),e.wrapS=z,e.wrapT=z,e.minFilter=Ur,e.generateMipmaps=!1,e.anisotropy=1,e.needsUpdate=!0,e}async function Oy(e){if(!e||!e.width||!e.height)return{texture:null,decoded:`empty`};let t=e.packed===!0||e.flipY===!0||e.composed===!0,n=await Ty(e,My&&!t,t?1/0:jy);if(!n.rgba&&!n.blocks&&!n.bitmap)return n.error&&console.warn(`[s3m] CRN 转码失败:`,n.error),{texture:null,decoded:n.kind};let r;if(n.bitmap)r=new ro(n.bitmap);else if(n.blocks&&n.blockFormat){let e=n.blockFormat===`dxt1`?yi:Si;r=new yd([{data:n.blocks,width:n.width,height:n.height}],n.width,n.height,e,Jr)}else{let e=new Cu(n.rgba,n.width,n.height,ci,Jr);n.hasAlpha&&(e.userData.s3mHasAlpha=!0),r=e}r.needsUpdate=!0;let i=t?Dy(r):Ey(r);return n.blocks&&(i.generateMipmaps=!1,i.minFilter=Ur),{texture:i,decoded:n.kind}}var ky,Ay,jy,My,Ny,Py=n((()=>{by(),sv(),ky=1,Ay=1/0,jy=1/0,My=!1,Ny=null})),Fy,Iy=n((()=>{uh(),Fy=class e{constructor(t,n={}){X(this,`_pts`,void 0),X(this,`_cum`,void 0),X(this,`length`,void 0);let r=e._flatten(t),i=n.closed===!0&&r.length>=9,a=r.length/3,o=i?a+1:a;this._pts=new Float32Array(o*3),this._pts.set(r),i&&(this._pts[o*3-3]=r[0],this._pts[o*3-2]=r[1],this._pts[o*3-1]=r[2]),this._cum=new Float32Array(Math.max(o,1));let s=0;for(let e=1;e<o;e++){let t=(e-1)*3,n=e*3;s+=Math.hypot(this._pts[n]-this._pts[t],this._pts[n+1]-this._pts[t+1],this._pts[n+2]-this._pts[t+2]),this._cum[e]=s}this.length=s}sample(e,t){let n=this._pts.length/3;if(n===0){t[0]=t[1]=t[2]=0;return}if(n===1||this.length<=0){t[0]=this._pts[0],t[1]=this._pts[1],t[2]=this._pts[2];return}let r=Math.min(this.length,Math.max(0,e)),i=0,a=n-1;for(;a-i>1;){let e=i+a>>1;this._cum[e]<=r?i=e:a=e}let o=this._cum[a]-this._cum[i],s=o>0?(r-this._cum[i])/o:0,c=i*3,l=a*3;t[0]=this._pts[c]+(this._pts[l]-this._pts[c])*s,t[1]=this._pts[c+1]+(this._pts[l+1]-this._pts[c+1])*s,t[2]=this._pts[c+2]+(this._pts[l+2]-this._pts[c+2])*s}sampleAt(e,t){this.sample(Math.min(1,Math.max(0,e))*this.length,t)}static _flatten(e){if(e.length===0)return new Float32Array;if(typeof e[0]==`number`){let t=e;if(t.length%3!=0)throw Error(`[s3m] 路径点数组长度必须是 3 的倍数`);return Float32Array.from(t)}let t=e,n=new Float32Array(t.length*3);for(let e=0;e<t.length;e++)n[e*3]=t[e][0],n[e*3+1]=t[e][1],n[e*3+2]=t[e][2];return n}}})),Ly,Ry,zy=n((()=>{rh(),Iy(),uh(),Ly=256,Ry=class e{constructor(){X(this,`_paths`,new Map),X(this,`_nextId`,0),X(this,`_texture`,null),X(this,`_data`,null),X(this,`_dirty`,!1)}registerPath(e,t={}){let n=e instanceof Fy?e:new Fy(e,{closed:t.closed}),r=t.id;if(r==null)for(r=this._nextId++;this._paths.has(r);)r=this._nextId++;else r>=this._nextId&&(this._nextId=r+1);return this._paths.set(r,{id:r,name:t.name,path:n}),this._dirty=!0,r}unregisterPath(e){let t=this._paths.delete(e);return t&&(this._dirty=!0),t}getPath(e){return this._paths.get(e)?.path}hasPath(e){return this._paths.has(e)}getPathIds(){return Array.from(this._paths.keys()).sort((e,t)=>e-t)}clear(){this._paths.size>0&&(this._paths.clear(),this._nextId=0,this._dirty=!0)}get count(){return this._paths.size}getTexture(){return(this._dirty||!this._texture)&&this._bake(),this._texture??e.DUMMY_PATH_TEX}updateUniforms(e){let t=this.getTexture(),n=+(this._paths.size>0),r=this._getMaxPathId(),i=Math.max(r+1,1);e.uPathTex&&(e.uPathTex.value=t),e.uPathCount&&(e.uPathCount.value=i),e.uPathTexActive&&(e.uPathTexActive.value=n)}_bake(){if(this._dirty=!1,this._paths.size===0){this._texture&&this._texture!==e.DUMMY_PATH_TEX&&this._texture.dispose(),this._texture=e.DUMMY_PATH_TEX,this._data=null;return}let t=this._getMaxPathId(),n=Math.max(t+1,1),r=256*n*4;!this._data||this._data.length!==r?(this._texture&&this._texture!==e.DUMMY_PATH_TEX&&this._texture.dispose(),this._data=new Float32Array(r),this._texture=new Cu(this._data,256,n,ci,ei),this._texture.minFilter=Ur,this._texture.magFilter=Ur,this._texture.wrapS=z,this._texture.wrapT=z):this._data.fill(0);let i=[0,0,0],a=[0,0,0];for(let[e,t]of this._paths){if(e<0||e>=n)continue;let r=t.path,o=e*256*4,s=0;for(let e=0;e<256;e++){let t=e/255;r.sampleAt(t,i);let n=s;if(r.length>1e-4){let e=Math.min(1,t+.001);r.sampleAt(e,a);let o=a[0]-i[0],s=a[1]-i[1];if(o*o+s*s<1e-8&&t>0){let e=Math.max(0,t-.001);r.sampleAt(e,a),o=i[0]-a[0],s=i[1]-a[1]}o*o+s*s>=1e-8&&(n=Math.atan2(s,o))}if(e>0){let e=n-s;for(;e>Math.PI;)n-=2*Math.PI,e=n-s;for(;e<-Math.PI;)n+=2*Math.PI,e=n-s}s=n;let c=o+e*4;this._data[c+0]=i[0],this._data[c+1]=i[1],this._data[c+2]=i[2],this._data[c+3]=n}}this._texture&&(this._texture.needsUpdate=!0)}_getMaxPathId(){let e=0;for(let t of this._paths.keys())t>e&&(e=t);return e}sampleBaked(e,t){if(!this._data||!this._paths.has(e))return{position:[0,0,0],yaw:0};let n=this._getMaxPathId();if(e<0||e>n)return{position:[0,0,0],yaw:0};let r=Math.min(1,Math.max(0,t))*255,i=Math.floor(r),a=Math.min(255,i+1),o=r-i,s=e*256*4,c=s+i*4,l=s+a*4,u=this._data[c+0]*(1-o)+this._data[l+0]*o,d=this._data[c+1]*(1-o)+this._data[l+1]*o,f=this._data[c+2]*(1-o)+this._data[l+2]*o,p=this._data[c+3]*(1-o)+this._data[l+3]*o;return{position:[u,d,f],yaw:p}}dispose(){this._texture&&this._texture!==e.DUMMY_PATH_TEX&&(this._texture.dispose(),this._texture=null),this._data=null,this._paths.clear()}},X(Ry,`DUMMY_PATH_TEX`,(()=>{let e=new Cu(new Float32Array(1024),256,1,ci,ei);return e.minFilter=Ur,e.magFilter=Ur,e.wrapS=z,e.wrapT=z,e.needsUpdate=!0,e})())}));function By(){return{uMode:{value:Uy.TEXTURE},uColorA:{value:new W(`#dfe6ee`)},uColorB:{value:new W(`#1d4ed8`)},uColorC:{value:new W(`#fbbf24`)},uTime:{value:0},uHeightMin:{value:0},uHeightMax:{value:120},uFloorHeight:{value:3.2},uDim:{value:0},uDimFactor:{value:.42},uSelColor:{value:new W(`#22d3ee`)},uSelMix:{value:0},uSelMode:{value:1},uSelOpacity:{value:.65},uSelEmissive:{value:.35},uSelElevation:{value:0},uFilterMinZ:{value:-99999},uFilterMaxZ:{value:99999},uFilterHeightActive:{value:0},uRoofThreshold:{value:.65},uTexMix:{value:0},uAmbientGain:{value:0},uBatchMix:{value:0},uPathTex:{value:Ry.DUMMY_PATH_TEX},uPathCount:{value:1},uPathTexActive:{value:0},uPathTime:{value:0},uOpacity:{value:1},uEdgeFade:{value:1},uFade:{value:1}}}function Vy(e){let t=e.uniforms,n=new vf({color:e.color??new W(16777215),map:e.map??null,roughness:e.roughness??.95,metalness:0,side:e.side??2,transparent:!!e.transparent,opacity:e.opacity??1,depthWrite:!e.transparent,flatShading:e.flatShading!==!1,vertexColors:!1,alphaTest:e.alphaTest??0}),r={value:-1},i={value:0},a={value:Yy},o={value:Yy},s={value:1},c={value:0},l={value:1},u=!!e.atlas&&!!e.map,d=u?e.secMap??null:null;u&&(n.defines={...n.defines,S3M_ATLAS:``}),d&&(n.defines={...n.defines,S3M_ATLAS_SEC:``});let f={value:new B(e.map?.image?.width||1,e.map?.image?.height||1)},p={value:new B(d?.image?.width||1,d?.image?.height||1)};return n.onBeforeCompile=e=>{Object.assign(e.uniforms,t,{uSelBatch:r,uSelWhole:i,uBatchTex:a,uBatchTex2:o,uBatchTexWidth:s,uBatchTexActive:c,uTileFade:l,uSecMap:{value:d},uAtlasDim:f,uAtlasDim1:p}),e.vertexShader=e.vertexShader.replace(`#include <common>`,`#include <common>\n${Xy}`).replace(`#include <beginnormal_vertex>`,`#include <beginnormal_vertex>\n${Zy}`).replace(`#include <begin_vertex>`,`#include <begin_vertex>\n${Qy}`).replace(`#include <worldpos_vertex>`,$y),e.fragmentShader=e.fragmentShader.replace(`#include <common>`,`#include <common>\n${eb}`).replace(`#include <color_fragment>`,`#include <color_fragment>\n${tb}`).replace(`#include <emissivemap_fragment>`,`#include <emissivemap_fragment>\n${nb}`),u?e.fragmentShader=e.fragmentShader.replace(`#include <map_fragment>`,`
3836
3836
  #ifdef USE_MAP
3837
3837
  vec4 sampledDiffuseColor = s3mAtlasUnit( vMapUv, vAtlasRect, uAtlasDim, map );
3838
3838
  diffuseColor *= sampledDiffuseColor;
3839
3839
  #endif
3840
- ${d?`\n${Zy}`:``}`):d&&(e.fragmentShader=e.fragmentShader.replace(`#include <map_fragment>`,`#include <map_fragment>\n${Zy}`))},n.customProgramCacheKey=()=>`s3m-styled${u?`-atlas`:``}${d?`-bake`:``}`,n.userData.uSelBatch=r,n.userData.uSelWhole=i,n.userData.uSelElevation=t?.uSelElevation,n.userData.uBatchMix=t?.uBatchMix,n.userData.uPathTex=t?.uPathTex,n.userData.uPathCount=t?.uPathCount,n.userData.uPathTime=t?.uPathTime,n.userData.uPathTexActive=t?.uPathTexActive,n.userData.uBatchTex=a,n.userData.uBatchTex2=o,n.userData.uBatchTexWidth=s,n.userData.uBatchTexActive=c,n.userData.uTileFade=l,n.userData.isStyled=!0,n}function Iy(e,t=.9){let n=new gc({uniforms:{uSelBatch:{value:-1},uSelWhole:{value:0},uWidth:{value:t},uElevation:{value:0},uBatchTex:{value:Uy},uBatchTex2:{value:Uy},uBatchMix:e.uBatchMix??{value:0},uBatchTexWidth:{value:1},uBatchTexActive:{value:0},uPathTex:e.uPathTex??{value:My.DUMMY_PATH_TEX},uPathCount:e.uPathCount??{value:1},uPathTexActive:e.uPathTexActive??{value:0},uPathTime:e.uPathTime??{value:0},uColor:{value:e.uSelColor.value.clone()}},vertexShader:Qy,fragmentShader:$y,side:1,depthWrite:!1,transparent:!1,polygonOffset:!0,polygonOffsetFactor:1,polygonOffsetUnits:1});return n.userData.isOutline=!0,n}var Ly,Ry,zy,By,Vy,Hy,Uy,Wy,Gy,Ky,qy,Jy,Yy,Xy,Zy,Qy,$y,eb=n((()=>{rh(),Ny(),Ly={WHITE:0,TEXTURE:1,SOLID:2,HEIGHT:3,FLOORS:4,BATCH:5,DYNAMIC:6,TOP_SIDE:7,CUSTOM:8},Ry={[Ly.WHITE]:`白膜`,[Ly.TEXTURE]:`原色`,[Ly.SOLID]:`单色`,[Ly.HEIGHT]:`按高度`,[Ly.FLOORS]:`按楼层`,[Ly.BATCH]:`按单体`,[Ly.DYNAMIC]:`动态扫描`,[Ly.TOP_SIDE]:`顶/侧分色`,[Ly.CUSTOM]:`自定义`},zy={REPLACE:`replace`,OVERLAY:`overlay`,MULTIPLY:`multiply`,GLOW_ONLY:`glowOnly`},By={[zy.OVERLAY]:`叠加原图 (Overlay)`,[zy.REPLACE]:`纯色覆盖 (Replace)`,[zy.MULTIPLY]:`叠乘模式 (Multiply)`,[zy.GLOW_ONLY]:`仅描边发光 (Glow)`},Vy={mode:Ly.TEXTURE,colorA:`#dfe6ee`,colorB:`#1d4ed8`,colorC:`#fbbf24`,selectColor:`#22d3ee`,selectMode:zy.OVERLAY,selectOpacity:.65,selectEmissive:.35,selectElevation:0,floorHeight:i_,speed:1,opacity:1,shading:`flat`,dimOthers:!0,dimFactor:.42,outline:!0,outlineStyle:`edges`,outlineColor:`#22d3ee`,outlineWidth:.9,outlineWidthPx:3,edges:!1,edgeWidth:1.5,edgeColor:`#334155`,edgeOpacity:.6,edgeThreshold:55,roofThreshold:.65,texMix:0,ambientGain:0,depthWrite:!0,fadeIn:0},Hy=new Float32Array([-1,-1,-1,0,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1,0,-1,0,0,0]),Uy=new Cu(Hy,1,6,ci,ei),Uy.minFilter=Rr,Uy.magFilter=Rr,Uy.needsUpdate=!0,Wy=`
3840
+ ${d?`\n${rb}`:``}`):d&&(e.fragmentShader=e.fragmentShader.replace(`#include <map_fragment>`,`#include <map_fragment>\n${rb}`))},n.customProgramCacheKey=()=>`s3m-styled${u?`-atlas`:``}${d?`-bake`:``}`,n.userData.uSelBatch=r,n.userData.uSelWhole=i,n.userData.uSelElevation=t?.uSelElevation,n.userData.uBatchMix=t?.uBatchMix,n.userData.uPathTex=t?.uPathTex,n.userData.uPathCount=t?.uPathCount,n.userData.uPathTime=t?.uPathTime,n.userData.uPathTexActive=t?.uPathTexActive,n.userData.uBatchTex=a,n.userData.uBatchTex2=o,n.userData.uBatchTexWidth=s,n.userData.uBatchTexActive=c,n.userData.uTileFade=l,n.userData.isStyled=!0,n}function Hy(e,t=.9){let n=new gc({uniforms:{uSelBatch:{value:-1},uSelWhole:{value:0},uWidth:{value:t},uElevation:{value:0},uBatchTex:{value:Yy},uBatchTex2:{value:Yy},uBatchMix:e.uBatchMix??{value:0},uBatchTexWidth:{value:1},uBatchTexActive:{value:0},uPathTex:e.uPathTex??{value:Ry.DUMMY_PATH_TEX},uPathCount:e.uPathCount??{value:1},uPathTexActive:e.uPathTexActive??{value:0},uPathTime:e.uPathTime??{value:0},uColor:{value:e.uSelColor.value.clone()}},vertexShader:ib,fragmentShader:ab,side:1,depthWrite:!1,transparent:!1,polygonOffset:!0,polygonOffsetFactor:1,polygonOffsetUnits:1});return n.userData.isOutline=!0,n}var Uy,Wy,Gy,Ky,qy,Jy,Yy,Xy,Zy,Qy,$y,eb,tb,nb,rb,ib,ab,ob=n((()=>{rh(),zy(),Uy={WHITE:0,TEXTURE:1,SOLID:2,HEIGHT:3,FLOORS:4,BATCH:5,DYNAMIC:6,TOP_SIDE:7,CUSTOM:8},Wy={[Uy.WHITE]:`白膜`,[Uy.TEXTURE]:`原色`,[Uy.SOLID]:`单色`,[Uy.HEIGHT]:`按高度`,[Uy.FLOORS]:`按楼层`,[Uy.BATCH]:`按单体`,[Uy.DYNAMIC]:`动态扫描`,[Uy.TOP_SIDE]:`顶/侧分色`,[Uy.CUSTOM]:`自定义`},Gy={REPLACE:`replace`,OVERLAY:`overlay`,MULTIPLY:`multiply`,GLOW_ONLY:`glowOnly`},Ky={[Gy.OVERLAY]:`叠加原图 (Overlay)`,[Gy.REPLACE]:`纯色覆盖 (Replace)`,[Gy.MULTIPLY]:`叠乘模式 (Multiply)`,[Gy.GLOW_ONLY]:`仅描边发光 (Glow)`},qy={mode:Uy.TEXTURE,colorA:`#dfe6ee`,colorB:`#1d4ed8`,colorC:`#fbbf24`,selectColor:`#22d3ee`,selectMode:Gy.OVERLAY,selectOpacity:.65,selectEmissive:.35,selectElevation:0,floorHeight:i_,speed:1,opacity:1,shading:`flat`,dimOthers:!0,dimFactor:.42,outline:!0,outlineStyle:`edges`,outlineColor:`#22d3ee`,outlineWidth:.9,outlineWidthPx:3,edges:!1,edgeWidth:1.5,edgeColor:`#334155`,edgeOpacity:.6,edgeThreshold:55,roofThreshold:.65,texMix:0,ambientGain:0,depthWrite:!0,fadeIn:0},Jy=new Float32Array([-1,-1,-1,0,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1,0,-1,0,0,0]),Yy=new Cu(Jy,1,6,ci,ei),Yy.minFilter=Rr,Yy.magFilter=Rr,Yy.needsUpdate=!0,Xy=`
3841
3841
  attribute float aBatchId;
3842
3842
  attribute vec3 aColor;
3843
3843
  #ifdef S3M_ATLAS
@@ -3921,7 +3921,7 @@ void main() {
3921
3921
  }
3922
3922
  return res;
3923
3923
  }
3924
- `,Gy=`
3924
+ `,Zy=`
3925
3925
  s3mCustomOffset = vec3( 0.0 );
3926
3926
  s3mRot = mat3( 1.0 );
3927
3927
  s3mPivot = vec3( 0.0 );
@@ -3991,7 +3991,7 @@ void main() {
3991
3991
  }
3992
3992
  }
3993
3993
  objectNormal = normalize( s3mRot * objectNormal );
3994
- `,Ky=`
3994
+ `,Qy=`
3995
3995
  float s3mBatchElev = s3mBatchRaw();
3996
3996
  if ( uBatchTexActive > 0 && s3mBatchElev >= 0.0 ) {
3997
3997
  float s3mU = ( s3mBatchElev + 0.5 ) / uBatchTexWidth;
@@ -4005,7 +4005,7 @@ void main() {
4005
4005
  // 刚体旋转以 s3mPivot 为中心,再叠加自定义平移与选中拔高
4006
4006
  transformed = s3mRot * ( transformed - s3mPivot ) + s3mPivot + s3mCustomOffset;
4007
4007
  transformed.z += s3mSelElev * uSelElevation;
4008
- `,qy=`
4008
+ `,$y=`
4009
4009
  vec4 s3mWorld = vec4( transformed, 1.0 );
4010
4010
  #ifdef USE_INSTANCING
4011
4011
  s3mWorld = instanceMatrix * s3mWorld;
@@ -4030,7 +4030,7 @@ void main() {
4030
4030
  mat3 s3mNormMat = mat3( modelMatrix );
4031
4031
  #endif
4032
4032
  vWorldNormal = normalize( s3mNormMat * ( s3mRot * normal ) );
4033
- `,Jy=`
4033
+ `,eb=`
4034
4034
  #ifdef S3M_ATLAS
4035
4035
  varying vec4 vAtlasRect;
4036
4036
  uniform vec2 uAtlasDim;
@@ -4194,7 +4194,7 @@ void main() {
4194
4194
  vec3 p = abs( fract( vec3( h ) + k.xyz ) * 6.0 - vec3( 3.0 ) );
4195
4195
  return v * mix( vec3( 1.0 ), clamp( p - vec3( 1.0 ), 0.0, 1.0 ), s );
4196
4196
  }
4197
- `,Yy=`
4197
+ `,tb=`
4198
4198
  float s3mH = clamp( ( vWorldZ - uHeightMin ) / max( uHeightMax - uHeightMin, 0.001 ), 0.0, 1.0 );
4199
4199
  vec3 s3mBase = diffuseColor.rgb; // 已含 diffuse × map
4200
4200
  // 图层整体透明度(共享 uniform)+ 单瓦片淡入系数(逐材质),逐帧改都不产生重编译
@@ -4305,7 +4305,7 @@ void main() {
4305
4305
  // 压暗乘子放在最后:mode 分支会整体覆写 diffuseColor.rgb,
4306
4306
  // 放在前面会被覆盖掉。setMode 的 fade-through 就靠它。
4307
4307
  diffuseColor.rgb *= uFade;
4308
- `,Xy=`
4308
+ `,nb=`
4309
4309
  float s3mSelE = max( step( 0.0, uSelBatch ) * step( abs( s3mBatchId() - uSelBatch ), 0.5 ), uSelWhole );
4310
4310
  // glowOnly 模式下表面不自发光,只保留描边边框;其他模式下适度发光
4311
4311
  if ( uSelMode != 3 ) {
@@ -4315,13 +4315,13 @@ void main() {
4315
4315
  if ( uAmbientGain > 0.001 ) {
4316
4316
  totalEmissiveRadiance += diffuseColor.rgb * uAmbientGain;
4317
4317
  }
4318
- `,Zy=`
4318
+ `,rb=`
4319
4319
  #ifdef S3M_ATLAS_SEC
4320
4320
  // 官方 getTextureColorForS3M = firstColor(base) * secColor(bake),
4321
4321
  // 两套独立的 rect / 尺寸(实测 base 11 条、bake 1 条,条数并不相同)
4322
4322
  diffuseColor *= s3mAtlasUnit( vSecUv, vSecRect, uAtlasDim1, uSecMap );
4323
4323
  #endif
4324
- `,Qy=`
4324
+ `,ib=`
4325
4325
  attribute float aBatchId;
4326
4326
  uniform float uSelBatch;
4327
4327
  uniform float uSelWhole;
@@ -4420,14 +4420,14 @@ void main() {
4420
4420
  p.z += vSel * uElevation;
4421
4421
  gl_Position = projectionMatrix * modelViewMatrix * vec4( p, 1.0 );
4422
4422
  }
4423
- `,$y=`
4423
+ `,ab=`
4424
4424
  uniform vec3 uColor;
4425
4425
  varying float vSel;
4426
4426
  void main() {
4427
4427
  if ( vSel < 0.5 ) discard;
4428
4428
  gl_FragColor = vec4( uColor, 1.0 );
4429
4429
  }
4430
- `}));function tb(e){return e===`u8`?1:e===`u16`?2:4}function nb(e,t){switch(e){case`u8`:return new Uint8Array(t);case`u16`:return new Uint16Array(t);case`u32`:return new Uint32Array(t);default:return new Float32Array(t)}}function rb(e,t){switch(e){case`u8`:return new Uint8Array(t);case`u16`:return new Uint16Array(t);case`u32`:return new Uint32Array(t);default:return new Float32Array(t)}}function ib(e){let{data:t,stride:n,offsetInBytes:r,dtype:i=`f32`}=e,a=e.components??e.comp??3,o=tb(i),s=a*o,c=n??s,l=r??0,u=i===`u8`;if(c===s&&l===0)return{array:nb(i,t.buffer.slice(t.byteOffset,t.byteOffset+t.byteLength)),components:a,normalized:u};let d=Math.floor(t.byteLength/c),f=rb(i,d*a),p=new DataView(t.buffer,t.byteOffset,t.byteLength);for(let e=0;e<d;e++){let t=e*c+l;for(let n=0;n<a;n++){let r=t+n*o;f[e*a+n]=i===`u8`?p.getUint8(r):i===`u16`?p.getUint16(r,!0):i===`u32`?p.getUint32(r,!0):p.getFloat32(r,!0)}}return{array:f,components:a,normalized:u}}function ab(e,t){let n=new Float32Array(t*3);if(!e)return n.fill(1),n;let r=e.data,i=e.components??4,a=e.dtype===`u8`?1/255:1;for(let e=0;e<t;e++){let t=e*i;n[e*3]=(r[t]??255)*a,n[e*3+1]=(r[t+1]??255)*a,n[e*3+2]=(r[t+2]??255)*a}return n}function ob(e){let{indices:t,indexType:n,indexCount:r}=e;if(!t||r===0)return null;let i=Math.floor(t.byteLength/r),a=i===4||i!==2&&(n===1||n===3),o=r*(a?4:2);if(o>t.byteLength)return null;let s=t.buffer.slice(t.byteOffset,t.byteOffset+o);return a?new Uint32Array(s):new Uint16Array(s)}function sb(e,t,n){let r=new Float32Array(n*3),i=(t,n,i)=>{let a=e[t*3],o=e[t*3+1],s=e[t*3+2],c=e[n*3],l=e[n*3+1],u=e[n*3+2],d=e[i*3],f=e[i*3+1],p=e[i*3+2],m=c-a,h=l-o,g=u-s,_=d-a,v=f-o,y=p-s,b=h*y-g*v,x=g*_-m*y,S=m*v-h*_;for(let e of[t,n,i])r[e*3]+=b,r[e*3+1]+=x,r[e*3+2]+=S};if(t)for(let e=0;e+2<t.length;e+=3)i(t[e],t[e+1],t[e+2]);else for(let e=0;e+2<n;e+=3)i(e,e+1,e+2);for(let e=0;e<n;e++){let t=e*3,n=Math.hypot(r[t],r[t+1],r[t+2]);n>0&&(r[t]/=n,r[t+1]/=n,r[t+2]/=n)}return r}function cb(e,t){let n=[1/0,1/0,1/0],r=[-1/0,-1/0,-1/0];for(let i=0;i<t;i++)for(let t=0;t<3;t++){let a=e[i*3+t];a<n[t]&&(n[t]=a),a>r[t]&&(r[t]=a)}let i=[(n[0]+r[0])/2,(n[1]+r[1])/2,(n[2]+r[2])/2],a=0;for(let n=0;n<t;n++){let t=e[n*3]-i[0],r=e[n*3+1]-i[1],o=e[n*3+2]-i[2],s=t*t+r*r+o*o;s>a&&(a=s)}return{boxMin:n,boxMax:r,sphereCenter:i,sphereRadius:Math.sqrt(a)}}function lb(e){return vb.includes(e)}function ub(e){return!e||e[0]===1&&e[1]===0&&e[2]===0&&e[3]===0&&e[4]===0&&e[5]===1&&e[6]===0&&e[7]===0&&e[8]===0&&e[9]===0&&e[10]===1&&e[11]===0&&e[12]===0&&e[13]===0&&e[14]===0&&e[15]===1}function db(e,t,n,r,i){i[0]=e[0]*t+e[4]*n+e[8]*r+e[12],i[1]=e[1]*t+e[5]*n+e[9]*r+e[13],i[2]=e[2]*t+e[6]*n+e[10]*r+e[14]}function fb(e){let t=e[0],n=e[4],r=e[8],i=e[1],a=e[5],o=e[9],s=e[2],c=e[6],l=e[10],u=a*l-o*c,d=-(i*l-o*s),f=i*c-a*s,p=-(n*l-r*c),m=t*l-r*s,h=-(t*c-n*s),g=n*o-r*a,_=-(t*o-r*i),v=t*a-n*i,y=t*u+n*d+r*f||1e-12,b=[u/y,d/y,f/y,p/y,m/y,h/y,g/y,_/y,v/y],x=new Float32Array(9);return x[0]=b[0],x[1]=b[3],x[2]=b[6],x[3]=b[1],x[4]=b[4],x[5]=b[7],x[6]=b[2],x[7]=b[5],x[8]=b[8],x}function pb(e,t,n,r,i){i[0]=e[0]*t+e[3]*n+e[6]*r,i[1]=e[1]*t+e[4]*n+e[7]*r,i[2]=e[2]*t+e[5]*n+e[8]*r;let a=Math.hypot(i[0],i[1],i[2])||1;i[0]/=a,i[1]/=a,i[2]/=a}function mb(e){let t=0,n=0,r=!1,i=!1,a=!1,o=!1;for(let s of e)t+=s.vertexCount,n+=s.index?s.indexCount:s.vertexCount,s.attrs.normal&&(r=!0),s.attrs.uv&&(i=!0),s.attrs.uv1&&(a=!0),s.attrs.aAtlasRect&&(o=!0);let s={array:new Float32Array(t*3),components:3,normalized:!1},c=r?{array:new Float32Array(t*3),components:3,normalized:!1}:null,l=i?{array:new Float32Array(t*2),components:2,normalized:!1}:null,u=a?{array:new Float32Array(t*2),components:2,normalized:!1}:null,d={array:new Float32Array(t*3),components:3,normalized:!1},f={array:new Float32Array(t),components:1,normalized:!1},p=o?{array:new Float32Array(t*4),components:4,normalized:!1}:null,m=o?{array:new Float32Array(t*4),components:4,normalized:!1}:null,h=o?{array:new Float32Array(t*2),components:2,normalized:!1}:null,g=t>65535?new Uint32Array(n):new Uint16Array(n),_=[0,0,0],v=0,y=0;for(let t of e){let{attrs:e}=t,n=t.vertexCount,r=ub(t.matrix)?null:t.matrix,i=r&&c?fb(r):null,a=e.position.array,o=e.normal?.array,b=e.uv?.array,x=e.uv1?.array,S=e.aColor.array,C=e.aBatchId.array,w=s.array,T=c?.array,E=l?.array,D=u?.array,O=d.array,k=f.array;for(let e=0;e<n;e++){let t=v+e;r?(db(r,a[e*3],a[e*3+1],a[e*3+2],_),w[t*3]=_[0],w[t*3+1]=_[1],w[t*3+2]=_[2]):(w[t*3]=a[e*3],w[t*3+1]=a[e*3+1],w[t*3+2]=a[e*3+2]),T&&(o&&i?(pb(i,o[e*3],o[e*3+1],o[e*3+2],_),T[t*3]=_[0],T[t*3+1]=_[1],T[t*3+2]=_[2]):o&&(T[t*3]=o[e*3],T[t*3+1]=o[e*3+1],T[t*3+2]=o[e*3+2])),E&&b&&(E[t*2]=b[e*2],E[t*2+1]=b[e*2+1]),D&&x&&(D[t*2]=x[e*2],D[t*2+1]=x[e*2+1]),S?(O[t*3]=S[e*3],O[t*3+1]=S[e*3+1],O[t*3+2]=S[e*3+2]):(O[t*3]=1,O[t*3+1]=1,O[t*3+2]=1),k[t]=C?C[e]:-1}if(p){let t=e.aAtlasRect?.array,r=e.aAtlasRect1?.array,i=e.aSecUv?.array,a=p.array,o=m.array,s=h.array;for(let e=0;e<n;e++){let n=(v+e)*4;for(let i=0;i<4;i++)a[n+i]=t?t[e*4+i]??0:0,o[n+i]=r?r[e*4+i]??0:0;s[(v+e)*2]=i?i[e*2]??0:0,s[(v+e)*2+1]=i?i[e*2+1]??0:0}}if(t.index){for(let e=0;e<t.indexCount;e++)g[y+e]=t.index[e]+v;y+=t.indexCount}else{for(let e=0;e<n;e++)g[y+e]=e+v;y+=n}v+=n}let b=cb(s.array,t);return{skeletonName:e[0].name,geoNames:e.map(e=>e.name),primitiveType:4,passNames:e[0].passNames,matrix:null,vertexCount:t,indexCount:n,attributes:{position:s,normal:c??void 0,uv:l??void 0,uv1:u??void 0,aColor:d,aBatchId:f,aAtlasRect:p??void 0,aAtlasRect1:m??void 0,aSecUv:h??void 0},index:g,bounds:b,batchedFrom:e.length}}function hb(e,t,n,r){let i=t.vertexPackage,a=i.vertexAttributes.find(e=>e.semantic===`position`);if(!a)return r.push(`${e} 无 position`),null;let o=i.verticesCount||0,s={position:ib(a),aColor:{array:new Float32Array,components:3,normalized:!1},aBatchId:{array:new Float32Array,components:1,normalized:!1}},c=null,l=null,u=null,d=null,f=null;for(let e of i.vertexAttributes)e.divisor===void 0&&e.semantic!==`position`&&(e.semantic===`color`?c=e:e.semantic===`batchId`?l=e:e.semantic===`normal`?u=ib(e):e.semantic===`uv`?d=ib(e):e.semantic===`uv2`&&(f=ib(e)));s.aColor={array:ab(c,o),components:3,normalized:!1},s.aBatchId=l?{array:ib(l).array,components:1,normalized:!1}:{array:new Float32Array(o).fill(-1),components:1,normalized:!1},u&&(s.normal=u),d&&(s.uv=d),f&&(s.uv1=f);let p=n.atlasRects?.[e];p&&(s.aAtlasRect={array:p.uv??new Float32Array(o*4),components:4,normalized:!1},p.uv2&&f?(s.aAtlasRect1={array:p.uv2,components:4,normalized:!1},s.aSecUv={array:f.array,components:f.components,normalized:f.normalized}):(s.aAtlasRect1={array:new Float32Array(o*4),components:4,normalized:!1},s.aSecUv=s.uv??{array:new Float32Array(o*2),components:2,normalized:!1}));let m=t.indexPackages??[];return m.length===0&&o>0&&(m=[{indexCount:0,indexType:0,useIndex:0,primitiveType:yb,indices:null,passNames:[]}]),{attrs:s,packs:m,instanced:i.instanceIndex!==-1&&(i.instanceMode===16||i.instanceMode===17)}}function gb(e,t,n,r,i,a){let o=n.vertexPackage.verticesCount||0,s=ob(i),c={...r.attrs};return!lb(i.primitiveType)&&i.primitiveType!==yb&&!c.normal&&(c.normal={array:sb(c.position.array,s,o),components:3,normalized:!1}),{skeletonName:e,geoNames:[t],primitiveType:i.primitiveType,passNames:i.passNames??[],matrix:a,vertexCount:o,indexCount:i.indexCount||0,attributes:c,index:s,bounds:cb(c.position.array,o)}}function _b(e,t={}){let n=t.batching!==!1,r=[],i={vertices:0,instanced:0,edgeLines:0,skipped:r},a=new Map;for(let[t,n]of Object.entries(e.geoPackage??{})){let o=hb(t,n,e,r);o&&(a.set(t,o),i.vertices+=n.vertexPackage.verticesCount||0)}let o=[],s=new Map,c=0,l=e=>{lb(e.primitiveType)&&i.edgeLines++,o.push(e)},u=e=>{let t=e.passNames[0]??`__default__`,n=s.get(t);n||(n=[],s.set(t,n)),n.push(e)},d=(e,t,r,a,o)=>{let s=r.packs[a],d=r.instanced&&!!t.vertexPackage.instanceBuffer&&(t.vertexPackage.instanceCount??0)>0;lb(s.primitiveType)||d?(d&&i.instanced++,l(gb(e,e,t,r,s,o)),c++):n&&s.primitiveType===4?(u({attrs:r.attrs,index:ob(s),vertexCount:t.vertexPackage.verticesCount||0,indexCount:s.indexCount||0,name:e,geo:t,matrix:o,passNames:s.passNames??[],primitiveType:s.primitiveType}),c++):(l(gb(e,e,t,r,s,o)),c++)};for(let t of e.groupNode?.pageLods??[])for(let n of t.geodes??[]){let t=n.matrix&&n.matrix.length===16?n.matrix:null;for(let r of n.skeletonNames??[]){let n=a.get(r);if(!n)continue;let i=e.geoPackage[r];if(i)for(let e=0;e<n.packs.length;e++)d(r,i,n,e,t)}}if(c===0)for(let[t,n]of a){let r=e.geoPackage[t];if(r)for(let e=0;e<n.packs.length;e++)d(t,r,n,e,null)}if(s.size>0)for(let[,e]of s)if(i.originalMeshes=(i.originalMeshes??0)+e.length,e.length===1){let t=e[0];l(gb(t.name,t.name,t.geo,{attrs:t.attrs,packs:[],instanced:!1},{indexCount:t.indexCount,indexType:0,useIndex:1,primitiveType:t.primitiveType,indices:t.index?new Uint8Array(t.index.buffer,t.index.byteOffset,t.index.byteLength):null,passNames:t.passNames},t.matrix))}else l(mb(e));return{primitives:o,stats:i}}var vb,yb,bb=n((()=>{vb=[13,2,3],yb=1})),xb=i({LINE_PRIMITIVE:()=>13,POINT_PRIMITIVE:()=>1,buildTileObjects:()=>jb});function Sb(e){return e===13||e===2||e===3}function Cb(e){return e===1}function wb(){return Mb||(Mb=new dd({size:2,sizeAttenuation:!1,vertexColors:!0})),Mb}function Tb(e){if(!e)return[];if(Array.isArray(e))return e;let t=e,n=t.materials??t.material;return Array.isArray(n)?n:[]}function Eb(e){return e?.material??e}function Db(e){return e?.name??e?.id}function Ob(e){return(e?.textureStates??e?.textureunitstates??[]).map(e=>e?.textureunitstate??e).filter(e=>!!e)}function kb(e){return e.length===16&&e[0]===1&&e[1]===0&&e[2]===0&&e[3]===0&&e[4]===0&&e[5]===1&&e[6]===0&&e[7]===0&&e[8]===0&&e[9]===0&&e[10]===1&&e[11]===0&&e[12]===0&&e[13]===0&&e[14]===0&&e[15]===1}function Ab(e){let t=String(e?.cullMode??``).toUpperCase();return t===`CULL_BACK`||t===`BACKWARD`?0:t===`CULL_FRONT`?1:2}async function jb(e,t={}){let n=t.uniforms??Py(),r=t.textureCache??new Map,i=new Ml,a=[],o=[],s={meshes:0,vertices:0,triangles:0,textures:0,instanced:0,edgeLines:0,skipped:[]},c=new Qu({color:new W(t.edgeColor??`#1f2937`),transparent:!0,opacity:.75,depthWrite:!1});i.userData.hasNativeEdges=!1;let l=t=>{let n=e.textures?.[t];return n?.packKey?`${t}#${n.packKey}`:t};for(let[t,n]of Object.entries(e.textures??{})){let e=l(t),i=r.get(e);if(i){let t=i.image;if((t?.width??0)*(t?.height??0)>=(n.width??0)*(n.height??0))continue;r.delete(e)}let{texture:a,decoded:c}=await wy(n);a?(r.set(e,a),o.push(e),s.textures++):s.skipped.push(`texture ${t} → ${c}`)}let u=Tb(e.materials),d=(e,t=!1)=>{let i=Eb(u.find(t=>Db(Eb(t))===e)),a=Ob(i),o=a[0],s=o?r.get(l(Db(o)??o.id??``))??null:null,c=a[1],d=globalThis.__S3M_NO_BAKE===!0,f=t&&c&&!d?r.get(l(Db(c)??c.id??``))??null:null,p=o?.texmodmatrix??o?.matrix;if(s&&Array.isArray(p)&&p.length===16&&!kb(p)&&(s=s.clone(),s.matrixAutoUpdate=!1,s.matrix.set(p[0],p[4],p[12],p[1],p[5],p[13],0,0,1)),s&&o?.addressmode){let e=o.addressmode.u,t=o.addressmode.v;(e!==void 0||t!==void 0)&&(s.matrixAutoUpdate&&(s=s.clone()),e!==void 0&&(s.wrapS=e===0?Ir:z),t!==void 0&&(s.wrapT=t===0?Ir:z))}let m=i?.diffuse??{r:1,g:1,b:1,a:1},h=i?.alphaMode,g=[o,c].some(e=>/\.water$/i.test(String(Db(e)??e?.id??``))),_=h===`AM_BLEND`||(m.a??1)<.999||i?.transparentsorting===!0||g&&!s,v=typeof i?.shininess==`number`&&i.shininess>0?Math.max(.15,1-i.shininess/128):.95,y=s?.userData?.s3mHasAlpha?Math.max(i?.alphaCutoff??0,.01):0;return Fy({uniforms:n,map:s,color:g&&!s?Nb.clone():new W(m.r??1,m.g??1,m.b??1),side:Ab(i),transparent:_,opacity:g&&!s?.86:m.a??1,roughness:g&&!s?.12:v,alphaTest:y,atlas:t&&!!s,secMap:f})},f=t.assembled??_b(e,{batching:t.batching!==!1});s.vertices=f.stats.vertices,s.edgeLines=f.stats.edgeLines,s.instanced=f.stats.instanced,f.stats.originalMeshes!=null&&(s.originalMeshes=f.stats.originalMeshes),s.skipped.push(...f.stats.skipped);let p=new U,m=e=>{let t=new q;for(let[n,r]of Object.entries(e.attributes))r&&t.setAttribute(n,new G(r.array,r.components,r.normalized));return e.index?t.setIndex(new G(e.index,1)):t.setDrawRange(0,e.vertexCount),t.boundingBox=new ho(new H(...e.bounds.boxMin),new H(...e.bounds.boxMax)),t.boundingSphere=new Mo(new H(...e.bounds.sphereCenter),e.bounds.sphereRadius),t};for(let n of f.primitives){let r=m(n),o=e.geoPackage[n.geoNames[0]]??null,l=o?.vertexPackage,u=d(n.passNames[0],!!n.attributes.aAtlasRect),f=n.matrix&&n.matrix.length===16?new U().fromArray(n.matrix):null;if(Sb(n.primitiveType)){let e=new ld(r,c);e.visible=t.edges===!0,e.renderOrder=2,e.raycast=()=>{},e.userData.isEdgeLines=!0,e.userData.skeletonName=n.skeletonName,f&&!f.equals(p)&&f.decompose(e.position,e.quaternion,e.scale),i.add(e),a.push(e),i.userData.hasNativeEdges=!0;continue}if(Cb(n.primitiveType)){r.getAttribute(`color`)||r.setAttribute(`color`,r.getAttribute(`aColor`));let t=new gd(r,wb());t.userData.isPointCloud=!0,t.userData.skeletonName=n.skeletonName,t.userData.geoRef=o,t.userData.tileRef=e,t.userData.primitiveType=n.primitiveType,f&&!f.equals(p)&&f.decompose(t.position,t.quaternion,t.scale),i.add(t),a.push(t),s.meshes++;continue}let h;if(l&&l.instanceIndex!==-1&&(l.instanceMode===16||l.instanceMode===17)&&l.instanceBuffer&&(l.instanceCount??0)>0&&l){if(!r.getAttribute(`aInstanceBatchId`)){let e=l.instanceBatchIds,t=e&&e.length===l.instanceCount?e.slice():new Float32Array(l.instanceCount).fill(-1);r.setAttribute(`aInstanceBatchId`,new Du(t,1));let n=new Float32Array(l.instanceCount);for(let e=0;e<n.length;e++)n[e]=e;r.setAttribute(`aInstanceIndex`,new Du(n,1))}let e=new Fu(r,u,l.instanceCount);e.instanceMatrix.setUsage(Ea);let t=new U,n=new W,i=l.instanceMode,a=new Float32Array(l.instanceBuffer.buffer,l.instanceBuffer.byteOffset,l.instanceCount*i);for(let r=0;r<l.instanceCount;r++){let o=r*i;if(t.set(a[o+0],a[o+1],a[o+2],a[o+3],a[o+4],a[o+5],a[o+6],a[o+7],a[o+8],a[o+9],a[o+10],a[o+11],0,0,0,1),e.setMatrixAt(r,t),i>=16){let t=a[o+12],i=a[o+13],s=a[o+14];Number.isFinite(t)&&Number.isFinite(i)&&Number.isFinite(s)&&(n.setRGB(t,i,s),e.setColorAt(r,n))}}e.instanceMatrix.needsUpdate=!0,e.instanceColor&&(e.instanceColor.needsUpdate=!0),e.frustumCulled=!1,h=e}else h=new dc(r,u);if(f&&!f.equals(p)&&f.decompose(h.position,h.quaternion,h.scale),h.userData.skeletonName=n.skeletonName,h.userData.geoRef=o,h.userData.tileRef=e,h.userData.primitiveType=n.primitiveType,n.batchedFrom!=null&&n.batchedFrom>1){h.userData.isBatched=!0,h.userData.batchedCount=n.batchedFrom;let t=new Map;for(let r of n.geoNames){let n=e.geoPackage[r];if(n?.pickInfo)for(let e of Object.values(n.pickInfo))typeof e.batchId==`number`&&e.batchId>=0&&t.set(e.batchId,n)}t.size>0&&(h.userData.geoByBatchId=t)}i.add(h),a.push(h),s.meshes++,n.primitiveType===4&&(s.triangles+=n.indexCount/3)}return i.children.length||s.skipped.push(`tile 无可用几何`),i.userData.textureKeys=o,{group:i,stats:s,objects:a,textureKeys:o}}var Mb,Nb,Pb=n((()=>{rh(),Oy(),eb(),bb(),Mb=null,Nb=new W(1920611)}));uh();function Fb(e){return e.slice(0,e.lastIndexOf(`/`)+1)}function Ib(e){if(!e)return e;try{let t=typeof document<`u`?document.baseURI:void 0;return t?new URL(e,t).href:new URL(e).href}catch{return e}}function Lb(e,t){if(!t)return null;try{return Rb(new URL(t,e).href)}catch{return Rb(`${Fb(e)}${t}`)}}function Rb(e){if(!/[+ ]/.test(e))return e;let t=e.indexOf(`#`),n=t<0?``:e.slice(t),r=t<0?e:e.slice(0,t),i=r.indexOf(`?`),a=i<0?r:r.slice(0,i),o=i<0?``:r.slice(i);return`${a.replace(/\+/g,`%2B`).replace(/ /g,`%20`)}${o}${n}`}var zb=110540,Bb=111320;function Vb(e){if(!e||typeof e!=`object`)return null;let t=e;if(![t.left,t.bottom,t.right,t.top].every(e=>typeof e==`number`&&Number.isFinite(e)))return null;let{left:n,bottom:r,right:i,top:a}=t;return Math.abs(n)>180||Math.abs(i)>180||Math.abs(a)>90||Math.abs(r)>90||i===n&&a===r?null:{left:n,bottom:r,right:i,top:a}}function Hb(e,t){if(!t)return null;let n=t.replace(/\.(osgb|s3mb|s3m)$/i,`.s3m`),r=e.split(`/`),i=r.pop()??``,a=r.pop()??``,o=r.lastIndexOf(`datas`);return!i||!a||o<1?Lb(Fb(e),n):Rb(`${r[r.length-1]===`path`&&r[r.length-2]===`data`?`${r.join(`/`)}/${a}`:`${r.join(`/`)}/data/path/${a}`}/${n}`)}function Ub(e){let t=e.trim();if(t.startsWith(`<`)){let e=e=>{let n=RegExp(`<(?:[a-zA-Z0-9_-]+:)?${e}[^>]*>([^<]+)<\\/`,`i`).exec(t);return n?n[1].trim():null},n=t=>parseFloat(e(t)??``),r=n(`X`)||0,i=n(`Y`)||0,a=n(`Z`)||0,o=n(`Left`),s=n(`Right`),c=n(`Top`),l=n(`Bottom`);if(![o,s,c,l].every(Number.isFinite)){let e=n(`MinX`),t=n(`MaxX`),a=n(`MinY`),u=n(`MaxY`);if([e,t,a,u].every(Number.isFinite)&&r&&i){let n=Bb*Math.cos(i*Math.PI/180);n>1e-6&&(o=r+e/n,s=r+t/n,l=i+a/zb,c=i+u/zb)}}let u=t.matchAll(/<(?:[a-zA-Z0-9_-]+:)?FileName[^>]*>([^<]+)<\//gi),d=[];for(let e of u)d.push({url:e[1].trim()});let f=n(`MinHeight`),p=n(`MaxHeight`);return{fileType:e(`FileType`)??void 0,position:{x:r,y:i,z:a,units:`Degree`},geoBounds:{left:o,right:s,top:c,bottom:l},heightRange:Number.isFinite(f)||Number.isFinite(p)?{min:f,max:p}:void 0,rootTiles:d,tiles:d}}return JSON.parse(t)}var Wb=class{get heightRange(){let e=this.config?.heightRange;return e&&typeof e.min==`number`&&typeof e.max==`number`?{min:e.min,max:e.max}:null}constructor(e){X(this,`configUrl`,void 0),X(this,`config`,null),X(this,`_blockTileIndex`,null),X(this,`anchor`,{lon:0,lat:0,height:0}),X(this,`rootUrls`,[]),X(this,`nodes`,new Map),X(this,`failed`,new Set),X(this,`textureCache`,new Map),X(this,`maxImageCache`,void 0),X(this,`_textureRefs`,new Map),X(this,`_tileTextureKeys`,new Map),X(this,`pending`,new Set),X(this,`atlasLod`,void 0),X(this,`atlasLodCache`,new Map),X(this,`_groupCache`,new Map),X(this,`externalAtlasCache`,new Map),X(this,`leafRequestCache`,new Map),X(this,`_leafPending`,new Map),X(this,`atlasUpgraded`,new Set),X(this,`atlasUpgradeSkipped`,new Map),X(this,`stats`,{tiles:0,loading:0,failed:0,meshes:0,vertices:0,triangles:0,datasets:1}),X(this,`maxConcurrent`,void 0),X(this,`maxTiles`,void 0),X(this,`lodRangeScale`,void 0),X(this,`_onTile`,void 0),X(this,`_onTileRemoved`,void 0),X(this,`_onError`,void 0),X(this,`_onProgress`,void 0),X(this,`_maxRetries`,void 0),X(this,`_retryCount`,new Map),X(this,`_retryAt`,new Map),X(this,`_parentOf`,new Map),X(this,`_frame`,0),X(this,`_lodDbgOnce`,!1),X(this,`_permanentReported`,!1),X(this,`hardCap`,96),X(this,`isS3MV1`,!1),X(this,`_buildTile`,void 0),X(this,`_uniforms`,void 0),X(this,`_workerClient`,void 0),X(this,`_useWorker`,void 0),X(this,`_queue`,[]),X(this,`_active`,0),this.configUrl=e.configUrl,this.lodRangeScale=e.lodRangeScale??3,this._onTile=e.onTile??(()=>{}),this._onTileRemoved=e.onTileRemoved??(()=>{}),this._onError=e.onError??(e=>console.warn(e)),this._onProgress=e.onProgress??(()=>{}),this._maxRetries=Math.max(0,e.maxRetries??2),this._buildTile=e.buildTile??null,this._uniforms=e.uniforms??null,this._useWorker=e.useWorker!==!1,this.maxConcurrent=e.maxConcurrent??4,this.maxTiles=e.maxTiles??64,this.maxImageCache=e.maxImageCache??128,this.hardCap=this.maxTiles+Math.max(8,Math.ceil(this.maxTiles*.5)),this.atlasLod=e.atlasLod!==!1}async init(){this.configUrl=Ib(this.configUrl);let e=await fetch(this.configUrl);if(!e.ok)throw Error(`配置读取失败 ${e.status} ${this.configUrl}`);let t=Ub(await e.text());this.config=t,this.anchor=this._resolveAnchor(t);let n=t.rootTiles??t.tiles??[];if(!n.length)throw Error(`配置中缺少 root tile`);this.rootUrls.length=0;for(let e of n){let t=Lb(this.configUrl,e.url);t&&this.rootUrls.push(t)}if(this.isS3MV1=/OSGB/i.test(String(t.fileType??``))||/OSGB/i.test(String(t.dataType??``))||this.rootUrls.length>0&&this.rootUrls.every(e=>/\.s3m($|\?)/i.test(e)),this.rootUrls.every(e=>/\.s3mblock($|\?)/i.test(e))){this._blockTileIndex=new Set(this.rootUrls);for(let e of n){let t=Lb(this.configUrl,e.url);t&&this._blockTileIndex.add(t)}}await this._load(this.rootUrls[0]);for(let e of this.rootUrls.slice(1))this._enqueue(e);return this}_enqueue(e,t){if(!e||(t&&this._parentOf.set(e,t),this.nodes.has(e)||this.pending.has(e)||this.failed.has(e))||this._queue.includes(e))return;let n=this._retryAt.get(e);n!==void 0&&performance.now()<n||this.nodes.size+this.pending.size+this._queue.length>=this.hardCap||(this._queue.push(e),this._pump())}registerTileTextures(e,t){this._tileTextureKeys.set(e,t);let n=this.nodes.get(e);n&&(n.textureKeys=t);for(let e of t)this._textureRefs.set(e,(this._textureRefs.get(e)??0)+1)}_evictTileNode(e){this.nodes.delete(e.url),e.group?.parent?.remove(e.group),this._onTileRemoved(e),this._parentOf.delete(e.url),this.stats.tiles=Math.max(0,this.stats.tiles-1),e.stats&&(this.stats.meshes=Math.max(0,this.stats.meshes-(e.stats.meshes??0)),this.stats.vertices=Math.max(0,this.stats.vertices-(e.stats.vertices??0)),this.stats.triangles=Math.max(0,this.stats.triangles-(e.stats.triangles??0)));let t=e.textureKeys??this._tileTextureKeys.get(e.url)??e.group?.userData?.textureKeys;if(this._tileTextureKeys.delete(e.url),t?.length)for(let e of t){let t=(this._textureRefs.get(e)??1)-1;if(t<=0){this._textureRefs.delete(e);let t=this.textureCache.get(e);t&&(t.dispose?.(),this.textureCache.delete(e))}else this._textureRefs.set(e,t)}}putExternalAtlas(e,t){if(this.externalAtlasCache.size>=this.maxImageCache&&!this.externalAtlasCache.has(e)){let e=this.externalAtlasCache.keys().next().value;e!==void 0&&this.externalAtlasCache.delete(e)}Map.prototype.set.call(this.externalAtlasCache,e,t)}getExternalAtlas(e){return this.externalAtlasCache.get(e)}putLeafRecords(e,t){if(this.leafRequestCache.size>=this.maxImageCache&&!this.leafRequestCache.has(e)){let e=this.leafRequestCache.keys().next().value;e!==void 0&&this.leafRequestCache.delete(e)}Map.prototype.set.call(this.leafRequestCache,e,t)}getLeafRecords(e){return this.leafRequestCache.get(e)}_evictOne(e=!1){let t=this._pickVictim(!0,e)??this._pickVictim(!1,e);if(!t)return!1;let n=t.parentUrl??this._parentOf.get(t.url),r=t.childUrls??(t.childUrl?[t.childUrl]:[]);r.some(e=>e!==t.url&&this.nodes.has(e)),this._evictTileNode(t);let i=r.filter(e=>e!==t.url&&this.nodes.has(e));if(i.length){for(let e of i){let t=this.nodes.get(e);t&&(t.parentUrl=n??void 0,n?this._parentOf.set(e,n):this._parentOf.delete(e))}if(n){let e=this.nodes.get(n);if(e){let n=new Set(e.childUrls??[]);e.childUrl&&n.add(e.childUrl),n.delete(t.url);for(let e of i)n.add(e);e.childUrls=[...n],e.childUrl=e.childUrls[0]??null}}}return!0}_trimBudget(){let e=!1,t=0;for(;this.nodes.size+this.pending.size>this.maxTiles&&t++<=this.maxTiles+8&&this._evictOne(this.nodes.size+this.pending.size>this.hardCap);)e=!0;return e}_pickVictim(e,t=!1){let n=null;for(let r of this.nodes.values()){let i=r.childUrls??(r.childUrl?[r.childUrl]:[]);if((i.length>0&&i.some(e=>e!==r.url&&this.nodes.has(e)))!==e||!t&&r.group.visible&&!i.some(e=>{let t=this.nodes.get(e);return!!t&&t.group.visible}))continue;if(!n){n=r;continue}let a=r.lastSeen??-1,o=n.lastSeen??-1;(a<o||a===o&&(r.distance??0)>(n.distance??0))&&(n=r)}return n}retryFailed(){let e=this.failed.size;return this.failed.clear(),this._retryCount.clear(),this._retryAt.clear(),e}_pump(){for(;this._active<this.maxConcurrent&&this._queue.length;){let e=this._queue.shift();this._active++,this._load(e).finally(()=>{this._active--,this._pump()})}}_resolveAnchor(e){let t=e.position,n=t?.point3D??t,r=!!n&&Number.isFinite(n.x)&&Number.isFinite(n.y),i=Vb(e.geoBounds),a=i?(i.left+i.right)/2:void 0,o=i?(i.bottom+i.top)/2:void 0,s=n?.z??0;if(!r)return{lon:a??0,lat:o??0,height:0};if((t?.units??t?.unit??`Degree`)!==`Degree`)return{lon:n.x,lat:n.y,height:s};let c=a===void 0?0:Math.abs(n.x-a),l=o===void 0?0:Math.abs(n.y-o);return c>.5||l>.5?(console.warn(`[s3m] position 与 geoBounds 不一致,改用 geoBounds 中心作为锚点`,{position:n,geoBounds:i}),{lon:a,lat:o,height:s}):{lon:n.x,lat:n.y,height:s}}_pickLod(e){let t=e.groupNode?.pageLods??[];return t.length?t.find(e=>e.childTile&&e.rangeValue>0)??t[0]:null}async _builder(){if(!this._buildTile){let e=await Promise.resolve().then(()=>(Pb(),xb));this._buildTile=e.buildTileObjects}return this._buildTile}async _parseClassicTile(e){if(this._useWorker&&this._workerClient===void 0&&(this._workerClient=y_()),this._workerClient)try{return await this._workerClient.parseTile(e,!0)}catch(e){if(e instanceof g_)this._workerClient=null;else throw e}return{tile:await Zg(e)}}_rememberGroups(e,t){for(this._groupCache.delete(e),this._groupCache.set(e,t);this._groupCache.size>24;){let e=this._groupCache.keys().next().value;if(e===void 0)break;this._groupCache.delete(e)}}async _fillExternalAtlases(e,t){let n=e,r=n.texturePackage;if(!r)return;let i=B_(n),a=!1,o=new Map,s=new Map,c=[];for(let[e,t]of Object.entries(r)){let n=X_(t.requestNames);if(n.names.length){o.set(e,{tex:t,plan:n});for(let[e,t]of n.packGroups){let n=t.filter(e=>!this.leafRequestCache.has(e));if(!n.length)continue;let r=s.get(e)??[];for(let e of n)r.includes(e)||r.push(e);s.set(e,r)}for(let e of n.plain)!this.leafRequestCache.has(e)&&!c.includes(e)&&c.push(e)}}let l=[];for(let[e,n]of s){let r=null,i=()=>r??(r=this._fetchLeafPack(t,e,n));for(let e of n)l.push(this._ensureLeafFetch(e,i))}for(let e of c)l.push(this._ensureLeafFetch(e,()=>this._fetchLeafFile(t,e)));l.length&&await Promise.all(l);for(let[e,{tex:t,plan:n}]of o){let r=new Map;for(let e of n.names){let t=this.leafRequestCache.get(e);if(t)for(let n of t)r.set(n.id,{source:e,image:n})}let i=Z_(t,r);if(i){let n=t;n.composed=!0,n.leafSig=i.sig,n.flipY=!1,t.data=i.data,t.compressType=0,t.pixelFormat=28,t.width=i.width,t.height=i.height,t.rectScale=1,this.atlasUpgraded.add(e),a=!0,(i.missing.length||i.mismatched.length)&&console.warn(`[s3m] leaf 图集部分精灵异常:`,e,{missing:i.missing,mismatched:i.mismatched});continue}let o=!!t.data,s=n=>{if(!o){let r=t.width/t.height,i=n.width/n.height;return Math.abs(i/r-1)<=.02||(this.atlasUpgradeSkipped.set(e,`aspect(no-baseline) ${t.width}x${t.height} vs ${n.width}x${n.height}`),!1)}let r=uv(t,n);return r.ok?!0:(this.atlasUpgradeSkipped.set(e,`${r.reason} aspectΔ=${(r.aspectDelta*100).toFixed(1)}% scale=${r.scale} err=${Number.isNaN(r.meanAbsError)?`n/a`:r.meanAbsError.toFixed(1)}`),!1)},c=n=>{let r=t;r.composed=!1,r.leafSig=void 0,r.flipY=!0,t.data=n.data,t.compressType=n.compressType,t.pixelFormat=n.pixelFormat,t.rectScale=t.width>0?n.width/t.width:1,t.width=n.width||t.width,t.height=n.height||t.height,this.atlasUpgraded.add(e),a=!0},l=this.externalAtlasCache.get(e);if(l!==null){if(l===void 0){l=null;for(let e of n.plain){let t=this.leafRequestCache.get(e);if(t?.length){l=t[0];break}}this.putExternalAtlas(e,l)}l?s(l)&&c(l):this.atlasUpgradeSkipped.has(e)||this.atlasUpgradeSkipped.set(e,`no usable external image(请求失败或只拿到子精灵)`)}}(i||a)&&V_(n)}_ensureLeafFetch(e,t){if(this.leafRequestCache.has(e))return Promise.resolve();let n=this._leafPending.get(e);if(n)return n;let r=t().finally(()=>this._leafPending.delete(e));return this._leafPending.set(e,r),r}async _fetchLeafPack(e,t,n){let r=Lb(Fb(e),`${n[0]}.texblock?extratiles=${n.join(`;`)}`);try{if(!r)throw Error(`无法拼出 URL`);let e=await fetch(r);if(!e.ok)throw Error(`HTTP ${e.status}`);let t=await W_(await e.arrayBuffer());if(t.length!==n.length)throw Error(`pack 段数 ${t.length} ≠ 请求名 ${n.length}`);n.forEach((e,n)=>this.putLeafRecords(e,t[n]))}catch(e){console.warn(`[s3m] leaf pack 请求失败:`,r,e);for(let e of n)this.leafRequestCache.has(e)||this.putLeafRecords(e,null)}}async _fetchLeafFile(e,t){let n=Lb(Fb(e),`${t}.texblock`);try{if(!n)throw Error(`无法拼出 URL`);let e=await fetch(n);if(!e.ok)throw Error(`HTTP ${e.status}`);let r=(await W_(await e.arrayBuffer())).flat();this.putLeafRecords(t,r)}catch(e){console.warn(`[s3m] leaf texblock 请求失败:`,n,e),this.leafRequestCache.has(t)||this.putLeafRecords(t,null)}}async _upgradeAtlasLod(e,t){}async _load(e){if(!(this.nodes.has(e)||this.pending.has(e)||this.failed.has(e))){this.pending.add(e),this.stats.loading++;try{let t=e.indexOf(`#`),n=t>=0?e.slice(0,t):e,r=t>=0&&Number(e.slice(t+1))||0,i=/\.s3mblock($|\?)/i.test(n),a,o,s=[],c=this._groupCache.get(n);if(c)s=c.names,a=c.tiles[r]??c.tiles[0];else{let e=await fetch(n);if(!e.ok)throw Error(`HTTP ${e.status} 加载瓦片失败: ${n}`);if((e.headers.get(`content-type`)||``).includes(`text/html`))throw Error(`瓦片请求返回了 HTML 页面(通常为 404/500 服务端拦截): ${n}`);let t=await e.arrayBuffer();if(i){let e=await Q_(t);this._rememberGroups(n,e),s=e.names,a=e.tiles[r]??e.tiles[0]}else{let e=await this._parseClassicTile(t);a=e.tile,o=e.geometry}}i&&(await this._fillExternalAtlases(a,n),await this._upgradeAtlasLod(a,n));let l=await(await this._builder())(a,{textureCache:this.textureCache,uniforms:this._uniforms,assembled:o}),{group:u,stats:d}=l,f=l.textureKeys??u.userData?.textureKeys??Object.keys(a.textures??{});this.registerTileTextures(e,f);let p=this._pickLod(a),m=[];for(let t of a.groupNode?.pageLods??[]){let r=String(t.childTile??``).replace(/\.s3mblock$/i,``),a=i&&r?s.indexOf(r):-1,o=a>=0?`${n}#${a}`:this.isS3MV1?Hb(e,t.childTile):Lb(Fb(e),t.childTile);o&&o!==e&&!m.includes(o)&&m.push(o)}let h={url:e,tile:a,group:u,sphere:p?.boundingSphere??null,rangeValue:p?.rangeValue??0,rangeMode:p?.rangeMode??1,childUrl:m[0]??(this.isS3MV1?Hb(e,p?.childTile):Lb(Fb(e),p?.childTile)),childUrls:m,parentUrl:this._parentOf.get(e),state:`ready`,stats:{meshes:d.meshes??0,vertices:d.vertices??0,triangles:d.triangles??0}};this.nodes.set(e,h),this.stats.tiles++,this.stats.meshes+=d.meshes??0,this.stats.vertices+=d.vertices??0,this.stats.triangles+=d.triangles??0,this._onTile(h)}catch(t){let n=t?.permanent===!0,r=(this._retryCount.get(e)??0)+1;if(this._retryCount.set(e,r),!n&&r<=this._maxRetries)this._retryAt.set(e,performance.now()+800*r);else{this.stats.failed++,this.failed.add(e),this._retryAt.delete(e);let t=this._parentOf.get(e),n=t?this.nodes.get(t):void 0;n?.childUrls&&(n.childUrls=n.childUrls.filter(t=>t!==e),n.childUrl=n.childUrls[0]??null)}n?this._permanentReported||(this._permanentReported=!0,this._onError(t)):this._onError(t)}finally{this.pending.delete(e),this.stats.loading--,this._onProgress(this.stats)}}}update(e,t,n){this._frame++;let r=!1;for(let t of this.nodes.values()){var i;if(!t.sphere){t.needRefine=!1;continue}let a=t.sphere.center,o=a.x-e[0],s=a.y-e[1],c=a.z-e[2],l=Math.sqrt(o*o+s*s+c*c)||1e-6;t.distance=l;let u,d=t.rangeMode===0;u=d?l:n*.5/Math.tan(Math.PI/8)*(t.sphere.radius/l)*2;let f=this.lodRangeScale>0?this.lodRangeScale:1,p=t.rangeValue*f;(d?l<p*2:u>p*.5)&&(t.lastSeen=this._frame);let m=t.childUrls??(t.childUrl?[t.childUrl]:[]),h=t.needRefine?d?1.08:.92:1,g=m.length>0&&(d?u<p*h:u>p*h);t.needRefine=g;let _=(i=globalThis).__S3M_LOD_SEEN??(i.__S3M_LOD_SEEN=new Set);if(globalThis.__S3M_LOD_DEBUG&&!_.has(t.url)&&_.size<260&&(_.add(t.url),console.log(`[LOD]`,JSON.stringify({url:t.url.split(`/`).pop(),mode:t.rangeMode,rangeValue:t.rangeValue,radius:t.sphere.radius,dist:+l.toFixed(1),metric:+u.toFixed(1),threshold:+p.toFixed(1),needRefine:g,childUrls:m.map(e=>e.split(`/`).pop()),parent:t.parentUrl?t.parentUrl.split(`/`).pop():null}))),g)for(let e of m)this.failed.has(e)||this.nodes.has(e)||this.pending.has(e)||(this._enqueue(e,t.url),r=!0)}let a=new Set,o=new Set(this.rootUrls);for(let[e,t]of this.nodes){let n=t.parentUrl??this._parentOf.get(e);n&&this.nodes.has(n)||o.add(e)}for(let e of o)this._updateNodeVisibility(e,!0,a)&&(r=!0);for(let[e,t]of this.nodes)a.has(e)||t.group.visible&&(t.group.visible=!1,r=!0);this._trimBudget()&&(r=!0);let s=!1;for(let e of this.nodes.values())if(e.group.visible){s=!0;break}if(!s&&this.nodes.size>0)for(let e of this.nodes.values())!(e.childUrls??(e.childUrl?[e.childUrl]:[])).some(t=>{let n=this.nodes.get(t);return!!n&&n!==e&&n.group.visible})&&!e.group.visible&&(e.group.visible=!0,r=!0);return r}_updateNodeVisibility(e,t,n){let r=this.nodes.get(e);if(!r||n.has(e))return!1;n.add(e);let i=!1,a=r.childUrls??(r.childUrl?[r.childUrl]:[]);if(!t){r.group.visible&&(r.group.visible=!1,i=!0);for(let e of a)this._updateNodeVisibility(e,!1,n)&&(i=!0);return i}let o=a.length>0,s=a.filter(e=>this.nodes.has(e)),c=a.every(e=>this.nodes.has(e)||this.failed.has(e));if(r.needRefine&&o&&s.length>0&&c){r.group.visible&&(r.group.visible=!1,i=!0);for(let e of a)this._updateNodeVisibility(e,!0,n)&&(i=!0)}else{r.group.visible||(r.group.visible=!0,i=!0);for(let e of a)this._updateNodeVisibility(e,!1,n)&&(i=!0)}return i}dispose(){this._workerClient?.dispose();for(let e of this.nodes.values())e.group.traverse(e=>{let t=e;t.geometry?.dispose?.(),Array.isArray(t.material)?t.material.forEach(e=>e.dispose?.()):t.material?.dispose?.()});for(let e of this.textureCache.values())e.dispose?.();this.textureCache.clear(),this.nodes.clear()}};rh(),eb();var Gb=2;function Kb(e){return e===Ly.SOLID?`solid`:e===Ly.HEIGHT?`height`:`vertex`}var qb=`
4430
+ `}));function sb(e){return e===`u8`?1:e===`u16`?2:4}function cb(e,t){switch(e){case`u8`:return new Uint8Array(t);case`u16`:return new Uint16Array(t);case`u32`:return new Uint32Array(t);default:return new Float32Array(t)}}function lb(e,t){switch(e){case`u8`:return new Uint8Array(t);case`u16`:return new Uint16Array(t);case`u32`:return new Uint32Array(t);default:return new Float32Array(t)}}function ub(e){let{data:t,stride:n,offsetInBytes:r,dtype:i=`f32`}=e,a=e.components??e.comp??3,o=sb(i),s=a*o,c=n??s,l=r??0,u=i===`u8`;if(c===s&&l===0)return{array:cb(i,t.buffer.slice(t.byteOffset,t.byteOffset+t.byteLength)),components:a,normalized:u};let d=Math.floor(t.byteLength/c),f=lb(i,d*a),p=new DataView(t.buffer,t.byteOffset,t.byteLength);for(let e=0;e<d;e++){let t=e*c+l;for(let n=0;n<a;n++){let r=t+n*o;f[e*a+n]=i===`u8`?p.getUint8(r):i===`u16`?p.getUint16(r,!0):i===`u32`?p.getUint32(r,!0):p.getFloat32(r,!0)}}return{array:f,components:a,normalized:u}}function db(e,t){let n=new Float32Array(t*3);if(!e)return n.fill(1),n;let r=e.data,i=e.components??4,a=e.dtype===`u8`?1/255:1;for(let e=0;e<t;e++){let t=e*i;n[e*3]=(r[t]??255)*a,n[e*3+1]=(r[t+1]??255)*a,n[e*3+2]=(r[t+2]??255)*a}return n}function fb(e){let{indices:t,indexType:n,indexCount:r}=e;if(!t||r===0)return null;let i=Math.floor(t.byteLength/r),a=i===4||i!==2&&(n===1||n===3),o=r*(a?4:2);if(o>t.byteLength)return null;let s=t.buffer.slice(t.byteOffset,t.byteOffset+o);return a?new Uint32Array(s):new Uint16Array(s)}function pb(e,t,n){let r=new Float32Array(n*3),i=(t,n,i)=>{let a=e[t*3],o=e[t*3+1],s=e[t*3+2],c=e[n*3],l=e[n*3+1],u=e[n*3+2],d=e[i*3],f=e[i*3+1],p=e[i*3+2],m=c-a,h=l-o,g=u-s,_=d-a,v=f-o,y=p-s,b=h*y-g*v,x=g*_-m*y,S=m*v-h*_;for(let e of[t,n,i])r[e*3]+=b,r[e*3+1]+=x,r[e*3+2]+=S};if(t)for(let e=0;e+2<t.length;e+=3)i(t[e],t[e+1],t[e+2]);else for(let e=0;e+2<n;e+=3)i(e,e+1,e+2);for(let e=0;e<n;e++){let t=e*3,n=Math.hypot(r[t],r[t+1],r[t+2]);n>0&&(r[t]/=n,r[t+1]/=n,r[t+2]/=n)}return r}function mb(e,t){let n=[1/0,1/0,1/0],r=[-1/0,-1/0,-1/0];for(let i=0;i<t;i++)for(let t=0;t<3;t++){let a=e[i*3+t];a<n[t]&&(n[t]=a),a>r[t]&&(r[t]=a)}let i=[(n[0]+r[0])/2,(n[1]+r[1])/2,(n[2]+r[2])/2],a=0;for(let n=0;n<t;n++){let t=e[n*3]-i[0],r=e[n*3+1]-i[1],o=e[n*3+2]-i[2],s=t*t+r*r+o*o;s>a&&(a=s)}return{boxMin:n,boxMax:r,sphereCenter:i,sphereRadius:Math.sqrt(a)}}function hb(e){return wb.includes(e)}function gb(e){return!e||e[0]===1&&e[1]===0&&e[2]===0&&e[3]===0&&e[4]===0&&e[5]===1&&e[6]===0&&e[7]===0&&e[8]===0&&e[9]===0&&e[10]===1&&e[11]===0&&e[12]===0&&e[13]===0&&e[14]===0&&e[15]===1}function _b(e,t,n,r,i){i[0]=e[0]*t+e[4]*n+e[8]*r+e[12],i[1]=e[1]*t+e[5]*n+e[9]*r+e[13],i[2]=e[2]*t+e[6]*n+e[10]*r+e[14]}function vb(e){let t=e[0],n=e[4],r=e[8],i=e[1],a=e[5],o=e[9],s=e[2],c=e[6],l=e[10],u=a*l-o*c,d=-(i*l-o*s),f=i*c-a*s,p=-(n*l-r*c),m=t*l-r*s,h=-(t*c-n*s),g=n*o-r*a,_=-(t*o-r*i),v=t*a-n*i,y=t*u+n*d+r*f||1e-12,b=[u/y,d/y,f/y,p/y,m/y,h/y,g/y,_/y,v/y],x=new Float32Array(9);return x[0]=b[0],x[1]=b[3],x[2]=b[6],x[3]=b[1],x[4]=b[4],x[5]=b[7],x[6]=b[2],x[7]=b[5],x[8]=b[8],x}function yb(e,t,n,r,i){i[0]=e[0]*t+e[3]*n+e[6]*r,i[1]=e[1]*t+e[4]*n+e[7]*r,i[2]=e[2]*t+e[5]*n+e[8]*r;let a=Math.hypot(i[0],i[1],i[2])||1;i[0]/=a,i[1]/=a,i[2]/=a}function bb(e){let t=0,n=0,r=!1,i=!1,a=!1,o=!1;for(let s of e)t+=s.vertexCount,n+=s.index?s.indexCount:s.vertexCount,s.attrs.normal&&(r=!0),s.attrs.uv&&(i=!0),s.attrs.uv1&&(a=!0),s.attrs.aAtlasRect&&(o=!0);let s={array:new Float32Array(t*3),components:3,normalized:!1},c=r?{array:new Float32Array(t*3),components:3,normalized:!1}:null,l=i?{array:new Float32Array(t*2),components:2,normalized:!1}:null,u=a?{array:new Float32Array(t*2),components:2,normalized:!1}:null,d={array:new Float32Array(t*3),components:3,normalized:!1},f={array:new Float32Array(t),components:1,normalized:!1},p=o?{array:new Float32Array(t*4),components:4,normalized:!1}:null,m=o?{array:new Float32Array(t*4),components:4,normalized:!1}:null,h=o?{array:new Float32Array(t*2),components:2,normalized:!1}:null,g=t>65535?new Uint32Array(n):new Uint16Array(n),_=[0,0,0],v=0,y=0;for(let t of e){let{attrs:e}=t,n=t.vertexCount,r=gb(t.matrix)?null:t.matrix,i=r&&c?vb(r):null,a=e.position.array,o=e.normal?.array,b=e.uv?.array,x=e.uv1?.array,S=e.aColor.array,C=e.aBatchId.array,w=s.array,T=c?.array,E=l?.array,D=u?.array,O=d.array,k=f.array;for(let e=0;e<n;e++){let t=v+e;r?(_b(r,a[e*3],a[e*3+1],a[e*3+2],_),w[t*3]=_[0],w[t*3+1]=_[1],w[t*3+2]=_[2]):(w[t*3]=a[e*3],w[t*3+1]=a[e*3+1],w[t*3+2]=a[e*3+2]),T&&(o&&i?(yb(i,o[e*3],o[e*3+1],o[e*3+2],_),T[t*3]=_[0],T[t*3+1]=_[1],T[t*3+2]=_[2]):o&&(T[t*3]=o[e*3],T[t*3+1]=o[e*3+1],T[t*3+2]=o[e*3+2])),E&&b&&(E[t*2]=b[e*2],E[t*2+1]=b[e*2+1]),D&&x&&(D[t*2]=x[e*2],D[t*2+1]=x[e*2+1]),S?(O[t*3]=S[e*3],O[t*3+1]=S[e*3+1],O[t*3+2]=S[e*3+2]):(O[t*3]=1,O[t*3+1]=1,O[t*3+2]=1),k[t]=C?C[e]:-1}if(p){let t=e.aAtlasRect?.array,r=e.aAtlasRect1?.array,i=e.aSecUv?.array,a=p.array,o=m.array,s=h.array;for(let e=0;e<n;e++){let n=(v+e)*4;for(let i=0;i<4;i++)a[n+i]=t?t[e*4+i]??0:0,o[n+i]=r?r[e*4+i]??0:0;s[(v+e)*2]=i?i[e*2]??0:0,s[(v+e)*2+1]=i?i[e*2+1]??0:0}}if(t.index){for(let e=0;e<t.indexCount;e++)g[y+e]=t.index[e]+v;y+=t.indexCount}else{for(let e=0;e<n;e++)g[y+e]=e+v;y+=n}v+=n}let b=mb(s.array,t);return{skeletonName:e[0].name,geoNames:e.map(e=>e.name),primitiveType:4,passNames:e[0].passNames,matrix:null,vertexCount:t,indexCount:n,attributes:{position:s,normal:c??void 0,uv:l??void 0,uv1:u??void 0,aColor:d,aBatchId:f,aAtlasRect:p??void 0,aAtlasRect1:m??void 0,aSecUv:h??void 0},index:g,bounds:b,batchedFrom:e.length}}function xb(e,t,n,r){let i=t.vertexPackage,a=i.vertexAttributes.find(e=>e.semantic===`position`);if(!a)return r.push(`${e} 无 position`),null;let o=i.verticesCount||0,s={position:ub(a),aColor:{array:new Float32Array,components:3,normalized:!1},aBatchId:{array:new Float32Array,components:1,normalized:!1}},c=null,l=null,u=null,d=null,f=null;for(let e of i.vertexAttributes)e.divisor===void 0&&e.semantic!==`position`&&(e.semantic===`color`?c=e:e.semantic===`batchId`?l=e:e.semantic===`normal`?u=ub(e):e.semantic===`uv`?d=ub(e):e.semantic===`uv2`&&(f=ub(e)));s.aColor={array:db(c,o),components:3,normalized:!1},s.aBatchId=l?{array:ub(l).array,components:1,normalized:!1}:{array:new Float32Array(o).fill(-1),components:1,normalized:!1},u&&(s.normal=u),d&&(s.uv=d),f&&(s.uv1=f);let p=n.atlasRects?.[e];p&&(s.aAtlasRect={array:p.uv??new Float32Array(o*4),components:4,normalized:!1},p.uv2&&f?(s.aAtlasRect1={array:p.uv2,components:4,normalized:!1},s.aSecUv={array:f.array,components:f.components,normalized:f.normalized}):(s.aAtlasRect1={array:new Float32Array(o*4),components:4,normalized:!1},s.aSecUv=s.uv??{array:new Float32Array(o*2),components:2,normalized:!1}));let m=t.indexPackages??[];return m.length===0&&o>0&&(m=[{indexCount:0,indexType:0,useIndex:0,primitiveType:Tb,indices:null,passNames:[]}]),{attrs:s,packs:m,instanced:i.instanceIndex!==-1&&(i.instanceMode===16||i.instanceMode===17)}}function Sb(e,t,n,r,i,a){let o=n.vertexPackage.verticesCount||0,s=fb(i),c={...r.attrs};return!hb(i.primitiveType)&&i.primitiveType!==Tb&&!c.normal&&(c.normal={array:pb(c.position.array,s,o),components:3,normalized:!1}),{skeletonName:e,geoNames:[t],primitiveType:i.primitiveType,passNames:i.passNames??[],matrix:a,vertexCount:o,indexCount:i.indexCount||0,attributes:c,index:s,bounds:mb(c.position.array,o)}}function Cb(e,t={}){let n=t.batching!==!1,r=[],i={vertices:0,instanced:0,edgeLines:0,skipped:r},a=new Map;for(let[t,n]of Object.entries(e.geoPackage??{})){let o=xb(t,n,e,r);o&&(a.set(t,o),i.vertices+=n.vertexPackage.verticesCount||0)}let o=[],s=new Map,c=0,l=e=>{hb(e.primitiveType)&&i.edgeLines++,o.push(e)},u=e=>{let t=e.passNames[0]??`__default__`,n=s.get(t);n||(n=[],s.set(t,n)),n.push(e)},d=(e,t,r,a,o)=>{let s=r.packs[a],d=r.instanced&&!!t.vertexPackage.instanceBuffer&&(t.vertexPackage.instanceCount??0)>0;hb(s.primitiveType)||d?(d&&i.instanced++,l(Sb(e,e,t,r,s,o)),c++):n&&s.primitiveType===4?(u({attrs:r.attrs,index:fb(s),vertexCount:t.vertexPackage.verticesCount||0,indexCount:s.indexCount||0,name:e,geo:t,matrix:o,passNames:s.passNames??[],primitiveType:s.primitiveType}),c++):(l(Sb(e,e,t,r,s,o)),c++)};for(let t of e.groupNode?.pageLods??[])for(let n of t.geodes??[]){let t=n.matrix&&n.matrix.length===16?n.matrix:null;for(let r of n.skeletonNames??[]){let n=a.get(r);if(!n)continue;let i=e.geoPackage[r];if(i)for(let e=0;e<n.packs.length;e++)d(r,i,n,e,t)}}if(c===0)for(let[t,n]of a){let r=e.geoPackage[t];if(r)for(let e=0;e<n.packs.length;e++)d(t,r,n,e,null)}if(s.size>0)for(let[,e]of s)if(i.originalMeshes=(i.originalMeshes??0)+e.length,e.length===1){let t=e[0];l(Sb(t.name,t.name,t.geo,{attrs:t.attrs,packs:[],instanced:!1},{indexCount:t.indexCount,indexType:0,useIndex:1,primitiveType:t.primitiveType,indices:t.index?new Uint8Array(t.index.buffer,t.index.byteOffset,t.index.byteLength):null,passNames:t.passNames},t.matrix))}else l(bb(e));return{primitives:o,stats:i}}var wb,Tb,Eb=n((()=>{wb=[13,2,3],Tb=1})),Db=i({LINE_PRIMITIVE:()=>13,POINT_PRIMITIVE:()=>1,buildTileObjects:()=>Lb});function Ob(e){return e===13||e===2||e===3}function kb(e){return e===1}function Ab(){return Rb||(Rb=new dd({size:2,sizeAttenuation:!1,vertexColors:!0})),Rb}function jb(e){if(!e)return[];if(Array.isArray(e))return e;let t=e,n=t.materials??t.material;return Array.isArray(n)?n:[]}function Mb(e){return e?.material??e}function Nb(e){return e?.name??e?.id}function Pb(e){return(e?.textureStates??e?.textureunitstates??[]).map(e=>e?.textureunitstate??e).filter(e=>!!e)}function Fb(e){return e.length===16&&e[0]===1&&e[1]===0&&e[2]===0&&e[3]===0&&e[4]===0&&e[5]===1&&e[6]===0&&e[7]===0&&e[8]===0&&e[9]===0&&e[10]===1&&e[11]===0&&e[12]===0&&e[13]===0&&e[14]===0&&e[15]===1}function Ib(e){let t=String(e?.cullMode??``).toUpperCase();return t===`CULL_BACK`||t===`BACKWARD`?0:t===`CULL_FRONT`?1:2}async function Lb(e,t={}){let n=t.uniforms??By(),r=t.textureCache??new Map,i=new Ml,a=[],o=[],s={meshes:0,vertices:0,triangles:0,textures:0,instanced:0,edgeLines:0,skipped:[]},c=new Qu({color:new W(t.edgeColor??`#1f2937`),transparent:!0,opacity:.75,depthWrite:!1});i.userData.hasNativeEdges=!1;let l=t=>{let n=e.textures?.[t];return n?.packKey?`${t}#${n.packKey}`:t};for(let[t,n]of Object.entries(e.textures??{})){let e=l(t),i=r.get(e);if(i){let t=i.image;if((t?.width??0)*(t?.height??0)>=(n.width??0)*(n.height??0))continue;r.delete(e)}let{texture:a,decoded:c}=await Oy(n);a?(r.set(e,a),o.push(e),s.textures++):s.skipped.push(`texture ${t} → ${c}`)}let u=jb(e.materials),d=(e,t=!1)=>{let i=Mb(u.find(t=>Nb(Mb(t))===e)),a=Pb(i),o=a[0],s=o?r.get(l(Nb(o)??o.id??``))??null:null,c=a[1],d=globalThis.__S3M_NO_BAKE===!0,f=t&&c&&!d?r.get(l(Nb(c)??c.id??``))??null:null,p=o?.texmodmatrix??o?.matrix;if(s&&Array.isArray(p)&&p.length===16&&!Fb(p)&&(s=s.clone(),s.matrixAutoUpdate=!1,s.matrix.set(p[0],p[4],p[12],p[1],p[5],p[13],0,0,1)),s&&o?.addressmode){let e=o.addressmode.u,t=o.addressmode.v;(e!==void 0||t!==void 0)&&(s.matrixAutoUpdate&&(s=s.clone()),e!==void 0&&(s.wrapS=e===0?Ir:z),t!==void 0&&(s.wrapT=t===0?Ir:z))}let m=i?.diffuse??{r:1,g:1,b:1,a:1},h=i?.alphaMode,g=[o,c].some(e=>/\.water$/i.test(String(Nb(e)??e?.id??``))),_=h===`AM_BLEND`||(m.a??1)<.999||i?.transparentsorting===!0||g&&!s,v=typeof i?.shininess==`number`&&i.shininess>0?Math.max(.15,1-i.shininess/128):.95,y=s?.userData?.s3mHasAlpha?Math.max(i?.alphaCutoff??0,.01):0;return Vy({uniforms:n,map:s,color:g&&!s?zb.clone():new W(m.r??1,m.g??1,m.b??1),side:Ib(i),transparent:_,opacity:g&&!s?.86:m.a??1,roughness:g&&!s?.12:v,alphaTest:y,atlas:t&&!!s,secMap:f})},f=t.assembled??Cb(e,{batching:t.batching!==!1});s.vertices=f.stats.vertices,s.edgeLines=f.stats.edgeLines,s.instanced=f.stats.instanced,f.stats.originalMeshes!=null&&(s.originalMeshes=f.stats.originalMeshes),s.skipped.push(...f.stats.skipped);let p=new U,m=e=>{let t=new q;for(let[n,r]of Object.entries(e.attributes))r&&t.setAttribute(n,new G(r.array,r.components,r.normalized));return e.index?t.setIndex(new G(e.index,1)):t.setDrawRange(0,e.vertexCount),t.boundingBox=new ho(new H(...e.bounds.boxMin),new H(...e.bounds.boxMax)),t.boundingSphere=new Mo(new H(...e.bounds.sphereCenter),e.bounds.sphereRadius),t};for(let n of f.primitives){let r=m(n),o=e.geoPackage[n.geoNames[0]]??null,l=o?.vertexPackage,u=d(n.passNames[0],!!n.attributes.aAtlasRect),f=n.matrix&&n.matrix.length===16?new U().fromArray(n.matrix):null;if(Ob(n.primitiveType)){let e=new ld(r,c);e.visible=t.edges===!0,e.renderOrder=2,e.raycast=()=>{},e.userData.isEdgeLines=!0,e.userData.skeletonName=n.skeletonName,f&&!f.equals(p)&&f.decompose(e.position,e.quaternion,e.scale),i.add(e),a.push(e),i.userData.hasNativeEdges=!0;continue}if(kb(n.primitiveType)){r.getAttribute(`color`)||r.setAttribute(`color`,r.getAttribute(`aColor`));let t=new gd(r,Ab());t.userData.isPointCloud=!0,t.userData.skeletonName=n.skeletonName,t.userData.geoRef=o,t.userData.tileRef=e,t.userData.primitiveType=n.primitiveType,f&&!f.equals(p)&&f.decompose(t.position,t.quaternion,t.scale),i.add(t),a.push(t),s.meshes++;continue}let h;if(l&&l.instanceIndex!==-1&&(l.instanceMode===16||l.instanceMode===17)&&l.instanceBuffer&&(l.instanceCount??0)>0&&l){if(!r.getAttribute(`aInstanceBatchId`)){let e=l.instanceBatchIds,t=e&&e.length===l.instanceCount?e.slice():new Float32Array(l.instanceCount).fill(-1);r.setAttribute(`aInstanceBatchId`,new Du(t,1));let n=new Float32Array(l.instanceCount);for(let e=0;e<n.length;e++)n[e]=e;r.setAttribute(`aInstanceIndex`,new Du(n,1))}let e=new Fu(r,u,l.instanceCount);e.instanceMatrix.setUsage(Ea);let t=new U,n=new W,i=l.instanceMode,a=new Float32Array(l.instanceBuffer.buffer,l.instanceBuffer.byteOffset,l.instanceCount*i);for(let r=0;r<l.instanceCount;r++){let o=r*i;if(t.set(a[o+0],a[o+1],a[o+2],a[o+3],a[o+4],a[o+5],a[o+6],a[o+7],a[o+8],a[o+9],a[o+10],a[o+11],0,0,0,1),e.setMatrixAt(r,t),i>=16){let t=a[o+12],i=a[o+13],s=a[o+14];Number.isFinite(t)&&Number.isFinite(i)&&Number.isFinite(s)&&(n.setRGB(t,i,s),e.setColorAt(r,n))}}e.instanceMatrix.needsUpdate=!0,e.instanceColor&&(e.instanceColor.needsUpdate=!0),e.frustumCulled=!1,h=e}else h=new dc(r,u);if(f&&!f.equals(p)&&f.decompose(h.position,h.quaternion,h.scale),h.userData.skeletonName=n.skeletonName,h.userData.geoRef=o,h.userData.tileRef=e,h.userData.primitiveType=n.primitiveType,n.batchedFrom!=null&&n.batchedFrom>1){h.userData.isBatched=!0,h.userData.batchedCount=n.batchedFrom;let t=new Map;for(let r of n.geoNames){let n=e.geoPackage[r];if(n?.pickInfo)for(let e of Object.values(n.pickInfo))typeof e.batchId==`number`&&e.batchId>=0&&t.set(e.batchId,n)}t.size>0&&(h.userData.geoByBatchId=t)}i.add(h),a.push(h),s.meshes++,n.primitiveType===4&&(s.triangles+=n.indexCount/3)}return i.children.length||s.skipped.push(`tile 无可用几何`),i.userData.textureKeys=o,{group:i,stats:s,objects:a,textureKeys:o}}var Rb,zb,Bb=n((()=>{rh(),Py(),ob(),Eb(),Rb=null,zb=new W(1920611)}));uh();function Vb(e){return e.slice(0,e.lastIndexOf(`/`)+1)}function Hb(e){if(!e)return e;try{let t=typeof document<`u`?document.baseURI:void 0;return t?new URL(e,t).href:new URL(e).href}catch{return e}}function Ub(e,t){if(!t)return null;try{return Wb(new URL(t,e).href)}catch{return Wb(`${Vb(e)}${t}`)}}function Wb(e){if(!/[+ ]/.test(e))return e;let t=e.indexOf(`#`),n=t<0?``:e.slice(t),r=t<0?e:e.slice(0,t),i=r.indexOf(`?`),a=i<0?r:r.slice(0,i),o=i<0?``:r.slice(i);return`${a.replace(/\+/g,`%2B`).replace(/ /g,`%20`)}${o}${n}`}var Gb=110540,Kb=111320;function qb(e){if(!e||typeof e!=`object`)return null;let t=e;if(![t.left,t.bottom,t.right,t.top].every(e=>typeof e==`number`&&Number.isFinite(e)))return null;let{left:n,bottom:r,right:i,top:a}=t;return Math.abs(n)>180||Math.abs(i)>180||Math.abs(a)>90||Math.abs(r)>90||i===n&&a===r?null:{left:n,bottom:r,right:i,top:a}}function Jb(e,t){if(!t)return null;let n=t.replace(/\.(osgb|s3mb|s3m)$/i,`.s3m`),r=e.split(`/`),i=r.pop()??``,a=r.pop()??``,o=r.lastIndexOf(`datas`);return!i||!a||o<1?Ub(Vb(e),n):Wb(`${r[r.length-1]===`path`&&r[r.length-2]===`data`?`${r.join(`/`)}/${a}`:`${r.join(`/`)}/data/path/${a}`}/${n}`)}function Yb(e){let t=e.trim();if(t.startsWith(`<`)){let e=e=>{let n=RegExp(`<(?:[a-zA-Z0-9_-]+:)?${e}[^>]*>([^<]+)<\\/`,`i`).exec(t);return n?n[1].trim():null},n=t=>parseFloat(e(t)??``),r=n(`X`)||0,i=n(`Y`)||0,a=n(`Z`)||0,o=n(`Left`),s=n(`Right`),c=n(`Top`),l=n(`Bottom`);if(![o,s,c,l].every(Number.isFinite)){let e=n(`MinX`),t=n(`MaxX`),a=n(`MinY`),u=n(`MaxY`);if([e,t,a,u].every(Number.isFinite)&&r&&i){let n=Kb*Math.cos(i*Math.PI/180);n>1e-6&&(o=r+e/n,s=r+t/n,l=i+a/Gb,c=i+u/Gb)}}let u=t.matchAll(/<(?:[a-zA-Z0-9_-]+:)?FileName[^>]*>([^<]+)<\//gi),d=[];for(let e of u)d.push({url:e[1].trim()});let f=n(`MinHeight`),p=n(`MaxHeight`);return{fileType:e(`FileType`)??void 0,position:{x:r,y:i,z:a,units:`Degree`},geoBounds:{left:o,right:s,top:c,bottom:l},heightRange:Number.isFinite(f)||Number.isFinite(p)?{min:f,max:p}:void 0,rootTiles:d,tiles:d}}return JSON.parse(t)}var Xb=class{get heightRange(){let e=this.config?.heightRange;return e&&typeof e.min==`number`&&typeof e.max==`number`?{min:e.min,max:e.max}:null}constructor(e){X(this,`configUrl`,void 0),X(this,`config`,null),X(this,`_blockTileIndex`,null),X(this,`anchor`,{lon:0,lat:0,height:0}),X(this,`rootUrls`,[]),X(this,`nodes`,new Map),X(this,`failed`,new Set),X(this,`textureCache`,new Map),X(this,`maxImageCache`,void 0),X(this,`_textureRefs`,new Map),X(this,`_tileTextureKeys`,new Map),X(this,`pending`,new Set),X(this,`atlasLod`,void 0),X(this,`atlasLodCache`,new Map),X(this,`_groupCache`,new Map),X(this,`externalAtlasCache`,new Map),X(this,`leafRequestCache`,new Map),X(this,`_leafPending`,new Map),X(this,`atlasUpgraded`,new Set),X(this,`atlasUpgradeSkipped`,new Map),X(this,`stats`,{tiles:0,loading:0,failed:0,meshes:0,vertices:0,triangles:0,datasets:1}),X(this,`maxConcurrent`,void 0),X(this,`maxTiles`,void 0),X(this,`maxTriangles`,void 0),X(this,`lodRangeScale`,void 0),X(this,`_onTile`,void 0),X(this,`_onTileRemoved`,void 0),X(this,`_onError`,void 0),X(this,`_onProgress`,void 0),X(this,`_maxRetries`,void 0),X(this,`_retryCount`,new Map),X(this,`_retryAt`,new Map),X(this,`_parentOf`,new Map),X(this,`_frame`,0),X(this,`_lodDbgOnce`,!1),X(this,`_permanentReported`,!1),X(this,`hardCap`,96),X(this,`isS3MV1`,!1),X(this,`_buildTile`,void 0),X(this,`_uniforms`,void 0),X(this,`_workerClient`,void 0),X(this,`_useWorker`,void 0),X(this,`_queue`,[]),X(this,`_active`,0),this.configUrl=e.configUrl,this.lodRangeScale=e.lodRangeScale??3,this._onTile=e.onTile??(()=>{}),this._onTileRemoved=e.onTileRemoved??(()=>{}),this._onError=e.onError??(e=>console.warn(e)),this._onProgress=e.onProgress??(()=>{}),this._maxRetries=Math.max(0,e.maxRetries??2),this._buildTile=e.buildTile??null,this._uniforms=e.uniforms??null,this._useWorker=e.useWorker!==!1,this.maxConcurrent=e.maxConcurrent??4,this.maxTiles=e.maxTiles??64,this.maxTriangles=e.maxTriangles??1/0,this.maxImageCache=e.maxImageCache??128,this.hardCap=this.maxTiles+Math.max(8,Math.ceil(this.maxTiles*.5)),this.atlasLod=e.atlasLod!==!1}async init(){this.configUrl=Hb(this.configUrl);let e=await fetch(this.configUrl);if(!e.ok)throw Error(`配置读取失败 ${e.status} ${this.configUrl}`);let t=Yb(await e.text());this.config=t,this.anchor=this._resolveAnchor(t);let n=t.rootTiles??t.tiles??[];if(!n.length)throw Error(`配置中缺少 root tile`);this.rootUrls.length=0;for(let e of n){let t=Ub(this.configUrl,e.url);t&&this.rootUrls.push(t)}if(this.isS3MV1=/OSGB/i.test(String(t.fileType??``))||/OSGB/i.test(String(t.dataType??``))||this.rootUrls.length>0&&this.rootUrls.every(e=>/\.s3m($|\?)/i.test(e)),this.rootUrls.every(e=>/\.s3mblock($|\?)/i.test(e))){this._blockTileIndex=new Set(this.rootUrls);for(let e of n){let t=Ub(this.configUrl,e.url);t&&this._blockTileIndex.add(t)}}await this._load(this.rootUrls[0]);for(let e of this.rootUrls.slice(1))this._enqueue(e);return this}_enqueue(e,t){if(!e||(t&&this._parentOf.set(e,t),this.nodes.has(e)||this.pending.has(e)||this.failed.has(e))||this._queue.includes(e))return;let n=this._retryAt.get(e);n!==void 0&&performance.now()<n||this.nodes.size+this.pending.size+this._queue.length>=this.hardCap||(this._queue.push(e),this._pump())}registerTileTextures(e,t){this._tileTextureKeys.set(e,t);let n=this.nodes.get(e);n&&(n.textureKeys=t);for(let e of t)this._textureRefs.set(e,(this._textureRefs.get(e)??0)+1)}_evictTileNode(e){this.nodes.delete(e.url),e.group?.parent?.remove(e.group),this._onTileRemoved(e),this._parentOf.delete(e.url),this.stats.tiles=Math.max(0,this.stats.tiles-1),e.stats&&(this.stats.meshes=Math.max(0,this.stats.meshes-(e.stats.meshes??0)),this.stats.vertices=Math.max(0,this.stats.vertices-(e.stats.vertices??0)),this.stats.triangles=Math.max(0,this.stats.triangles-(e.stats.triangles??0)));let t=e.textureKeys??this._tileTextureKeys.get(e.url)??e.group?.userData?.textureKeys;if(this._tileTextureKeys.delete(e.url),t?.length)for(let e of t){let t=(this._textureRefs.get(e)??1)-1;if(t<=0){this._textureRefs.delete(e);let t=this.textureCache.get(e);t&&(t.dispose?.(),this.textureCache.delete(e))}else this._textureRefs.set(e,t)}}putExternalAtlas(e,t){if(this.externalAtlasCache.size>=this.maxImageCache&&!this.externalAtlasCache.has(e)){let e=this.externalAtlasCache.keys().next().value;e!==void 0&&this.externalAtlasCache.delete(e)}Map.prototype.set.call(this.externalAtlasCache,e,t)}getExternalAtlas(e){return this.externalAtlasCache.get(e)}putLeafRecords(e,t){if(this.leafRequestCache.size>=this.maxImageCache&&!this.leafRequestCache.has(e)){let e=this.leafRequestCache.keys().next().value;e!==void 0&&this.leafRequestCache.delete(e)}Map.prototype.set.call(this.leafRequestCache,e,t)}getLeafRecords(e){return this.leafRequestCache.get(e)}_evictOne(e=!1){let t=this._pickVictim(!0,e)??this._pickVictim(!1,e);if(!t)return!1;let n=t.parentUrl??this._parentOf.get(t.url),r=t.childUrls??(t.childUrl?[t.childUrl]:[]);r.some(e=>e!==t.url&&this.nodes.has(e)),this._evictTileNode(t);let i=r.filter(e=>e!==t.url&&this.nodes.has(e));if(i.length){for(let e of i){let t=this.nodes.get(e);t&&(t.parentUrl=n??void 0,n?this._parentOf.set(e,n):this._parentOf.delete(e))}if(n){let e=this.nodes.get(n);if(e){let n=new Set(e.childUrls??[]);e.childUrl&&n.add(e.childUrl),n.delete(t.url);for(let e of i)n.add(e);e.childUrls=[...n],e.childUrl=e.childUrls[0]??null}}}return!0}_residentTriangles(){let e=0;for(let t of this.nodes.values())e+=t.stats?.triangles??0;return e}setMaxTriangles(e){this.maxTriangles=e>0?e:1/0}_trimBudget(){let e=!1,t=0,n=()=>this.nodes.size+this.pending.size>this.maxTiles,r=()=>Number.isFinite(this.maxTriangles)&&this._residentTriangles()>this.maxTriangles,i=this.nodes.size+this.maxTiles+16;for(;(n()||r())&&t++<=i&&this._evictOne(this.nodes.size+this.pending.size>this.hardCap);)e=!0;return e}_pickVictim(e,t=!1){let n=null;for(let r of this.nodes.values()){let i=r.childUrls??(r.childUrl?[r.childUrl]:[]);if((i.length>0&&i.some(e=>e!==r.url&&this.nodes.has(e)))!==e||!t&&r.group.visible&&!i.some(e=>{let t=this.nodes.get(e);return!!t&&t.group.visible}))continue;if(!n){n=r;continue}let a=r.lastSeen??-1,o=n.lastSeen??-1;(a<o||a===o&&(r.distance??0)>(n.distance??0))&&(n=r)}return n}retryFailed(){let e=this.failed.size;return this.failed.clear(),this._retryCount.clear(),this._retryAt.clear(),e}_pump(){for(;this._active<this.maxConcurrent&&this._queue.length;){let e=this._queue.shift();this._active++,this._load(e).finally(()=>{this._active--,this._pump()})}}_resolveAnchor(e){let t=e.position,n=t?.point3D??t,r=!!n&&Number.isFinite(n.x)&&Number.isFinite(n.y),i=qb(e.geoBounds),a=i?(i.left+i.right)/2:void 0,o=i?(i.bottom+i.top)/2:void 0,s=n?.z??0;if(!r)return{lon:a??0,lat:o??0,height:0};if((t?.units??t?.unit??`Degree`)!==`Degree`)return{lon:n.x,lat:n.y,height:s};let c=a===void 0?0:Math.abs(n.x-a),l=o===void 0?0:Math.abs(n.y-o);return c>.5||l>.5?(console.warn(`[s3m] position 与 geoBounds 不一致,改用 geoBounds 中心作为锚点`,{position:n,geoBounds:i}),{lon:a,lat:o,height:s}):{lon:n.x,lat:n.y,height:s}}_pickLod(e){let t=e.groupNode?.pageLods??[];return t.length?t.find(e=>e.childTile&&e.rangeValue>0)??t[0]:null}async _builder(){if(!this._buildTile){let e=await Promise.resolve().then(()=>(Bb(),Db));this._buildTile=e.buildTileObjects}return this._buildTile}async _parseClassicTile(e){if(this._useWorker&&this._workerClient===void 0&&(this._workerClient=y_()),this._workerClient)try{return await this._workerClient.parseTile(e,!0)}catch(e){if(e instanceof g_)this._workerClient=null;else throw e}return{tile:await Zg(e)}}_rememberGroups(e,t){for(this._groupCache.delete(e),this._groupCache.set(e,t);this._groupCache.size>24;){let e=this._groupCache.keys().next().value;if(e===void 0)break;this._groupCache.delete(e)}}async _fillExternalAtlases(e,t){let n=e,r=n.texturePackage;if(!r)return;let i=B_(n),a=!1,o=new Map,s=new Map,c=[];for(let[e,t]of Object.entries(r)){let n=X_(t.requestNames);if(n.names.length){o.set(e,{tex:t,plan:n});for(let[e,t]of n.packGroups){let n=t.filter(e=>!this.leafRequestCache.has(e));if(!n.length)continue;let r=s.get(e)??[];for(let e of n)r.includes(e)||r.push(e);s.set(e,r)}for(let e of n.plain)!this.leafRequestCache.has(e)&&!c.includes(e)&&c.push(e)}}let l=[];for(let[e,n]of s){let r=null,i=()=>r??(r=this._fetchLeafPack(t,e,n));for(let e of n)l.push(this._ensureLeafFetch(e,i))}for(let e of c)l.push(this._ensureLeafFetch(e,()=>this._fetchLeafFile(t,e)));l.length&&await Promise.all(l);for(let[e,{tex:t,plan:n}]of o){let r=new Map;for(let e of n.names){let t=this.leafRequestCache.get(e);if(t)for(let n of t)r.set(n.id,{source:e,image:n})}let i=Z_(t,r);if(i){let n=t;n.composed=!0,n.leafSig=i.sig,n.flipY=!1,t.data=i.data,t.compressType=0,t.pixelFormat=28,t.width=i.width,t.height=i.height,t.rectScale=1,this.atlasUpgraded.add(e),a=!0,(i.missing.length||i.mismatched.length)&&console.warn(`[s3m] leaf 图集部分精灵异常:`,e,{missing:i.missing,mismatched:i.mismatched});continue}let o=!!t.data,s=n=>{if(!o){let r=t.width/t.height,i=n.width/n.height;return Math.abs(i/r-1)<=.02||(this.atlasUpgradeSkipped.set(e,`aspect(no-baseline) ${t.width}x${t.height} vs ${n.width}x${n.height}`),!1)}let r=uv(t,n);return r.ok?!0:(this.atlasUpgradeSkipped.set(e,`${r.reason} aspectΔ=${(r.aspectDelta*100).toFixed(1)}% scale=${r.scale} err=${Number.isNaN(r.meanAbsError)?`n/a`:r.meanAbsError.toFixed(1)}`),!1)},c=n=>{let r=t;r.composed=!1,r.leafSig=void 0,r.flipY=!0,t.data=n.data,t.compressType=n.compressType,t.pixelFormat=n.pixelFormat,t.rectScale=t.width>0?n.width/t.width:1,t.width=n.width||t.width,t.height=n.height||t.height,this.atlasUpgraded.add(e),a=!0},l=this.externalAtlasCache.get(e);if(l!==null){if(l===void 0){l=null;for(let e of n.plain){let t=this.leafRequestCache.get(e);if(t?.length){l=t[0];break}}this.putExternalAtlas(e,l)}l?s(l)&&c(l):this.atlasUpgradeSkipped.has(e)||this.atlasUpgradeSkipped.set(e,`no usable external image(请求失败或只拿到子精灵)`)}}(i||a)&&V_(n)}_ensureLeafFetch(e,t){if(this.leafRequestCache.has(e))return Promise.resolve();let n=this._leafPending.get(e);if(n)return n;let r=t().finally(()=>this._leafPending.delete(e));return this._leafPending.set(e,r),r}async _fetchLeafPack(e,t,n){let r=Ub(Vb(e),`${n[0]}.texblock?extratiles=${n.join(`;`)}`);try{if(!r)throw Error(`无法拼出 URL`);let e=await fetch(r);if(!e.ok)throw Error(`HTTP ${e.status}`);let t=await W_(await e.arrayBuffer());if(t.length!==n.length)throw Error(`pack 段数 ${t.length} ≠ 请求名 ${n.length}`);n.forEach((e,n)=>this.putLeafRecords(e,t[n]))}catch(e){console.warn(`[s3m] leaf pack 请求失败:`,r,e);for(let e of n)this.leafRequestCache.has(e)||this.putLeafRecords(e,null)}}async _fetchLeafFile(e,t){let n=Ub(Vb(e),`${t}.texblock`);try{if(!n)throw Error(`无法拼出 URL`);let e=await fetch(n);if(!e.ok)throw Error(`HTTP ${e.status}`);let r=(await W_(await e.arrayBuffer())).flat();this.putLeafRecords(t,r)}catch(e){console.warn(`[s3m] leaf texblock 请求失败:`,n,e),this.leafRequestCache.has(t)||this.putLeafRecords(t,null)}}async _upgradeAtlasLod(e,t){}async _load(e){if(!(this.nodes.has(e)||this.pending.has(e)||this.failed.has(e))){this.pending.add(e),this.stats.loading++;try{let t=e.indexOf(`#`),n=t>=0?e.slice(0,t):e,r=t>=0&&Number(e.slice(t+1))||0,i=/\.s3mblock($|\?)/i.test(n),a,o,s=[],c=this._groupCache.get(n);if(c)s=c.names,a=c.tiles[r]??c.tiles[0];else{let e=await fetch(n);if(!e.ok)throw Error(`HTTP ${e.status} 加载瓦片失败: ${n}`);if((e.headers.get(`content-type`)||``).includes(`text/html`))throw Error(`瓦片请求返回了 HTML 页面(通常为 404/500 服务端拦截): ${n}`);let t=await e.arrayBuffer();if(i){let e=await Q_(t);this._rememberGroups(n,e),s=e.names,a=e.tiles[r]??e.tiles[0]}else{let e=await this._parseClassicTile(t);a=e.tile,o=e.geometry}}i&&(await this._fillExternalAtlases(a,n),await this._upgradeAtlasLod(a,n));let l=await(await this._builder())(a,{textureCache:this.textureCache,uniforms:this._uniforms,assembled:o}),{group:u,stats:d}=l,f=l.textureKeys??u.userData?.textureKeys??Object.keys(a.textures??{});this.registerTileTextures(e,f);let p=this._pickLod(a),m=[];for(let t of a.groupNode?.pageLods??[]){let r=String(t.childTile??``).replace(/\.s3mblock$/i,``),a=i&&r?s.indexOf(r):-1,o=a>=0?`${n}#${a}`:this.isS3MV1?Jb(e,t.childTile):Ub(Vb(e),t.childTile);o&&o!==e&&!m.includes(o)&&m.push(o)}let h={url:e,tile:a,group:u,sphere:p?.boundingSphere??null,rangeValue:p?.rangeValue??0,rangeMode:p?.rangeMode??1,childUrl:m[0]??(this.isS3MV1?Jb(e,p?.childTile):Ub(Vb(e),p?.childTile)),childUrls:m,parentUrl:this._parentOf.get(e),state:`ready`,stats:{meshes:d.meshes??0,vertices:d.vertices??0,triangles:d.triangles??0}};this.nodes.set(e,h),this.stats.tiles++,this.stats.meshes+=d.meshes??0,this.stats.vertices+=d.vertices??0,this.stats.triangles+=d.triangles??0,this._onTile(h)}catch(t){let n=t?.permanent===!0,r=(this._retryCount.get(e)??0)+1;if(this._retryCount.set(e,r),!n&&r<=this._maxRetries)this._retryAt.set(e,performance.now()+800*r);else{this.stats.failed++,this.failed.add(e),this._retryAt.delete(e);let t=this._parentOf.get(e),n=t?this.nodes.get(t):void 0;n?.childUrls&&(n.childUrls=n.childUrls.filter(t=>t!==e),n.childUrl=n.childUrls[0]??null)}n?this._permanentReported||(this._permanentReported=!0,this._onError(t)):this._onError(t)}finally{this.pending.delete(e),this.stats.loading--,this._onProgress(this.stats)}}}update(e,t,n){this._frame++;let r=!1;for(let t of this.nodes.values()){var i;if(!t.sphere){t.needRefine=!1;continue}let a=t.sphere.center,o=a.x-e[0],s=a.y-e[1],c=a.z-e[2],l=Math.sqrt(o*o+s*s+c*c)||1e-6;t.distance=l;let u,d=t.rangeMode===0;u=d?l:n*.5/Math.tan(Math.PI/8)*(t.sphere.radius/l)*2;let f=this.lodRangeScale>0?this.lodRangeScale:1,p=t.rangeValue*f;(d?l<p*2:u>p*.5)&&(t.lastSeen=this._frame);let m=t.childUrls??(t.childUrl?[t.childUrl]:[]),h=t.needRefine?d?1.08:.92:1,g=m.length>0&&(d?u<p*h:u>p*h);t.needRefine=g;let _=(i=globalThis).__S3M_LOD_SEEN??(i.__S3M_LOD_SEEN=new Set);if(globalThis.__S3M_LOD_DEBUG&&!_.has(t.url)&&_.size<260&&(_.add(t.url),console.log(`[LOD]`,JSON.stringify({url:t.url.split(`/`).pop(),mode:t.rangeMode,rangeValue:t.rangeValue,radius:t.sphere.radius,dist:+l.toFixed(1),metric:+u.toFixed(1),threshold:+p.toFixed(1),needRefine:g,childUrls:m.map(e=>e.split(`/`).pop()),parent:t.parentUrl?t.parentUrl.split(`/`).pop():null}))),g)for(let e of m)this.failed.has(e)||this.nodes.has(e)||this.pending.has(e)||(this._enqueue(e,t.url),r=!0)}let a=new Set,o=new Set(this.rootUrls);for(let[e,t]of this.nodes){let n=t.parentUrl??this._parentOf.get(e);n&&this.nodes.has(n)||o.add(e)}for(let e of o)this._updateNodeVisibility(e,!0,a)&&(r=!0);for(let[e,t]of this.nodes)a.has(e)||t.group.visible&&(t.group.visible=!1,r=!0);this._trimBudget()&&(r=!0);let s=!1;for(let e of this.nodes.values())if(e.group.visible){s=!0;break}if(!s&&this.nodes.size>0)for(let e of this.nodes.values())!(e.childUrls??(e.childUrl?[e.childUrl]:[])).some(t=>{let n=this.nodes.get(t);return!!n&&n!==e&&n.group.visible})&&!e.group.visible&&(e.group.visible=!0,r=!0);return r}_updateNodeVisibility(e,t,n){let r=this.nodes.get(e);if(!r||n.has(e))return!1;n.add(e);let i=!1,a=r.childUrls??(r.childUrl?[r.childUrl]:[]);if(!t){r.group.visible&&(r.group.visible=!1,i=!0);for(let e of a)this._updateNodeVisibility(e,!1,n)&&(i=!0);return i}let o=a.length>0,s=a.filter(e=>this.nodes.has(e)),c=a.every(e=>this.nodes.has(e)||this.failed.has(e));if(r.needRefine&&o&&s.length>0&&c){r.group.visible&&(r.group.visible=!1,i=!0);for(let e of a)this._updateNodeVisibility(e,!0,n)&&(i=!0)}else{r.group.visible||(r.group.visible=!0,i=!0);for(let e of a)this._updateNodeVisibility(e,!1,n)&&(i=!0)}return i}dispose(){this._workerClient?.dispose();for(let e of this.nodes.values())e.group.traverse(e=>{let t=e;t.geometry?.dispose?.(),Array.isArray(t.material)?t.material.forEach(e=>e.dispose?.()):t.material?.dispose?.()});for(let e of this.textureCache.values())e.dispose?.();this.textureCache.clear(),this.nodes.clear()}};rh(),ob();var Zb=2;function Qb(e){return e===Uy.SOLID?`solid`:e===Uy.HEIGHT?`height`:`vertex`}var $b=`
4431
4431
  uniform float uPointSize;
4432
4432
  varying float vWorldZ;
4433
4433
  void main() {
@@ -4436,7 +4436,7 @@ void main() {
4436
4436
  gl_Position = projectionMatrix * viewMatrix * world;
4437
4437
  gl_PointSize = uPointSize;
4438
4438
  }
4439
- `,Jb=`
4439
+ `,ex=`
4440
4440
  uniform vec3 uColorA;
4441
4441
  uniform vec3 uColorB;
4442
4442
  uniform float uHeightMin;
@@ -4447,13 +4447,13 @@ void main() {
4447
4447
  float h = clamp( ( vWorldZ - uHeightMin ) / max( uHeightMax - uHeightMin, 0.001 ), 0.0, 1.0 );
4448
4448
  gl_FragColor = vec4( mix( uColorA, uColorB, h ), uOpacity );
4449
4449
  }
4450
- `,Yb=`
4450
+ `,tx=`
4451
4451
  uniform vec3 uSelColor;
4452
4452
  uniform float uOpacity;
4453
4453
  void main() {
4454
4454
  gl_FragColor = vec4( uSelColor, uOpacity );
4455
4455
  }
4456
- `;function Xb(e,t,n){let r;return r=e===`height`?new gc({uniforms:{uColorA:n.uColorA,uColorB:n.uColorB,uHeightMin:n.uHeightMin,uHeightMax:n.uHeightMax,uPointSize:{value:Gb},uOpacity:{value:t.opacity??1}},vertexShader:qb,fragmentShader:Jb,transparent:(t.opacity??1)<.999,depthWrite:(t.opacity??1)>=.999}):e===`selected`?new gc({uniforms:{uSelColor:n.uSelColor,uPointSize:{value:Gb},uOpacity:{value:t.opacity??1}},vertexShader:qb,fragmentShader:Yb,transparent:(t.opacity??1)<.999,depthWrite:(t.opacity??1)>=.999}):e===`solid`?new dd({size:Gb,sizeAttenuation:!1,color:new W(t.colorA),transparent:(t.opacity??1)<.999,opacity:t.opacity??1,depthWrite:(t.opacity??1)>=.999}):new dd({size:Gb,sizeAttenuation:!1,vertexColors:!0,transparent:(t.opacity??1)<.999,opacity:t.opacity??1,depthWrite:(t.opacity??1)>=.999}),r.userData.pcOwned=!0,r}function Zb(e,t,n,r=!1){let i=e.userData,a=r?`selected`:Kb(t.mode);if(i.pcKind!==a){let r=e.material;e.material=Xb(a,t,n),r&&r.userData?.pcOwned&&r.dispose(),i.pcKind=a,i.pcTransparent=void 0}else a===`solid`&&e.material.color?.set(t.colorA);let o=Math.min(1,Math.max(.05,t.opacity??1)),s=o<.999,c=t.depthWrite!==!1,l=e.material;l.transparent=s,l.opacity=o,l.depthWrite=!s||c,l.uniforms?.uOpacity&&(l.uniforms.uOpacity.value=o),i.pcTransparent!==s&&(i.pcTransparent=s,l.needsUpdate=!0)}function Qb(e){let t=Array.isArray(e)?e[0]:e;return!!t&&t.userData?.pcOwned===!0}rh(),uh();var $b=`
4456
+ `;function nx(e,t,n){let r;return r=e===`height`?new gc({uniforms:{uColorA:n.uColorA,uColorB:n.uColorB,uHeightMin:n.uHeightMin,uHeightMax:n.uHeightMax,uPointSize:{value:Zb},uOpacity:{value:t.opacity??1}},vertexShader:$b,fragmentShader:ex,transparent:(t.opacity??1)<.999,depthWrite:(t.opacity??1)>=.999}):e===`selected`?new gc({uniforms:{uSelColor:n.uSelColor,uPointSize:{value:Zb},uOpacity:{value:t.opacity??1}},vertexShader:$b,fragmentShader:tx,transparent:(t.opacity??1)<.999,depthWrite:(t.opacity??1)>=.999}):e===`solid`?new dd({size:Zb,sizeAttenuation:!1,color:new W(t.colorA),transparent:(t.opacity??1)<.999,opacity:t.opacity??1,depthWrite:(t.opacity??1)>=.999}):new dd({size:Zb,sizeAttenuation:!1,vertexColors:!0,transparent:(t.opacity??1)<.999,opacity:t.opacity??1,depthWrite:(t.opacity??1)>=.999}),r.userData.pcOwned=!0,r}function rx(e,t,n,r=!1){let i=e.userData,a=r?`selected`:Qb(t.mode);if(i.pcKind!==a){let r=e.material;e.material=nx(a,t,n),r&&r.userData?.pcOwned&&r.dispose(),i.pcKind=a,i.pcTransparent=void 0}else a===`solid`&&e.material.color?.set(t.colorA);let o=Math.min(1,Math.max(.05,t.opacity??1)),s=o<.999,c=t.depthWrite!==!1,l=e.material;l.transparent=s,l.opacity=o,l.depthWrite=!s||c,l.uniforms?.uOpacity&&(l.uniforms.uOpacity.value=o),i.pcTransparent!==s&&(i.pcTransparent=s,l.needsUpdate=!0)}function ix(e){let t=Array.isArray(e)?e[0]:e;return!!t&&t.userData?.pcOwned===!0}rh(),uh();var ax=`
4457
4457
  attribute float aBatchId;
4458
4458
  #ifdef USE_INSTANCING
4459
4459
  // 实例化:单体粒度在实例上,顶点属性里没有可用的 batchId
@@ -4582,7 +4582,7 @@ void main() {
4582
4582
  // 跟显示尺寸(2px)不匹配,点云会很难点中。对 Mesh 图元这行被忽略。
4583
4583
  gl_PointSize = 2.0;
4584
4584
  }
4585
- `,ex=`
4585
+ `,ox=`
4586
4586
  uniform float uObjectId;
4587
4587
  varying float vBatch;
4588
4588
  void main() {
@@ -4595,7 +4595,7 @@ void main() {
4595
4595
  floor( b / 256.0 ) / 255.0
4596
4596
  );
4597
4597
  }
4598
- `,tx=(()=>{let e=new Cu(new Float32Array([-1,-1,-1,0,0,0,0,0]),1,2,ci,ei);return e.minFilter=Rr,e.magFilter=Rr,e.needsUpdate=!0,e})(),nx=(()=>{let e=new Cu(new Float32Array([0,0,0,0]),1,1,ci,ei);return e.minFilter=Rr,e.magFilter=Rr,e.needsUpdate=!0,e})();function rx(e){return new gc({uniforms:{uObjectId:{value:e},uBatchTex:{value:tx},uBatchTex2:{value:tx},uBatchMix:{value:0},uBatchTexWidth:{value:1},uBatchTexActive:{value:0},uPathTex:{value:nx},uPathCount:{value:1},uPathTime:{value:0},uPathTexActive:{value:0},uSelBatch:{value:-1},uSelWhole:{value:0},uSelElevation:{value:0}},vertexShader:$b,fragmentShader:ex,side:2,depthTest:!0,depthWrite:!0,toneMapped:!1})}function ix(e){return e.isPoints===!0}var ax=class{constructor(e,t={}){X(this,`renderer`,void 0),X(this,`size`,void 0),X(this,`target`,null),X(this,`buf`,new Uint8Array(4)),this.renderer=e,this.size=Math.max(1,Math.floor(t.size??1))}_ensureTarget(e){return this.target&&this.target.width===e&&this.target.height===e||(this.target?.dispose(),this.target=new oo(e,e,{minFilter:Rr,magFilter:Rr,format:ci,type:Jr,depthBuffer:!0,stencilBuffer:!1}),this.target.texture.colorSpace=pa),this.target}pick(e,t,n,r){let i=this.renderer,a=i.domElement,o=a.width,s=a.height;if(!o||!s)return null;let c=Math.floor(n/a.clientWidth*o),l=Math.floor(r/a.clientHeight*s);if(c<0||l<0||c>=o||l>=s)return null;let u=this._ensureTarget(this.size),d=s-1-l,f=Math.floor(this.size/2),p=Math.floor(this.size/2);u.viewport.set(f-c,p-d,o,s);let m=i.getRenderTarget(),h=i.getViewport(new io),g=i.toneMapping,_=i.outputColorSpace,v=i.autoClear,y=i.getClearColor(new W),b=i.getClearAlpha(),x=[],S=new Set;e.traverseVisible(e=>{let t=e;if(!t.isMesh&&!ix(t))return;let n=t.userData;if(n.pickId===void 0)return;n.pickMaterial||(n.pickMaterial=rx(n.pickId)),t.isInstancedMesh&&S.add(n.pickId);let r=t.material,i=n.pickMaterial,a=Array.isArray(r)?r[0]:r,o=a?.userData?.uBatchTex;o?(i.uniforms.uBatchTex.value=o.value,i.uniforms.uBatchTex2.value=a?.userData?.uBatchTex2?.value??o.value,i.uniforms.uBatchTexWidth.value=a?.userData?.uBatchTexWidth?.value??1,i.uniforms.uBatchTexActive.value=a?.userData?.uBatchTexActive?.value??0):(i.uniforms.uBatchTex.value=tx,i.uniforms.uBatchTex2.value=tx,i.uniforms.uBatchTexWidth.value=1,i.uniforms.uBatchTexActive.value=0),i.uniforms.uBatchMix.value=a?.userData?.uBatchMix?.value??0,i.uniforms.uPathTex.value=a?.userData?.uPathTex?.value??nx,i.uniforms.uPathCount.value=a?.userData?.uPathCount?.value??1,i.uniforms.uPathTime.value=a?.userData?.uPathTime?.value??0,i.uniforms.uPathTexActive.value=a?.userData?.uPathTexActive?.value??0,i.uniforms.uSelBatch.value=a?.userData?.uSelBatch?.value??-1,i.uniforms.uSelWhole.value=a?.userData?.uSelWhole?.value??0,i.uniforms.uSelElevation.value=a?.userData?.uSelElevation?.value??a?.uniforms?.uSelElevation?.value??0,x.push([t,r]),t.material=i});let C=[];e.traverseVisible(e=>{let t=e;(t.isMesh||ix(t))&&t.userData.pickId===void 0&&(C.push(t),t.visible=!1)});let w=null;try{i.resetState(),i.setRenderTarget(u),i.toneMapping=0,i.outputColorSpace=pa,i.autoClear=!0,i.setClearColor(0,0),i.clear(),i.render(e,t),i.readRenderTargetPixels(u,f,p,1,1,this.buf);let n=this.buf[0],r=this.buf[1],a=this.buf[2],o=this.buf[3],s=n+r*256-1,c=a+o*256-1;s>=0&&(w=S.has(s)?{objectId:s,batchId:-1,instanceIndex:Math.max(0,c)}:{objectId:s,batchId:c})}finally{for(let[e,t]of x)e.material=t;for(let e of C)e.visible=!0;i.setRenderTarget(m),i.setViewport(h),i.toneMapping=g,i.outputColorSpace=_,i.autoClear=v,i.setClearColor(y,b),i.resetState()}return w}dispose(){this.target?.dispose(),this.target=null}},ox=1.70158,sx=ox*1.525,cx=2.70158,lx=2*Math.PI/3,ux=2*Math.PI/4.5,dx=7.5625,fx=2.75;function px(e){if(e<1/fx)return dx*e*e;if(e<2/fx){let t=e-1.5/fx;return dx*t*t+.75}if(e<2.5/fx){let t=e-2.25/fx;return dx*t*t+.9375}let t=e-2.625/fx;return dx*t*t+.984375}function mx(e){return 1-px(1-e)}var hx={linear:e=>e,easeInQuad:e=>e*e,easeOutQuad:e=>1-(1-e)*(1-e),easeInOutQuad:e=>e<.5?2*e*e:1-(-2*e+2)**2/2,easeInCubic:e=>e*e*e,easeOutCubic:e=>1-(1-e)**3,easeInOutCubic:e=>e<.5?4*e*e*e:1-(-2*e+2)**3/2,easeInQuart:e=>e*e*e*e,easeOutQuart:e=>1-(1-e)**4,easeInOutQuart:e=>e<.5?8*e*e*e*e:1-(-2*e+2)**4/2,easeInQuint:e=>e*e*e*e*e,easeOutQuint:e=>1-(1-e)**5,easeInOutQuint:e=>e<.5?16*e*e*e*e*e:1-(-2*e+2)**5/2,easeInSine:e=>1-Math.cos(e*Math.PI/2),easeOutSine:e=>Math.sin(e*Math.PI/2),easeInOutSine:e=>-(Math.cos(Math.PI*e)-1)/2,easeInExpo:e=>e===0?0:2**(10*e-10),easeOutExpo:e=>e===1?1:1-2**(-10*e),easeInOutExpo:e=>e===0?0:e===1?1:e<.5?2**(20*e-10)/2:(2-2**(-20*e+10))/2,easeInCirc:e=>1-Math.sqrt(1-e*e),easeOutCirc:e=>Math.sqrt(1-(e-1)**2),easeInOutCirc:e=>e<.5?(1-Math.sqrt(1-(2*e)**2))/2:(Math.sqrt(1-(-2*e+2)**2)+1)/2,easeInBack:e=>cx*e*e*e-ox*e*e,easeOutBack:e=>1+cx*(e-1)**3+ox*(e-1)**2,easeInOutBack:e=>e<.5?(2*e)**2*(7.189819*e-sx)/2:((2*e-2)**2*(3.5949095*(e*2-2)+sx)+2)/2,easeInElastic:e=>e===0?0:e===1?1:-(2**(10*e-10))*Math.sin((e*10-10.75)*lx),easeOutElastic:e=>e===0?0:e===1?1:2**(-10*e)*Math.sin((e*10-.75)*lx)+1,easeInOutElastic:e=>e===0?0:e===1?1:e<.5?-(2**(20*e-10)*Math.sin((20*e-11.125)*ux))/2:2**(-20*e+10)*Math.sin((20*e-11.125)*ux)/2+1,easeInBounce:mx,easeOutBounce:px,easeInOutBounce:e=>e<.5?(1-mx(1-2*e))/2:(1+mx(2*e-1))/2},gx=Object.keys(hx);function _x(e){if(typeof e==`function`)return e;let t=hx[e];if(!t)throw Error(`[s3m] 未知的缓动曲线: ${String(e)}`);return t}var vx=8,yx=.001,bx=1e-7,xx=12,Sx=(e,t)=>1-3*t+3*e,Cx=(e,t)=>3*t-6*e,wx=e=>3*e;function Tx(e,t,n){return((Sx(t,n)*e+Cx(t,n))*e+wx(t))*e}function Ex(e,t,n){return 3*Sx(t,n)*e*e+2*Cx(t,n)*e+wx(t)}function Dx(e,t,n,r){if(e===t&&n===r)return e=>e;let i=t=>{let r=t;for(let i=0;i<vx;i++){let i=Ex(r,e,n);if(Math.abs(i)<yx)break;let a=Tx(r,e,n)-t;if(Math.abs(a)<bx)return r;r-=a/i}let i=0,a=1;r=t;for(let o=0;o<xx;o++){let o=Tx(r,e,n);if(Math.abs(o-t)<bx)return r;o<t?i=r:a=r,r=(i+a)/2}return r};return e=>e<=0?0:e>=1?1:Tx(i(e),t,r)}function Ox(e,t=`end`){let n=Math.max(1,Math.floor(e));return e=>{let r=Math.min(1,Math.max(0,e));return t===`start`?Math.min(1,(Math.floor(r*n)+1)/n):Math.min(1,Math.floor(r*n)/n)}}uh();var kx=1e-4,Ax=.15;function jx(e){return e<0?0:e>1?1:e}function Mx(e,t,n){let r=0;for(let i=0;i<n;i++){let n=Math.abs(e[i]-t[i]);n>r&&(r=n)}return r}var Nx=class{constructor(e,t){X(this,`key`,void 0),X(this,`channel`,void 0),X(this,`dim`,void 0),X(this,`to`,new Float32Array(3)),X(this,`_cur`,new Float32Array(3)),X(this,`done`,!1),X(this,`onComplete`,void 0),this.key=e,this.channel=t,this.dim=t.dim}},Px=class extends Nx{constructor(...e){super(...e),X(this,`_from`,new Float32Array(3)),X(this,`_start`,0),X(this,`_duration`,0),X(this,`_delay`,0),X(this,`_ease`,_x(`linear`)),X(this,`_retarget`,`proportional`),X(this,`_span`,0),X(this,`_progress`,0)}get progress(){return this._progress}start(e,t,n){n?this._from.set(n.subarray(0,this.dim)):this.channel.read(this._from),this._start=e,this._delay=Math.max(0,t.delay??0),this._duration=Math.max(0,t.duration??0),this._ease=t.easing?_x(t.easing):_x(`linear`),this._retarget=t.retarget??`proportional`,this._span=Mx(this._from,this.to,this.dim),this._progress=0,this.done=!1}advance(e){let t=e-this._start-this._delay,n=this._duration<=0?1:jx(t/this._duration);this._progress=n;let r=this._ease(n);for(let e=0;e<this.dim;e++)this._cur[e]=this._from[e]+(this.to[e]-this._from[e])*r;this.channel.write(this._cur),n>=1&&(this.done=!0)}retarget(e,t,n){this.channel.read(this._from),this.to.set(e.subarray(0,this.dim));let r=Math.max(0,n.duration??this._duration),i=r;if((n.retarget??this._retarget)!==`fixed`&&this._span>kx){let e=Mx(this._from,this.to,this.dim)/this._span;i=Math.min(r,Math.max(r*Ax,r*e))}this._start=t,this._delay=Math.max(0,n.delay??0),this._duration=i,this._ease=n.easing?_x(n.easing):this._ease,this._span=Mx(this._from,this.to,this.dim),this._progress=0,this.done=!1}},Fx=class extends Nx{constructor(...e){super(...e),X(this,`_x0`,new Float32Array(3)),X(this,`_v0`,new Float32Array(3)),X(this,`_vel`,new Float32Array(3)),X(this,`_start`,0),X(this,`_k`,120),X(this,`_c`,14),X(this,`_eps`,.001),X(this,`_progress`,0)}get progress(){return this._progress}start(e,t,n){let r=t.spring??{stiffness:120,damping:14};this._k=Math.max(.001,r.stiffness),this._c=Math.max(0,r.damping),this._eps=r.epsilon??.001,n?this._x0.set(n.subarray(0,this.dim)):this.channel.read(this._x0),this._v0.fill(0),this._vel.fill(0),this._start=e,this.done=!1,this._progress=0}advance(e){let t=Math.max(0,(e-this._start)/1e3),n=!0;for(let e=0;e<this.dim;e++){let{x:r,v:i}=Ix(this._x0[e]-this.to[e],this._v0[e],this._k,this._c,t);this._cur[e]=this.to[e]+r,this._vel[e]=i,(Math.abs(r)>this._eps||Math.abs(i)>this._eps)&&(n=!1)}if(this.channel.write(this._cur),n){for(let e=0;e<this.dim;e++)this._cur[e]=this.to[e];this.channel.write(this._cur),this.done=!0,this._progress=1}}retarget(e,t,n){this.channel.read(this._cur);let r=n.spring;r&&(this._k=Math.max(.001,r.stiffness),this._c=Math.max(0,r.damping),this._eps=r.epsilon??this._eps);let i=Math.max(0,(t-this._start)/1e3);for(let t=0;t<this.dim;t++){let n=Ix(this._x0[t]-this.to[t],this._v0[t],this._k,this._c,i);this._x0[t]=this._cur[t]-e[t],this._v0[t]=n.v}this.to.set(e.subarray(0,this.dim)),this._start=t,this.done=!1}};function Ix(e,t,n,r,i){let a=Math.sqrt(n),o=r/(2*a);if(o<1){let n=a*Math.sqrt(1-o*o),r=Math.exp(-o*a*i),s=Math.cos(n*i),c=Math.sin(n*i),l=e,u=(t+o*a*e)/n;return{x:r*(l*s+u*c),v:r*((u*n-o*a*l)*s+(-l*n-o*a*u)*c)}}let s=Math.exp(-a*i),c=t+a*e;return{x:(e+c*i)*s,v:(t-a*c*i)*s}}var Lx=class{constructor(e=()=>performance.now()){X(this,`_channels`,new Map),X(this,`_tracks`,new Map),X(this,`_buf`,new Float32Array(3)),X(this,`_finished`,[]),X(this,`_now`,void 0),X(this,`_budgetMs`,2.5),X(this,`_lastTick`,-1/0),X(this,`_skipped`,0),X(this,`onActive`,void 0),this._now=e}set budgetMs(e){this._budgetMs=Math.max(0,e)}get budgetMs(){return this._budgetMs}get skippedLastTick(){return this._skipped}get activeCount(){return this._tracks.size}get active(){return this._tracks.size>0}register(e,t){this._channels.set(e,t)}unregister(e){this._channels.delete(e),this._tracks.delete(e)}unregisterPrefix(e){for(let t of[...this._channels.keys()])t.startsWith(e)&&(this._channels.delete(t),this._tracks.delete(t))}has(e){return this._channels.has(e)}isActive(e){return this._tracks.has(e)}to(e,t,n={}){let r=this._channels.get(e);if(!r)throw Error(`[s3m] 未注册的动画通道: ${e}`);let i=this._buf;if(r.dim===1)i[0]=typeof t==`number`?t:Number(t[0]),i[1]=0,i[2]=0;else{if(typeof t==`number`)throw Error(`[s3m] 通道 ${e} 需要三元数组目标值`);for(let e=0;e<3;e++)i[e]=Number(t[e]??0)}let a=!!n.spring,o=Math.max(0,n.duration??0);if(!a&&o<=0&&!n.delay){this._tracks.delete(e),r.write(i),this.onActive?.(),n.onComplete?.();return}let s=Math.max(this._now(),this._lastTick),c=this._tracks.get(e),l=a,u=c instanceof Fx;if(c&&c!=null&&u!==l&&(this._tracks.delete(e),c=void 0),c||this.onActive?.(),!c){let t=l?new Fx(e,r):new Px(e,r);t.to.set(i.subarray(0,r.dim)),t.onComplete=n.onComplete,t.start(s,n),this._tracks.set(e,t)}else c.to.set(i.subarray(0,r.dim)),c.onComplete=n.onComplete,c.retarget(i,s,n)}cancel(e){this._tracks.delete(e)}finish(e){let t=this._tracks.get(e);t&&(this._tracks.delete(e),t.channel.write(t.to),this.onActive?.(),t.onComplete?.())}clear(){this._tracks.clear()}tick(e=this._now()){if(this._tracks.size===0)return this._lastTick=Math.max(this._lastTick,e),!1;this._lastTick=Math.max(this._lastTick,e);let t=performance.now(),n=0;for(let r of this._tracks.values())if(r.advance(e),n++,r.done&&this._finished.push(r),performance.now()-t>=this._budgetMs)break;if(this._finished.length>0){for(let e of this._finished)this._tracks.get(e.key)===e&&this._tracks.delete(e.key);let e=this._finished.splice(0,this._finished.length);for(let t of e)t.onComplete?.()}return this._skipped=Math.max(0,this._tracks.size-n),this._tracks.size>0}};rh(),eb(),Ny();function Rx(){return{uResolution:{value:new B(1,1)},uDpr:{value:1}}}var zx=`
4598
+ `,sx=(()=>{let e=new Cu(new Float32Array([-1,-1,-1,0,0,0,0,0]),1,2,ci,ei);return e.minFilter=Rr,e.magFilter=Rr,e.needsUpdate=!0,e})(),cx=(()=>{let e=new Cu(new Float32Array([0,0,0,0]),1,1,ci,ei);return e.minFilter=Rr,e.magFilter=Rr,e.needsUpdate=!0,e})();function lx(e){return new gc({uniforms:{uObjectId:{value:e},uBatchTex:{value:sx},uBatchTex2:{value:sx},uBatchMix:{value:0},uBatchTexWidth:{value:1},uBatchTexActive:{value:0},uPathTex:{value:cx},uPathCount:{value:1},uPathTime:{value:0},uPathTexActive:{value:0},uSelBatch:{value:-1},uSelWhole:{value:0},uSelElevation:{value:0}},vertexShader:ax,fragmentShader:ox,side:2,depthTest:!0,depthWrite:!0,toneMapped:!1})}function ux(e){return e.isPoints===!0}var dx=class{constructor(e,t={}){X(this,`renderer`,void 0),X(this,`size`,void 0),X(this,`target`,null),X(this,`buf`,new Uint8Array(4)),this.renderer=e,this.size=Math.max(1,Math.floor(t.size??1))}_ensureTarget(e){return this.target&&this.target.width===e&&this.target.height===e||(this.target?.dispose(),this.target=new oo(e,e,{minFilter:Rr,magFilter:Rr,format:ci,type:Jr,depthBuffer:!0,stencilBuffer:!1}),this.target.texture.colorSpace=pa),this.target}pick(e,t,n,r){let i=this.renderer,a=i.domElement,o=a.width,s=a.height;if(!o||!s)return null;let c=Math.floor(n/a.clientWidth*o),l=Math.floor(r/a.clientHeight*s);if(c<0||l<0||c>=o||l>=s)return null;let u=this._ensureTarget(this.size),d=s-1-l,f=Math.floor(this.size/2),p=Math.floor(this.size/2);u.viewport.set(f-c,p-d,o,s);let m=i.getRenderTarget(),h=i.getViewport(new io),g=i.toneMapping,_=i.outputColorSpace,v=i.autoClear,y=i.getClearColor(new W),b=i.getClearAlpha(),x=[],S=new Set;e.traverseVisible(e=>{let t=e;if(!t.isMesh&&!ux(t))return;let n=t.userData;if(n.pickId===void 0)return;n.pickMaterial||(n.pickMaterial=lx(n.pickId)),t.isInstancedMesh&&S.add(n.pickId);let r=t.material,i=n.pickMaterial,a=Array.isArray(r)?r[0]:r,o=a?.userData?.uBatchTex;o?(i.uniforms.uBatchTex.value=o.value,i.uniforms.uBatchTex2.value=a?.userData?.uBatchTex2?.value??o.value,i.uniforms.uBatchTexWidth.value=a?.userData?.uBatchTexWidth?.value??1,i.uniforms.uBatchTexActive.value=a?.userData?.uBatchTexActive?.value??0):(i.uniforms.uBatchTex.value=sx,i.uniforms.uBatchTex2.value=sx,i.uniforms.uBatchTexWidth.value=1,i.uniforms.uBatchTexActive.value=0),i.uniforms.uBatchMix.value=a?.userData?.uBatchMix?.value??0,i.uniforms.uPathTex.value=a?.userData?.uPathTex?.value??cx,i.uniforms.uPathCount.value=a?.userData?.uPathCount?.value??1,i.uniforms.uPathTime.value=a?.userData?.uPathTime?.value??0,i.uniforms.uPathTexActive.value=a?.userData?.uPathTexActive?.value??0,i.uniforms.uSelBatch.value=a?.userData?.uSelBatch?.value??-1,i.uniforms.uSelWhole.value=a?.userData?.uSelWhole?.value??0,i.uniforms.uSelElevation.value=a?.userData?.uSelElevation?.value??a?.uniforms?.uSelElevation?.value??0,x.push([t,r]),t.material=i});let C=[];e.traverseVisible(e=>{let t=e;(t.isMesh||ux(t))&&t.userData.pickId===void 0&&(C.push(t),t.visible=!1)});let w=null;try{i.resetState(),i.setRenderTarget(u),i.toneMapping=0,i.outputColorSpace=pa,i.autoClear=!0,i.setClearColor(0,0),i.clear(),i.render(e,t),i.readRenderTargetPixels(u,f,p,1,1,this.buf);let n=this.buf[0],r=this.buf[1],a=this.buf[2],o=this.buf[3],s=n+r*256-1,c=a+o*256-1;s>=0&&(w=S.has(s)?{objectId:s,batchId:-1,instanceIndex:Math.max(0,c)}:{objectId:s,batchId:c})}finally{for(let[e,t]of x)e.material=t;for(let e of C)e.visible=!0;i.setRenderTarget(m),i.setViewport(h),i.toneMapping=g,i.outputColorSpace=_,i.autoClear=v,i.setClearColor(y,b),i.resetState()}return w}dispose(){this.target?.dispose(),this.target=null}},fx=1.70158,px=fx*1.525,mx=2.70158,hx=2*Math.PI/3,gx=2*Math.PI/4.5,_x=7.5625,vx=2.75;function yx(e){if(e<1/vx)return _x*e*e;if(e<2/vx){let t=e-1.5/vx;return _x*t*t+.75}if(e<2.5/vx){let t=e-2.25/vx;return _x*t*t+.9375}let t=e-2.625/vx;return _x*t*t+.984375}function bx(e){return 1-yx(1-e)}var xx={linear:e=>e,easeInQuad:e=>e*e,easeOutQuad:e=>1-(1-e)*(1-e),easeInOutQuad:e=>e<.5?2*e*e:1-(-2*e+2)**2/2,easeInCubic:e=>e*e*e,easeOutCubic:e=>1-(1-e)**3,easeInOutCubic:e=>e<.5?4*e*e*e:1-(-2*e+2)**3/2,easeInQuart:e=>e*e*e*e,easeOutQuart:e=>1-(1-e)**4,easeInOutQuart:e=>e<.5?8*e*e*e*e:1-(-2*e+2)**4/2,easeInQuint:e=>e*e*e*e*e,easeOutQuint:e=>1-(1-e)**5,easeInOutQuint:e=>e<.5?16*e*e*e*e*e:1-(-2*e+2)**5/2,easeInSine:e=>1-Math.cos(e*Math.PI/2),easeOutSine:e=>Math.sin(e*Math.PI/2),easeInOutSine:e=>-(Math.cos(Math.PI*e)-1)/2,easeInExpo:e=>e===0?0:2**(10*e-10),easeOutExpo:e=>e===1?1:1-2**(-10*e),easeInOutExpo:e=>e===0?0:e===1?1:e<.5?2**(20*e-10)/2:(2-2**(-20*e+10))/2,easeInCirc:e=>1-Math.sqrt(1-e*e),easeOutCirc:e=>Math.sqrt(1-(e-1)**2),easeInOutCirc:e=>e<.5?(1-Math.sqrt(1-(2*e)**2))/2:(Math.sqrt(1-(-2*e+2)**2)+1)/2,easeInBack:e=>mx*e*e*e-fx*e*e,easeOutBack:e=>1+mx*(e-1)**3+fx*(e-1)**2,easeInOutBack:e=>e<.5?(2*e)**2*(7.189819*e-px)/2:((2*e-2)**2*(3.5949095*(e*2-2)+px)+2)/2,easeInElastic:e=>e===0?0:e===1?1:-(2**(10*e-10))*Math.sin((e*10-10.75)*hx),easeOutElastic:e=>e===0?0:e===1?1:2**(-10*e)*Math.sin((e*10-.75)*hx)+1,easeInOutElastic:e=>e===0?0:e===1?1:e<.5?-(2**(20*e-10)*Math.sin((20*e-11.125)*gx))/2:2**(-20*e+10)*Math.sin((20*e-11.125)*gx)/2+1,easeInBounce:bx,easeOutBounce:yx,easeInOutBounce:e=>e<.5?(1-bx(1-2*e))/2:(1+bx(2*e-1))/2},Sx=Object.keys(xx);function Cx(e){if(typeof e==`function`)return e;let t=xx[e];if(!t)throw Error(`[s3m] 未知的缓动曲线: ${String(e)}`);return t}var wx=8,Tx=.001,Ex=1e-7,Dx=12,Ox=(e,t)=>1-3*t+3*e,kx=(e,t)=>3*t-6*e,Ax=e=>3*e;function jx(e,t,n){return((Ox(t,n)*e+kx(t,n))*e+Ax(t))*e}function Mx(e,t,n){return 3*Ox(t,n)*e*e+2*kx(t,n)*e+Ax(t)}function Nx(e,t,n,r){if(e===t&&n===r)return e=>e;let i=t=>{let r=t;for(let i=0;i<wx;i++){let i=Mx(r,e,n);if(Math.abs(i)<Tx)break;let a=jx(r,e,n)-t;if(Math.abs(a)<Ex)return r;r-=a/i}let i=0,a=1;r=t;for(let o=0;o<Dx;o++){let o=jx(r,e,n);if(Math.abs(o-t)<Ex)return r;o<t?i=r:a=r,r=(i+a)/2}return r};return e=>e<=0?0:e>=1?1:jx(i(e),t,r)}function Px(e,t=`end`){let n=Math.max(1,Math.floor(e));return e=>{let r=Math.min(1,Math.max(0,e));return t===`start`?Math.min(1,(Math.floor(r*n)+1)/n):Math.min(1,Math.floor(r*n)/n)}}uh();var Fx=1e-4,Ix=.15;function Lx(e){return e<0?0:e>1?1:e}function Rx(e,t,n){let r=0;for(let i=0;i<n;i++){let n=Math.abs(e[i]-t[i]);n>r&&(r=n)}return r}var zx=class{constructor(e,t){X(this,`key`,void 0),X(this,`channel`,void 0),X(this,`dim`,void 0),X(this,`to`,new Float32Array(3)),X(this,`_cur`,new Float32Array(3)),X(this,`done`,!1),X(this,`onComplete`,void 0),this.key=e,this.channel=t,this.dim=t.dim}},Bx=class extends zx{constructor(...e){super(...e),X(this,`_from`,new Float32Array(3)),X(this,`_start`,0),X(this,`_duration`,0),X(this,`_delay`,0),X(this,`_ease`,Cx(`linear`)),X(this,`_retarget`,`proportional`),X(this,`_span`,0),X(this,`_progress`,0)}get progress(){return this._progress}start(e,t,n){n?this._from.set(n.subarray(0,this.dim)):this.channel.read(this._from),this._start=e,this._delay=Math.max(0,t.delay??0),this._duration=Math.max(0,t.duration??0),this._ease=t.easing?Cx(t.easing):Cx(`linear`),this._retarget=t.retarget??`proportional`,this._span=Rx(this._from,this.to,this.dim),this._progress=0,this.done=!1}advance(e){let t=e-this._start-this._delay,n=this._duration<=0?1:Lx(t/this._duration);this._progress=n;let r=this._ease(n);for(let e=0;e<this.dim;e++)this._cur[e]=this._from[e]+(this.to[e]-this._from[e])*r;this.channel.write(this._cur),n>=1&&(this.done=!0)}retarget(e,t,n){this.channel.read(this._from),this.to.set(e.subarray(0,this.dim));let r=Math.max(0,n.duration??this._duration),i=r;if((n.retarget??this._retarget)!==`fixed`&&this._span>Fx){let e=Rx(this._from,this.to,this.dim)/this._span;i=Math.min(r,Math.max(r*Ix,r*e))}this._start=t,this._delay=Math.max(0,n.delay??0),this._duration=i,this._ease=n.easing?Cx(n.easing):this._ease,this._span=Rx(this._from,this.to,this.dim),this._progress=0,this.done=!1}},Vx=class extends zx{constructor(...e){super(...e),X(this,`_x0`,new Float32Array(3)),X(this,`_v0`,new Float32Array(3)),X(this,`_vel`,new Float32Array(3)),X(this,`_start`,0),X(this,`_k`,120),X(this,`_c`,14),X(this,`_eps`,.001),X(this,`_progress`,0)}get progress(){return this._progress}start(e,t,n){let r=t.spring??{stiffness:120,damping:14};this._k=Math.max(.001,r.stiffness),this._c=Math.max(0,r.damping),this._eps=r.epsilon??.001,n?this._x0.set(n.subarray(0,this.dim)):this.channel.read(this._x0),this._v0.fill(0),this._vel.fill(0),this._start=e,this.done=!1,this._progress=0}advance(e){let t=Math.max(0,(e-this._start)/1e3),n=!0;for(let e=0;e<this.dim;e++){let{x:r,v:i}=Hx(this._x0[e]-this.to[e],this._v0[e],this._k,this._c,t);this._cur[e]=this.to[e]+r,this._vel[e]=i,(Math.abs(r)>this._eps||Math.abs(i)>this._eps)&&(n=!1)}if(this.channel.write(this._cur),n){for(let e=0;e<this.dim;e++)this._cur[e]=this.to[e];this.channel.write(this._cur),this.done=!0,this._progress=1}}retarget(e,t,n){this.channel.read(this._cur);let r=n.spring;r&&(this._k=Math.max(.001,r.stiffness),this._c=Math.max(0,r.damping),this._eps=r.epsilon??this._eps);let i=Math.max(0,(t-this._start)/1e3);for(let t=0;t<this.dim;t++){let n=Hx(this._x0[t]-this.to[t],this._v0[t],this._k,this._c,i);this._x0[t]=this._cur[t]-e[t],this._v0[t]=n.v}this.to.set(e.subarray(0,this.dim)),this._start=t,this.done=!1}};function Hx(e,t,n,r,i){let a=Math.sqrt(n),o=r/(2*a);if(o<1){let n=a*Math.sqrt(1-o*o),r=Math.exp(-o*a*i),s=Math.cos(n*i),c=Math.sin(n*i),l=e,u=(t+o*a*e)/n;return{x:r*(l*s+u*c),v:r*((u*n-o*a*l)*s+(-l*n-o*a*u)*c)}}let s=Math.exp(-a*i),c=t+a*e;return{x:(e+c*i)*s,v:(t-a*c*i)*s}}var Ux=class{constructor(e=()=>performance.now()){X(this,`_channels`,new Map),X(this,`_tracks`,new Map),X(this,`_buf`,new Float32Array(3)),X(this,`_finished`,[]),X(this,`_now`,void 0),X(this,`_budgetMs`,2.5),X(this,`_lastTick`,-1/0),X(this,`_skipped`,0),X(this,`onActive`,void 0),this._now=e}set budgetMs(e){this._budgetMs=Math.max(0,e)}get budgetMs(){return this._budgetMs}get skippedLastTick(){return this._skipped}get activeCount(){return this._tracks.size}get active(){return this._tracks.size>0}register(e,t){this._channels.set(e,t)}unregister(e){this._channels.delete(e),this._tracks.delete(e)}unregisterPrefix(e){for(let t of[...this._channels.keys()])t.startsWith(e)&&(this._channels.delete(t),this._tracks.delete(t))}has(e){return this._channels.has(e)}isActive(e){return this._tracks.has(e)}to(e,t,n={}){let r=this._channels.get(e);if(!r)throw Error(`[s3m] 未注册的动画通道: ${e}`);let i=this._buf;if(r.dim===1)i[0]=typeof t==`number`?t:Number(t[0]),i[1]=0,i[2]=0;else{if(typeof t==`number`)throw Error(`[s3m] 通道 ${e} 需要三元数组目标值`);for(let e=0;e<3;e++)i[e]=Number(t[e]??0)}let a=!!n.spring,o=Math.max(0,n.duration??0);if(!a&&o<=0&&!n.delay){this._tracks.delete(e),r.write(i),this.onActive?.(),n.onComplete?.();return}let s=Math.max(this._now(),this._lastTick),c=this._tracks.get(e),l=a,u=c instanceof Vx;if(c&&c!=null&&u!==l&&(this._tracks.delete(e),c=void 0),c||this.onActive?.(),!c){let t=l?new Vx(e,r):new Bx(e,r);t.to.set(i.subarray(0,r.dim)),t.onComplete=n.onComplete,t.start(s,n),this._tracks.set(e,t)}else c.to.set(i.subarray(0,r.dim)),c.onComplete=n.onComplete,c.retarget(i,s,n)}cancel(e){this._tracks.delete(e)}finish(e){let t=this._tracks.get(e);t&&(this._tracks.delete(e),t.channel.write(t.to),this.onActive?.(),t.onComplete?.())}clear(){this._tracks.clear()}tick(e=this._now()){if(this._tracks.size===0)return this._lastTick=Math.max(this._lastTick,e),!1;this._lastTick=Math.max(this._lastTick,e);let t=performance.now(),n=0;for(let r of this._tracks.values())if(r.advance(e),n++,r.done&&this._finished.push(r),performance.now()-t>=this._budgetMs)break;if(this._finished.length>0){for(let e of this._finished)this._tracks.get(e.key)===e&&this._tracks.delete(e.key);let e=this._finished.splice(0,this._finished.length);for(let t of e)t.onComplete?.()}return this._skipped=Math.max(0,this._tracks.size-n),this._tracks.size>0}};rh(),ob(),zy();function Wx(){return{uResolution:{value:new B(1,1)},uDpr:{value:1}}}var Gx=`
4599
4599
  attribute vec3 aOther;
4600
4600
  attribute float aSide;
4601
4601
  attribute float aBatchId;
@@ -4729,7 +4729,7 @@ void main() {
4729
4729
 
4730
4730
  gl_Position = vec4( ndc * clipA.w, clipA.z, clipA.w );
4731
4731
  }
4732
- `,Bx=`
4732
+ `,Kx=`
4733
4733
  uniform vec3 uColor;
4734
4734
  uniform float uOpacity;
4735
4735
 
@@ -4737,9 +4737,9 @@ void main() {
4737
4737
  if ( uOpacity <= 0.003 ) discard;
4738
4738
  gl_FragColor = vec4( uColor, uOpacity );
4739
4739
  }
4740
- `;function Vx(e,t={},n,r){let i=n??{uColor:{value:new W(t.color??`#ffffff`)},uOpacity:{value:t.opacity??1},uWidth:{value:t.width??1.5},uElevation:{value:t.elevation??0}};t.color!==void 0&&n&&i.uColor.value.set(t.color),t.opacity!==void 0&&n&&(i.uOpacity.value=t.opacity),t.width!==void 0&&n&&(i.uWidth.value=t.width);let a={uBatchTex:r?.uBatchTex??{value:Uy},uBatchTex2:r?.uBatchTex2??{value:Uy},uBatchMix:r?.uBatchMix??{value:0},uBatchTexWidth:r?.uBatchTexWidth??{value:1},uBatchTexActive:r?.uBatchTexActive??{value:0},uPathTex:r?.uPathTex??{value:My.DUMMY_PATH_TEX},uPathCount:r?.uPathCount??{value:1},uPathTexActive:r?.uPathTexActive??{value:0},uPathTime:r?.uPathTime??{value:0}},o=new gc({uniforms:{uResolution:e.uResolution,uDpr:e.uDpr,uColor:i.uColor,uOpacity:i.uOpacity,uWidth:i.uWidth,uElevation:i.uElevation??{value:t.elevation??0},uTranslation:{value:new H(0,0,0)},uBatchTex:a.uBatchTex,uBatchTex2:a.uBatchTex2,uBatchMix:a.uBatchMix,uBatchTexWidth:a.uBatchTexWidth,uBatchTexActive:a.uBatchTexActive,uPathTex:a.uPathTex,uPathCount:a.uPathCount,uPathTexActive:a.uPathTexActive,uPathTime:a.uPathTime},vertexShader:zx,fragmentShader:Bx,transparent:!0,depthWrite:!1,side:2,polygonOffset:!0,polygonOffsetFactor:-2,polygonOffsetUnits:-2});return o.userData.isThickLine=!0,o}function Hx(e,t){let n=Math.floor(e.length/6),r=n*4,i=new Float32Array(r*3),a=new Float32Array(r*3),o=new Float32Array(r),s=new Float32Array(r),c=r>65535?new Uint32Array(n*6):new Uint16Array(n*6);for(let r=0;r<n;r++){let n=r*6,i=e[n],a=e[n+1],o=e[n+2],u=e[n+3],d=e[n+4],f=e[n+5],p=t?Number(t[r]??-1):-1,m=r*4;l(m,i,a,o,u,d,f,-1),l(m+1,i,a,o,u,d,f,1),l(m+2,u,d,f,i,a,o,1),l(m+3,u,d,f,i,a,o,-1);for(let e=0;e<4;e++)s[m+e]=p;let h=r*6;c[h]=m,c[h+1]=m+1,c[h+2]=m+2,c[h+3]=m,c[h+4]=m+2,c[h+5]=m+3}function l(e,t,n,r,s,c,l,u){let d=e*3;i[d]=t,i[d+1]=n,i[d+2]=r,a[d]=s,a[d+1]=c,a[d+2]=l,o[e]=u}let u=new q;return u.setAttribute(`position`,new G(i,3)),u.setAttribute(`aOther`,new G(a,3)),u.setAttribute(`aSide`,new G(o,1)),u.setAttribute(`aBatchId`,new G(s,1)),u.setIndex(new G(c,1)),u.computeBoundingSphere(),u}function Ux(e,t){let n=e.getAttribute(`position`),r=e.getAttribute(`aBatchId`);if(!n||!r||n.count===0||n.count!==r.count)return null;let i=1/Math.max(t,1e-9),a=new Map;for(let e=0;e<n.count;e++){let t=Wx(n.getX(e),n.getY(e),n.getZ(e),i);a.has(t)||a.set(t,r.getX(e))}return a.size>0?a:null}function Wx(e,t,n,r){return`${Math.round(e*r)},${Math.round(t*r)},${Math.round(n*r)}`}var Gx=6e4,Kx=100;function qx(e,t,n=40){let r=e.getAttribute(`position`);if(!r)return null;let i=r.count;if(i<3)return null;let a=new Float32Array(i),o=new Float32Array(i),s=new Float32Array(i);for(let e=0;e<i;e++)a[e]=r.getX(e),o[e]=r.getY(e),s[e]=r.getZ(e);let c=null,l=null;if(!e.index){let e=new Map;c=new Uint32Array(i),l=new Uint32Array(i);let t=0;for(let n=0;n<i;n++){let r=`${Math.round(a[n]*Kx)},${Math.round(o[n]*Kx)},${Math.round(s[n]*Kx)}`,i=e.get(r);i===void 0&&(i=t++,e.set(r,i),l[i]=n),c[n]=i}}let u=e=>c?c[e]:e,d=e=>l?l[e]:e,f=e.index,p=f?f.array:null,m=Math.floor(f?f.count/3:i/3);if(m<1)return null;let h=null;if(t&&t.length>0){h=new Uint8Array(i);for(let e of t){let t=Math.max(0,e.vertexOffset|0),n=Math.min(i,t+(e.vertexCount|0));n>t&&h.fill(1,t,n)}if(!h.includes(1))return null}let g=new Float32Array(m*3),_=new Map,v=i+1,y=[],b=Math.cos(n*Math.PI/180),x=-1,S=0,C=0,w=0,T=(e,t)=>{if(y.length>=Gx*6)return!1;let n=d(e),r=d(t);return y.push(a[n],o[n],s[n],a[r],o[r],s[r]),!0},E=(e,t)=>{if(e===t)return;let n=e<t?e:t,r=e<t?t:e,i=n*v+r,a=_.get(i);a===void 0?_.set(i,x):a<0||(S*g[a*3]+C*g[a*3+1]+w*g[a*3+2]<b?(T(n,r),_.set(i,-1)):_.set(i,-2))};for(x=0;x<m;x++){let e=p?p[x*3]:x*3,t=p?p[x*3+1]:x*3+1,n=p?p[x*3+2]:x*3+2;if(h&&!(h[e]&&h[t]&&h[n]))continue;let r=a[t]-a[e],i=o[t]-o[e],c=s[t]-s[e],l=a[n]-a[e],d=o[n]-o[e],f=s[n]-s[e];S=i*f-c*d,C=c*l-r*f,w=r*d-i*l;let m=Math.hypot(S,C,w);m<1e-12||(S/=m,C/=m,w/=m,g[x*3]=S,g[x*3+1]=C,g[x*3+2]=w,E(u(e),u(t)),E(u(t),u(n)),E(u(n),u(e)))}for(let[e,t]of _){if(t<0)continue;let n=Math.floor(e/v);if(!T(n,e-n*v))break}return y.length>0?new Float32Array(y):null}rh();function Jx(e,t,n,r){return`${Math.round(e*r)},${Math.round(t*r)},${Math.round(n*r)}`}function Yx(e,t){let n=e.getAttribute(`position`);if(!n||n.count===0)return e;let r=1/Math.max(t,1e-9),i=new Map,a=[],o=new Int32Array(n.count);for(let e=0;e<n.count;e++){let t=n.getX(e),s=n.getY(e),c=n.getZ(e),l=Jx(t,s,c,r),u=i.get(l);u===void 0&&(u=a.length/3,a.push(t,s,c),i.set(l,u)),o[e]=u}let s=e.getIndex(),c=s?s.count:n.count,l=new Uint32Array(c);for(let e=0;e<c;e++)l[e]=o[s?s.getX(e):e];let u=new q;return u.setAttribute(`position`,new K(a,3)),u.setIndex(new G(l,1)),u}rh(),uh();var Xx=class{constructor(){X(this,`datasets`,new Map),X(this,`sceneAnchor`,null),X(this,`totalMaxTiles`,0)}get(e){return this.datasets.get(e)}values(){return this.datasets.values()}registerDataset(e){let t=this.datasets.get(e.id);if(t)return t;let n=new Ml;n.name=`s3m-dataset:${e.id}`,n.visible=e.visible!==!1;let r={id:e.id,name:e.name??e.id,options:e,root:n,tileset:null,anchor:null,baseAlignOffset:0,userOffset:e.heightOffset??0,heightOffset:e.heightOffset??0,offset:[0,0,0],visible:e.visible!==!1,error:null};return this.datasets.set(e.id,r),this.rebalanceBudgets(),r}rebalanceBudgets(e){let t=e??this.totalMaxTiles;if(!t||t<=0)return;this.totalMaxTiles=t;let n=Array.from(this.datasets.values()).filter(e=>e.visible&&e.tileset),r=Math.max(1,n.length),i=Math.max(8,Math.floor(t/r));for(let e of this.datasets.values())e.tileset&&(e.visible?(e.tileset.maxTiles=i,e.tileset.hardCap=i+Math.max(4,Math.ceil(i*.5))):(e.tileset.maxTiles=Math.min(4,e.tileset.maxTiles),e.tileset.hardCap=Math.min(6,e.tileset.hardCap)))}computeAlignOffset(e,t){if(!t||t===`origin`||!e)return 0;let n=e.heightRange;if(!n)return 0;switch(t){case`top`:return-n.max;case`bottom`:return-n.min;case`center`:return-(n.min+n.max)/2;default:return 0}}async addDataset(e,t,n,r,i,a,o,s,c){let l=this.datasets.get(e.id);if(l)return l;let u=new Ml;u.name=`s3m-dataset:${e.id}`,u.visible=e.visible!==!1,t.add(u);let d={id:e.id,name:e.name??e.id,options:e,root:u,tileset:null,anchor:null,baseAlignOffset:0,userOffset:e.heightOffset??0,heightOffset:e.heightOffset??0,offset:[0,0,0],visible:e.visible!==!1,error:null};this.datasets.set(e.id,d);let f=new Wb({configUrl:e.configUrl,maxTiles:e.maxTiles??o,maxConcurrent:s,lodRangeScale:e.lodRangeScale??i,buildTile:a??null,useWorker:e.useWorker,uniforms:r,onTile:e=>{c.onTile(e,d)},onTileRemoved:e=>{c.onTileRemoved(e,d)},onProgress:()=>{c.onStats(),c.triggerRepaint()},onError:e=>{d.error=e,c.onError(e),c.onStats()}});d.tileset=f,this.rebalanceBudgets();try{await f.init()}catch(e){return d.error=e,c.onError(e),d}return d.anchor=f.anchor,d.baseAlignOffset=this.computeAlignOffset(f,e.align),d.userOffset=e.heightOffset??0,d.heightOffset=d.baseAlignOffset+d.userOffset,this.layoutDataset(d,n),c.onReady(d),c.triggerRepaint(),d}removeDataset(e,t,n,r){let i=this.datasets.get(e);return i?(r(i),i.tileset?.dispose(),t.remove(i.root),this.datasets.delete(e),this.rebalanceBudgets(),this.datasets.size>0?this.recomputeAnchors(n):this.sceneAnchor=null,!0):!1}clearDatasets(e,t){for(let n of this.datasets.values())t(n),n.tileset?.dispose(),e.remove(n.root);this.datasets.clear(),this.sceneAnchor=null}layoutDataset(e,t){if(!e.anchor)return;this.sceneAnchor||(this.sceneAnchor=m_(t,e.anchor.lon,e.anchor.lat,e.anchor.height??0));let n=this.sceneAnchor.meterInMercator,r=m_(t,e.anchor.lon,e.anchor.lat,e.anchor.height??0);e.offset=[(r.x-this.sceneAnchor.x)/n,-(r.y-this.sceneAnchor.y)/n,(r.z-this.sceneAnchor.z)/n+(e.heightOffset??0)],e.root.position.set(e.offset[0],e.offset[1],e.offset[2]),e.root.updateMatrixWorld(!0)}recomputeAnchors(e){if(this.datasets.size!==0){this.sceneAnchor=null;for(let t of this.datasets.values())this.layoutDataset(t,e)}}getDatasetHeight(e){let t=e??this.datasets.keys().next().value;return t?this.datasets.get(t)?.userOffset??0:0}setDatasetHeight(e,t,n){let r=this.datasets.get(e);r&&(r.userOffset=t,r.heightOffset=r.baseAlignOffset+t,this.layoutDataset(r,n))}setDatasetAlign(e,t,n){let r=this.datasets.get(e);if(!r)return;let i=r.heightOffset-r.baseAlignOffset;r.baseAlignOffset=this.computeAlignOffset(r.tileset,t),r.userOffset=i,r.heightOffset=r.baseAlignOffset+i,r.options.align=t,this.layoutDataset(r,n)}setDatasetVisible(e,t){let n=this.datasets.get(e);n&&(n.visible=t,n.root.visible=t,this.rebalanceBudgets())}getBounds(){let e=1/0,t=1/0,n=-1/0,r=-1/0,i=!1;for(let a of this.datasets.values()){if(!a.visible||!a.tileset?.config)continue;let o=Vb(a.tileset.config.geoBounds);o&&(e=Math.min(e,o.left),t=Math.min(t,o.bottom),n=Math.max(n,o.right),r=Math.max(r,o.top),i=!0)}return i?[[e,t],[n,r]]:null}};rh(),a_(),uh();function Zx(e){if(e==null)return null;if(typeof e==`number`){let t=Math.cos(e),n=Math.sin(e);return[t,-n,0,n,t,0,0,0,1]}if(Array.isArray(e)){if(e.length===3){let t=new Xo(e[0],e[1],e[2]),n=new U().makeRotationFromEuler(t).elements;return[n[0],n[4],n[8],n[1],n[5],n[9],n[2],n[6],n[10]]}if(e.length===4){let t=new fo(e[0],e[1],e[2],e[3]),n=new U().makeRotationFromQuaternion(t).elements;return[n[0],n[4],n[8],n[1],n[5],n[9],n[2],n[6],n[10]]}}if(e instanceof Xo){let t=new U().makeRotationFromEuler(e).elements;return[t[0],t[4],t[8],t[1],t[5],t[9],t[2],t[6],t[10]]}if(e instanceof fo){let t=new U().makeRotationFromQuaternion(e).elements;return[t[0],t[4],t[8],t[1],t[5],t[9],t[2],t[6],t[10]]}if(e instanceof V){let t=e.elements;return[t[0],t[3],t[6],t[1],t[4],t[7],t[2],t[5],t[8]]}if(e instanceof U){let t=e.elements;return[t[0],t[4],t[8],t[1],t[5],t[9],t[2],t[6],t[10]]}return null}function Qx(e){if(e==null)return[0,0,0];if(typeof e==`number`)return[0,0,e];if(Array.isArray(e)){if(e.length===3)return[e[0],e[1],e[2]];if(e.length===4){let t=new fo(e[0],e[1],e[2],e[3]),n=new Xo().setFromQuaternion(t);return[n.x,n.y,n.z]}}if(e instanceof Xo)return[e.x,e.y,e.z];if(e instanceof fo){let t=new Xo().setFromQuaternion(e);return[t.x,t.y,t.z]}if(e instanceof V){let t=new U().set(e.elements[0],e.elements[3],e.elements[6],0,e.elements[1],e.elements[4],e.elements[7],0,e.elements[2],e.elements[5],e.elements[8],0,0,0,0,1),n=new Xo().setFromRotationMatrix(t);return[n.x,n.y,n.z]}if(e instanceof U){let t=new Xo().setFromRotationMatrix(e);return[t.x,t.y,t.z]}return[0,0,0]}function $x(e){let t=Array.isArray(e.material)?e.material[0]:e.material;return t?.userData?.isStyled?t:null}function eS(e,t){if(e.length<2)return e[0].clone();let n=Math.min(1,Math.max(0,t))*(e.length-1),r=Math.min(e.length-2,Math.floor(n));return e[r].clone().lerp(e[r+1],n-r)}function tS(e,t,n){if(n.keep&&!n.keep(e,t))return!1;if(n.values?.length){let t=e==null?``:String(e);if(!n.values.some(e=>String(e)===t))return!1}if(n.min!=null||n.max!=null){let t=Number(e);if(!Number.isFinite(t)||n.min!=null&&t<n.min||n.max!=null&&t>n.max)return!1}return!n.keep&&!n.values?.length&&n.min==null&&n.max==null?e!=null&&String(e)!==``:!0}function nS(e){if(!Number.isFinite(e))return`—`;let t=Math.abs(e);return t>=100?e.toFixed(0):t>=10?e.toFixed(1):e.toFixed(2)}var rS=class{constructor(e,t,n,r,i,a=()=>!1){X(this,`_getLayerFloorHeight`,void 0),X(this,`_triggerRepaint`,void 0),X(this,`_onStyleChanged`,void 0),X(this,`_getAllMeshes`,void 0),X(this,`_applyOverrideHook`,void 0),X(this,`_isLayerTransparent`,void 0),X(this,`featureStyles`,new Map),X(this,`thematicColors`,new Map),X(this,`thematicElevation`,new Map),X(this,`thematicField`,null),X(this,`elevationField`,null),X(this,`filter`,null),X(this,`fieldFilter`,null),X(this,`_meshBatchTextures`,new WeakMap),X(this,`_markedMeshes`,new Set),X(this,`_dirtyAll`,!1),X(this,`_flushScheduled`,!1),X(this,`_batchConflictWarned`,!1),this._getLayerFloorHeight=e,this._triggerRepaint=t,this._onStyleChanged=n,this._getAllMeshes=r,this._applyOverrideHook=i,this._isLayerTransparent=a}setFeatureStyle(e,t,n){this.featureStyles.set(e,t),this.markOverridesDirty(n),this._onStyleChanged(),this._triggerRepaint()}setFeaturesStyle(e,t,n){for(let n of e)this.featureStyles.set(n,t);this.markOverridesDirty(n),this._onStyleChanged(),this._triggerRepaint()}getFeatureStyle(e){return this.featureStyles.get(e)??null}getFeatureEffectiveOffset(e){if(e==null)return{};let t=this.featureStyles.get(e),n=t?.elevation??this.thematicElevation.get(e);return{translation:t?.translation,elevation:n,rotation:t?.rotation,pivot:t?.pivot}}getFeatureStyles(){return new Map(this.featureStyles)}removeFeatureStyle(e,t){this.featureStyles.delete(e)&&(this.markOverridesDirty(t),this._onStyleChanged(),this._triggerRepaint())}clearFeatureStyles(){this.featureStyles.size>0&&(this.featureStyles.clear(),this.markOverridesDirty(),this._onStyleChanged(),this._triggerRepaint())}setThematicColors(e,t=`custom`){this.thematicColors=e&&e.size>0?new Map(e):new Map,this.thematicField=this.thematicColors.size>0?t:null,this.markOverridesDirty(),this._triggerRepaint()}clearThematicColors(){this.thematicColors.size!==0&&(this.thematicColors=new Map,this.thematicField=null,this.markOverridesDirty(),this._triggerRepaint())}setThematicElevation(e,t=`custom`){this.thematicElevation=e&&e.size>0?new Map([...e].filter(([,e])=>Number.isFinite(e)&&e>0)):new Map,this.elevationField=this.thematicElevation.size>0?t:null,this.markOverridesDirty(),this._onStyleChanged(),this._triggerRepaint()}clearThematicElevation(){this.thematicElevation.size!==0&&(this.thematicElevation=new Map,this.elevationField=null,this.markOverridesDirty(),this._onStyleChanged(),this._triggerRepaint())}setFilter(e,t){this.filter=e,e&&(e.minHeight!=null||e.maxHeight!=null)?(t.uFilterMinZ&&(t.uFilterMinZ.value=e.minHeight??-99999),t.uFilterMaxZ&&(t.uFilterMaxZ.value=e.maxHeight??99999),t.uFilterHeightActive&&(t.uFilterHeightActive.value=1)):t.uFilterHeightActive&&(t.uFilterHeightActive.value=0),this.markOverridesDirty(),this._onStyleChanged(),this._triggerRepaint()}clearFilter(e){this.setFilter(null,e)}async colorByField(e,t,n){if(!t)throw Error(`[s3m] 未配置业务属性数据源,先调用 setAttributeSource() 或构造时传 attributes`);let r=e.smids?.length?[...new Set(e.smids)]:n;if(!r.length)return this.clearThematicColors(),{field:e.field,type:`discrete`,matched:0,missing:0,legend:[]};let i=await t.queryBySmids(r),a=[],o=[];for(let t of r){let n=i.get(t),r=n?n[e.field]:void 0;if(r==null||r===``)continue;let s=Number(r);Number.isFinite(s)?a.push({smid:t,val:s}):o.push({smid:t,val:String(r)})}let s=a.length>=o.length&&a.length>0,c=new Map,l=[],u=e.defaultColor??`#64748b`,d=e.nullColor??`#334155`;if(s){let t=a.map(e=>e.val),n=Math.min(...t),r=Math.max(...t)-n||1,i=(e.ramp??[`#3b82f6`,`#10b981`,`#f59e0b`,`#ef4444`]).map(e=>new W(e)),o=Math.max(2,e.stops??5);for(let e=0;e<o;e++){let t=e/o,a=(e+1)/o,s=eS(i,(t+a)/2),c=n+t*r,u=n+a*r;l.push({color:`#${s.getHexString()}`,label:`${nS(c)} ~ ${nS(u)}`,count:0,min:c,max:u})}for(let{smid:e,val:t}of a){let i=Math.min(1,Math.max(0,(t-n)/r)),a=Math.min(o-1,Math.floor(i*o)),s=l[a].color;c.set(e,s),l[a].count++}}else{let t=new Map;for(let{val:e}of o)t.set(e,(t.get(e)??0)+1);let n=[...t.entries()].sort((e,t)=>t[1]-e[1]),r=Array.isArray(e.colors)?e.colors:[`#3b82f6`,`#10b981`,`#f59e0b`,`#ef4444`,`#8b5cf6`,`#ec4899`,`#06b6d4`,`#84cc16`],i=!Array.isArray(e.colors)&&e.colors?e.colors:null;for(let e=0;e<n.length;e++){let[t,a]=n[e],o=i?.[t]??r[e%r.length];l.push({color:o,label:t,count:a})}let a=new Map(l.map(e=>[e.label,e.color]));for(let{smid:e,val:t}of o)c.set(e,a.get(t)??u)}let f=0;for(let e of r)c.has(e)||(c.set(e,d),f++);return f>0&&l.push({color:d,label:`无数据 / 缺失`,count:f}),this.setThematicColors(c,e.field),{field:e.field,type:s?`continuous`:`discrete`,matched:r.length-f,missing:f,legend:l}}async filterByField(e,t,n){if(!t)throw Error(`[s3m] 未配置业务属性数据源,先调用 setAttributeSource() 或构造时传 attributes`);let r=e.smids?.length?[...new Set(e.smids)]:n,i=e.mode??`keep`,a=e.onMissing??`drop`,o={field:e.field,mode:i,matched:0,hidden:[]};if(!r.length)return this.fieldFilter=null,this.markOverridesDirty(),o;let s=await t.queryBySmids(r),c=new Set;for(let t of r){let n=s.get(t);n?tS(n[e.field]??null,n,e)&&c.add(t):a===`keep`&&c.add(t)}o.matched=c.size;let l=i===`keep`;return this.fieldFilter=c.size||l?{field:e.field,mode:l?`keep`:`drop`,matched:c}:null,o.hidden=r.filter(e=>l?!c.has(e):c.has(e)),this.markOverridesDirty(),this._onStyleChanged(),this._triggerRepaint(),o}clearFieldFilter(){this.fieldFilter&&(this.fieldFilter=null,this.markOverridesDirty(),this._triggerRepaint())}async elevateByField(e,t,n){if(!t)throw Error(`[s3m] 未配置业务属性数据源,先调用 setAttributeSource() 或构造时传 attributes`);let r=e.smids?.length?[...new Set(e.smids)]:n,i={field:e.field,matched:0,missing:r.length,min:0,max:0,appliedMax:0};if(!r.length)return this.thematicElevation=new Map,this.elevationField=null,this.markOverridesDirty(),i;let a=await t.queryBySmids(r),o=new Map;for(let t of r){let n=Number(a.get(t)?.[e.field]);Number.isFinite(n)&&o.set(t,n)}if(o.size===0)return this.thematicElevation=new Map,this.elevationField=null,this.markOverridesDirty(),this._onStyleChanged(),this._triggerRepaint(),i;let s=[...o.values()],c=Math.min(...s),l=Math.max(...s),u=e.scale??1,d=e.offset??0,f=new Map,p=0;for(let[t,n]of o){let r=e.map?e.map(n,{min:c,max:l}):n*u+d;Number.isFinite(r)&&(e.max!=null&&r>e.max&&(r=e.max),!(r<=0)&&(f.set(t,r),r>p&&(p=r)))}return this.thematicElevation=f,this.elevationField=e.field,this.markOverridesDirty(),this._onStyleChanged(),this._triggerRepaint(),{field:e.field,matched:f.size,missing:r.length-o.size,min:c,max:l,appliedMax:p}}auditBatches(e){let t=[],n=new Set,r=0;for(let i of e){let e=i.mesh.userData.geoRef?.pickInfo;if(!e)continue;let a=new Map;for(let[t,n]of Object.entries(e)){let e=Qg(n);if(e<0)continue;let r=Number(t),i=a.get(e);i?i.push(r):a.set(e,[r])}r+=a.size;for(let[e,r]of a)if(!(r.length<2)){for(let e of r)n.add(e);t.push({datasetId:i.datasetId,batchId:e,smids:r})}}return{smids:0,batches:r,conflicts:t,conflictingSmids:n.size}}_bakeStylesIntoBuffer(e,t,n,r,i){let a=t;for(let t=0;t<a;t++){e[t*4+0]=-1,e[t*4+1]=-1,e[t*4+2]=-1,e[t*4+3]=0;let n=(a+t)*4;e[n+0]=0,e[n+1]=0,e[n+2]=0,e[n+3]=0;let r=(a*2+t)*4;e[r+0]=1,e[r+1]=0,e[r+2]=0,e[r+3]=0;let i=(a*3+t)*4;e[i+0]=0,e[i+1]=1,e[i+2]=0,e[i+3]=0;let o=(a*4+t)*4;e[o+0]=0,e[o+1]=0,e[o+2]=1,e[o+3]=0;let s=(a*5+t)*4;e[s+0]=-1,e[s+1]=0,e[s+2]=0,e[s+3]=0}let o=!1,s=new Set,c=new Map,l=new Map,u=new Map,d=new Map,f=new Map,p=new Map,m=new Map,h=new Map,g=this.filter,_=r.userData;for(let[e,t]of Object.entries(n)){let n=Number(e),o=Qg(t);if(o<0||o>=a)continue;h.set(o,(h.get(o)??0)+1);let v=!1;if(g&&(g.include&&g.include.length>0&&!g.include.includes(n)&&(v=!0),g.exclude&&g.exclude.length>0&&g.exclude.includes(n)&&(v=!0),g.predicate)){let{segments:e}=e_(_.geoRef,o),t=n_({smid:n,box:t_(r.geometry,e),triangles:0,floorHeight:this._getLayerFloorHeight()});g.predicate({...t,smid:n})||(v=!0)}if(v){s.add(o);continue}if(this.fieldFilter){let e=this.fieldFilter.matched.has(n);if(this.fieldFilter.mode===`keep`?!e:e){s.add(o);continue}}let y=i.get(n);if(y?.hidden){s.add(o);continue}let b=y?.opacity;if(b!=null){if(b<=0){s.add(o);continue}b<1&&!m.has(o)&&m.set(o,b)}let x=y?.color??this.thematicColors.get(n);x&&!c.has(o)&&c.set(o,x);let S=y?.elevation??this.thematicElevation.get(n);if(S!=null&&!l.has(o)&&l.set(o,S),y?.translation&&!u.has(o)&&u.set(o,y.translation),y?.rotation!=null&&!d.has(o)){let e=Zx(y.rotation);e&&d.set(o,e)}y?.pivot&&!f.has(o)&&f.set(o,y.pivot),y?.gpuPath&&!p.has(o)&&p.set(o,y.gpuPath)}for(let t of s)e[t*4+3]=-1,o=!0;let v=new W;for(let[t,n]of c)s.has(t)||(v.set(n),e[t*4+0]=v.r,e[t*4+1]=v.g,e[t*4+2]=v.b,o=!0);for(let[t,n]of l){if(s.has(t))continue;e[t*4+3]=n;let r=(a+t)*4;e[r+2]=n,o=!0}for(let[t,n]of u){if(s.has(t))continue;let r=(a+t)*4;e[r+0]=n[0],e[r+1]=n[1],e[r+2]=n[2]+(l.get(t)??0),o=!0}let y=!1;for(let[t,n]of m)s.has(t)||(e[(a+t)*4+3]=n,o=!0,y=!0);for(let[t,n]of d){if(s.has(t))continue;let r=f.get(t)??[0,0,0],i=(a*2+t)*4;e[i+0]=n[0],e[i+1]=n[1],e[i+2]=n[2],e[i+3]=r[0];let c=(a*3+t)*4;e[c+0]=n[3],e[c+1]=n[4],e[c+2]=n[5],e[c+3]=r[1];let l=(a*4+t)*4;e[l+0]=n[6],e[l+1]=n[7],e[l+2]=n[8],e[l+3]=r[2],o=!0}for(let[t,n]of f)d.has(t)||s.has(t)||(e[(a*2+t)*4+3]=n[0],e[(a*3+t)*4+3]=n[1],e[(a*4+t)*4+3]=n[2],o=!0);for(let[t,n]of p){if(s.has(t))continue;let r=(a*5+t)*4;e[r+0]=n.pathId,e[r+1]=n.speed??0,e[r+2]=n.phase??0;let i=1;n.loop===`clamp`||n.loop===!1?i=2:n.loop===`pingpong`&&(i=3),n.autoHeading===!1&&(i+=3),e[r+3]=i,o=!0}let b=0;for(let[e,t]of h)t<2||(s.has(e)||c.has(e)||l.has(e)||d.has(e)||p.has(e))&&b++;return{hasActive:o,hasFade:y,conflicts:b}}applyOverridesToMesh(e){let t=$x(e);if(!t)return;let n=e.userData.geoRef?.pickInfo,r=this.featureStyles.size>0||this.thematicColors.size>0||this.thematicElevation.size>0,i=this.filter,a=this.fieldFilter!=null||i!=null&&((i.include?.length??0)>0||(i.exclude?.length??0)>0||i.predicate!=null);if(!r&&!a||!n||Object.keys(n).length===0){t.userData.uBatchTexActive&&(t.userData.uBatchTexActive.value=0),t.transparent&&!this._isLayerTransparent()&&(t.transparent=!1);return}let o=0;for(let e of Object.values(n)){let t=Qg(e);t>o&&(o=t)}let s=Math.max(o+1,1),c=this._meshBatchTextures.get(e);if(!c||c.width<s){let n=new Float32Array(s*6*4),r=new Cu(n,s,6,ci,ei);r.minFilter=Rr,r.magFilter=Rr,c={texture:r,data:n,width:s},this._meshBatchTextures.set(e,c),t.userData.uBatchTex.value=r,t.userData.uBatchTexWidth.value=s}let{data:l,texture:u}=c,{hasActive:d,hasFade:f,conflicts:p}=this._bakeStylesIntoBuffer(l,c.width,n,e,this.featureStyles);f&&!t.transparent?t.transparent=!0:!f&&t.transparent&&!this._isLayerTransparent()&&(t.transparent=!1),p>0&&!this._batchConflictWarned&&(this._batchConflictWarned=!0,console.warn(`[s3m] 有 ${p} 个单体状态写不进独立的 batch(多个 SMID 共用同一个 batchId,\n S3M 的单体化粒度只到 batch,无法单独隐藏/改色其中一部分)。
4740
+ `;function qx(e,t={},n,r){let i=n??{uColor:{value:new W(t.color??`#ffffff`)},uOpacity:{value:t.opacity??1},uWidth:{value:t.width??1.5},uElevation:{value:t.elevation??0}};t.color!==void 0&&n&&i.uColor.value.set(t.color),t.opacity!==void 0&&n&&(i.uOpacity.value=t.opacity),t.width!==void 0&&n&&(i.uWidth.value=t.width);let a={uBatchTex:r?.uBatchTex??{value:Yy},uBatchTex2:r?.uBatchTex2??{value:Yy},uBatchMix:r?.uBatchMix??{value:0},uBatchTexWidth:r?.uBatchTexWidth??{value:1},uBatchTexActive:r?.uBatchTexActive??{value:0},uPathTex:r?.uPathTex??{value:Ry.DUMMY_PATH_TEX},uPathCount:r?.uPathCount??{value:1},uPathTexActive:r?.uPathTexActive??{value:0},uPathTime:r?.uPathTime??{value:0}},o=new gc({uniforms:{uResolution:e.uResolution,uDpr:e.uDpr,uColor:i.uColor,uOpacity:i.uOpacity,uWidth:i.uWidth,uElevation:i.uElevation??{value:t.elevation??0},uTranslation:{value:new H(0,0,0)},uBatchTex:a.uBatchTex,uBatchTex2:a.uBatchTex2,uBatchMix:a.uBatchMix,uBatchTexWidth:a.uBatchTexWidth,uBatchTexActive:a.uBatchTexActive,uPathTex:a.uPathTex,uPathCount:a.uPathCount,uPathTexActive:a.uPathTexActive,uPathTime:a.uPathTime},vertexShader:Gx,fragmentShader:Kx,transparent:!0,depthWrite:!1,side:2,polygonOffset:!0,polygonOffsetFactor:-2,polygonOffsetUnits:-2});return o.userData.isThickLine=!0,o}function Jx(e,t){let n=Math.floor(e.length/6),r=n*4,i=new Float32Array(r*3),a=new Float32Array(r*3),o=new Float32Array(r),s=new Float32Array(r),c=r>65535?new Uint32Array(n*6):new Uint16Array(n*6);for(let r=0;r<n;r++){let n=r*6,i=e[n],a=e[n+1],o=e[n+2],u=e[n+3],d=e[n+4],f=e[n+5],p=t?Number(t[r]??-1):-1,m=r*4;l(m,i,a,o,u,d,f,-1),l(m+1,i,a,o,u,d,f,1),l(m+2,u,d,f,i,a,o,1),l(m+3,u,d,f,i,a,o,-1);for(let e=0;e<4;e++)s[m+e]=p;let h=r*6;c[h]=m,c[h+1]=m+1,c[h+2]=m+2,c[h+3]=m,c[h+4]=m+2,c[h+5]=m+3}function l(e,t,n,r,s,c,l,u){let d=e*3;i[d]=t,i[d+1]=n,i[d+2]=r,a[d]=s,a[d+1]=c,a[d+2]=l,o[e]=u}let u=new q;return u.setAttribute(`position`,new G(i,3)),u.setAttribute(`aOther`,new G(a,3)),u.setAttribute(`aSide`,new G(o,1)),u.setAttribute(`aBatchId`,new G(s,1)),u.setIndex(new G(c,1)),u.computeBoundingSphere(),u}function Yx(e,t){let n=e.getAttribute(`position`),r=e.getAttribute(`aBatchId`);if(!n||!r||n.count===0||n.count!==r.count)return null;let i=1/Math.max(t,1e-9),a=new Map;for(let e=0;e<n.count;e++){let t=Xx(n.getX(e),n.getY(e),n.getZ(e),i);a.has(t)||a.set(t,r.getX(e))}return a.size>0?a:null}function Xx(e,t,n,r){return`${Math.round(e*r)},${Math.round(t*r)},${Math.round(n*r)}`}var Zx=6e4,Qx=100;function $x(e,t,n=40){let r=e.getAttribute(`position`);if(!r)return null;let i=r.count;if(i<3)return null;let a=new Float32Array(i),o=new Float32Array(i),s=new Float32Array(i);for(let e=0;e<i;e++)a[e]=r.getX(e),o[e]=r.getY(e),s[e]=r.getZ(e);let c=null,l=null;if(!e.index){let e=new Map;c=new Uint32Array(i),l=new Uint32Array(i);let t=0;for(let n=0;n<i;n++){let r=`${Math.round(a[n]*Qx)},${Math.round(o[n]*Qx)},${Math.round(s[n]*Qx)}`,i=e.get(r);i===void 0&&(i=t++,e.set(r,i),l[i]=n),c[n]=i}}let u=e=>c?c[e]:e,d=e=>l?l[e]:e,f=e.index,p=f?f.array:null,m=Math.floor(f?f.count/3:i/3);if(m<1)return null;let h=null;if(t&&t.length>0){h=new Uint8Array(i);for(let e of t){let t=Math.max(0,e.vertexOffset|0),n=Math.min(i,t+(e.vertexCount|0));n>t&&h.fill(1,t,n)}if(!h.includes(1))return null}let g=new Float32Array(m*3),_=new Map,v=i+1,y=[],b=Math.cos(n*Math.PI/180),x=-1,S=0,C=0,w=0,T=(e,t)=>{if(y.length>=Zx*6)return!1;let n=d(e),r=d(t);return y.push(a[n],o[n],s[n],a[r],o[r],s[r]),!0},E=(e,t)=>{if(e===t)return;let n=e<t?e:t,r=e<t?t:e,i=n*v+r,a=_.get(i);a===void 0?_.set(i,x):a<0||(S*g[a*3]+C*g[a*3+1]+w*g[a*3+2]<b?(T(n,r),_.set(i,-1)):_.set(i,-2))};for(x=0;x<m;x++){let e=p?p[x*3]:x*3,t=p?p[x*3+1]:x*3+1,n=p?p[x*3+2]:x*3+2;if(h&&!(h[e]&&h[t]&&h[n]))continue;let r=a[t]-a[e],i=o[t]-o[e],c=s[t]-s[e],l=a[n]-a[e],d=o[n]-o[e],f=s[n]-s[e];S=i*f-c*d,C=c*l-r*f,w=r*d-i*l;let m=Math.hypot(S,C,w);m<1e-12||(S/=m,C/=m,w/=m,g[x*3]=S,g[x*3+1]=C,g[x*3+2]=w,E(u(e),u(t)),E(u(t),u(n)),E(u(n),u(e)))}for(let[e,t]of _){if(t<0)continue;let n=Math.floor(e/v);if(!T(n,e-n*v))break}return y.length>0?new Float32Array(y):null}rh();function eS(e,t,n,r){return`${Math.round(e*r)},${Math.round(t*r)},${Math.round(n*r)}`}function tS(e,t){let n=e.getAttribute(`position`);if(!n||n.count===0)return e;let r=1/Math.max(t,1e-9),i=new Map,a=[],o=new Int32Array(n.count);for(let e=0;e<n.count;e++){let t=n.getX(e),s=n.getY(e),c=n.getZ(e),l=eS(t,s,c,r),u=i.get(l);u===void 0&&(u=a.length/3,a.push(t,s,c),i.set(l,u)),o[e]=u}let s=e.getIndex(),c=s?s.count:n.count,l=new Uint32Array(c);for(let e=0;e<c;e++)l[e]=o[s?s.getX(e):e];let u=new q;return u.setAttribute(`position`,new K(a,3)),u.setIndex(new G(l,1)),u}rh(),uh();var nS=class{constructor(){X(this,`datasets`,new Map),X(this,`sceneAnchor`,null),X(this,`totalMaxTiles`,0)}get(e){return this.datasets.get(e)}values(){return this.datasets.values()}registerDataset(e){let t=this.datasets.get(e.id);if(t)return t;let n=new Ml;n.name=`s3m-dataset:${e.id}`,n.visible=e.visible!==!1;let r={id:e.id,name:e.name??e.id,options:e,root:n,tileset:null,anchor:null,baseAlignOffset:0,userOffset:e.heightOffset??0,heightOffset:e.heightOffset??0,offset:[0,0,0],visible:e.visible!==!1,error:null};return this.datasets.set(e.id,r),this.rebalanceBudgets(),r}rebalanceBudgets(e){let t=e??this.totalMaxTiles;if(!t||t<=0)return;this.totalMaxTiles=t;let n=Array.from(this.datasets.values()).filter(e=>e.visible&&e.tileset),r=Math.max(1,n.length),i=Math.max(8,Math.floor(t/r));for(let e of this.datasets.values())e.tileset&&(e.visible?(e.tileset.maxTiles=i,e.tileset.hardCap=i+Math.max(4,Math.ceil(i*.5))):(e.tileset.maxTiles=Math.min(4,e.tileset.maxTiles),e.tileset.hardCap=Math.min(6,e.tileset.hardCap)))}computeAlignOffset(e,t){if(!t||t===`origin`||!e)return 0;let n=e.heightRange;if(!n)return 0;switch(t){case`top`:return-n.max;case`bottom`:return-n.min;case`center`:return-(n.min+n.max)/2;default:return 0}}async addDataset(e,t,n,r,i,a,o,s,c,l=1/0){let u=this.datasets.get(e.id);if(u)return u;let d=new Ml;d.name=`s3m-dataset:${e.id}`,d.visible=e.visible!==!1,t.add(d);let f={id:e.id,name:e.name??e.id,options:e,root:d,tileset:null,anchor:null,baseAlignOffset:0,userOffset:e.heightOffset??0,heightOffset:e.heightOffset??0,offset:[0,0,0],visible:e.visible!==!1,error:null};this.datasets.set(e.id,f);let p=new Xb({configUrl:e.configUrl,maxTiles:e.maxTiles??o,maxConcurrent:s,maxTriangles:e.maxTriangles??l,lodRangeScale:e.lodRangeScale??i,buildTile:a??null,useWorker:e.useWorker,uniforms:r,onTile:e=>{c.onTile(e,f)},onTileRemoved:e=>{c.onTileRemoved(e,f)},onProgress:()=>{c.onStats(),c.triggerRepaint()},onError:e=>{f.error=e,c.onError(e),c.onStats()}});f.tileset=p,this.rebalanceBudgets();try{await p.init()}catch(e){return f.error=e,c.onError(e),f}return f.anchor=p.anchor,f.baseAlignOffset=this.computeAlignOffset(p,e.align),f.userOffset=e.heightOffset??0,f.heightOffset=f.baseAlignOffset+f.userOffset,this.layoutDataset(f,n),c.onReady(f),c.triggerRepaint(),f}removeDataset(e,t,n,r){let i=this.datasets.get(e);return i?(r(i),i.tileset?.dispose(),t.remove(i.root),this.datasets.delete(e),this.rebalanceBudgets(),this.datasets.size>0?this.recomputeAnchors(n):this.sceneAnchor=null,!0):!1}clearDatasets(e,t){for(let n of this.datasets.values())t(n),n.tileset?.dispose(),e.remove(n.root);this.datasets.clear(),this.sceneAnchor=null}layoutDataset(e,t){if(!e.anchor)return;this.sceneAnchor||(this.sceneAnchor=m_(t,e.anchor.lon,e.anchor.lat,e.anchor.height??0));let n=this.sceneAnchor.meterInMercator,r=m_(t,e.anchor.lon,e.anchor.lat,e.anchor.height??0);e.offset=[(r.x-this.sceneAnchor.x)/n,-(r.y-this.sceneAnchor.y)/n,(r.z-this.sceneAnchor.z)/n+(e.heightOffset??0)],e.root.position.set(e.offset[0],e.offset[1],e.offset[2]),e.root.updateMatrixWorld(!0)}recomputeAnchors(e){if(this.datasets.size!==0){this.sceneAnchor=null;for(let t of this.datasets.values())this.layoutDataset(t,e)}}getDatasetHeight(e){let t=e??this.datasets.keys().next().value;return t?this.datasets.get(t)?.userOffset??0:0}setDatasetHeight(e,t,n){let r=this.datasets.get(e);r&&(r.userOffset=t,r.heightOffset=r.baseAlignOffset+t,this.layoutDataset(r,n))}setDatasetAlign(e,t,n){let r=this.datasets.get(e);if(!r)return;let i=r.heightOffset-r.baseAlignOffset;r.baseAlignOffset=this.computeAlignOffset(r.tileset,t),r.userOffset=i,r.heightOffset=r.baseAlignOffset+i,r.options.align=t,this.layoutDataset(r,n)}setDatasetVisible(e,t){let n=this.datasets.get(e);n&&(n.visible=t,n.root.visible=t,this.rebalanceBudgets())}getBounds(){let e=1/0,t=1/0,n=-1/0,r=-1/0,i=!1;for(let a of this.datasets.values()){if(!a.visible||!a.tileset?.config)continue;let o=qb(a.tileset.config.geoBounds);o&&(e=Math.min(e,o.left),t=Math.min(t,o.bottom),n=Math.max(n,o.right),r=Math.max(r,o.top),i=!0)}return i?[[e,t],[n,r]]:null}};rh(),a_(),uh();function rS(e){if(e==null)return null;if(typeof e==`number`){let t=Math.cos(e),n=Math.sin(e);return[t,-n,0,n,t,0,0,0,1]}if(Array.isArray(e)){if(e.length===3){let t=new Xo(e[0],e[1],e[2]),n=new U().makeRotationFromEuler(t).elements;return[n[0],n[4],n[8],n[1],n[5],n[9],n[2],n[6],n[10]]}if(e.length===4){let t=new fo(e[0],e[1],e[2],e[3]),n=new U().makeRotationFromQuaternion(t).elements;return[n[0],n[4],n[8],n[1],n[5],n[9],n[2],n[6],n[10]]}}if(e instanceof Xo){let t=new U().makeRotationFromEuler(e).elements;return[t[0],t[4],t[8],t[1],t[5],t[9],t[2],t[6],t[10]]}if(e instanceof fo){let t=new U().makeRotationFromQuaternion(e).elements;return[t[0],t[4],t[8],t[1],t[5],t[9],t[2],t[6],t[10]]}if(e instanceof V){let t=e.elements;return[t[0],t[3],t[6],t[1],t[4],t[7],t[2],t[5],t[8]]}if(e instanceof U){let t=e.elements;return[t[0],t[4],t[8],t[1],t[5],t[9],t[2],t[6],t[10]]}return null}function iS(e){if(e==null)return[0,0,0];if(typeof e==`number`)return[0,0,e];if(Array.isArray(e)){if(e.length===3)return[e[0],e[1],e[2]];if(e.length===4){let t=new fo(e[0],e[1],e[2],e[3]),n=new Xo().setFromQuaternion(t);return[n.x,n.y,n.z]}}if(e instanceof Xo)return[e.x,e.y,e.z];if(e instanceof fo){let t=new Xo().setFromQuaternion(e);return[t.x,t.y,t.z]}if(e instanceof V){let t=new U().set(e.elements[0],e.elements[3],e.elements[6],0,e.elements[1],e.elements[4],e.elements[7],0,e.elements[2],e.elements[5],e.elements[8],0,0,0,0,1),n=new Xo().setFromRotationMatrix(t);return[n.x,n.y,n.z]}if(e instanceof U){let t=new Xo().setFromRotationMatrix(e);return[t.x,t.y,t.z]}return[0,0,0]}function aS(e){let t=Array.isArray(e.material)?e.material[0]:e.material;return t?.userData?.isStyled?t:null}function oS(e,t){if(e.length<2)return e[0].clone();let n=Math.min(1,Math.max(0,t))*(e.length-1),r=Math.min(e.length-2,Math.floor(n));return e[r].clone().lerp(e[r+1],n-r)}function sS(e,t,n){if(n.keep&&!n.keep(e,t))return!1;if(n.values?.length){let t=e==null?``:String(e);if(!n.values.some(e=>String(e)===t))return!1}if(n.min!=null||n.max!=null){let t=Number(e);if(!Number.isFinite(t)||n.min!=null&&t<n.min||n.max!=null&&t>n.max)return!1}return!n.keep&&!n.values?.length&&n.min==null&&n.max==null?e!=null&&String(e)!==``:!0}function cS(e){if(!Number.isFinite(e))return`—`;let t=Math.abs(e);return t>=100?e.toFixed(0):t>=10?e.toFixed(1):e.toFixed(2)}var lS=class{constructor(e,t,n,r,i,a=()=>!1){X(this,`_getLayerFloorHeight`,void 0),X(this,`_triggerRepaint`,void 0),X(this,`_onStyleChanged`,void 0),X(this,`_getAllMeshes`,void 0),X(this,`_applyOverrideHook`,void 0),X(this,`_isLayerTransparent`,void 0),X(this,`featureStyles`,new Map),X(this,`thematicColors`,new Map),X(this,`thematicElevation`,new Map),X(this,`thematicField`,null),X(this,`elevationField`,null),X(this,`filter`,null),X(this,`fieldFilter`,null),X(this,`_meshBatchTextures`,new WeakMap),X(this,`_markedMeshes`,new Set),X(this,`_dirtyAll`,!1),X(this,`_flushScheduled`,!1),X(this,`_batchConflictWarned`,!1),this._getLayerFloorHeight=e,this._triggerRepaint=t,this._onStyleChanged=n,this._getAllMeshes=r,this._applyOverrideHook=i,this._isLayerTransparent=a}setFeatureStyle(e,t,n){this.featureStyles.set(e,t),this.markOverridesDirty(n),this._onStyleChanged(),this._triggerRepaint()}setFeaturesStyle(e,t,n){for(let n of e)this.featureStyles.set(n,t);this.markOverridesDirty(n),this._onStyleChanged(),this._triggerRepaint()}getFeatureStyle(e){return this.featureStyles.get(e)??null}getFeatureEffectiveOffset(e){if(e==null)return{};let t=this.featureStyles.get(e),n=t?.elevation??this.thematicElevation.get(e);return{translation:t?.translation,elevation:n,rotation:t?.rotation,pivot:t?.pivot}}getFeatureStyles(){return new Map(this.featureStyles)}removeFeatureStyle(e,t){this.featureStyles.delete(e)&&(this.markOverridesDirty(t),this._onStyleChanged(),this._triggerRepaint())}clearFeatureStyles(){this.featureStyles.size>0&&(this.featureStyles.clear(),this.markOverridesDirty(),this._onStyleChanged(),this._triggerRepaint())}setThematicColors(e,t=`custom`){this.thematicColors=e&&e.size>0?new Map(e):new Map,this.thematicField=this.thematicColors.size>0?t:null,this.markOverridesDirty(),this._triggerRepaint()}clearThematicColors(){this.thematicColors.size!==0&&(this.thematicColors=new Map,this.thematicField=null,this.markOverridesDirty(),this._triggerRepaint())}setThematicElevation(e,t=`custom`){this.thematicElevation=e&&e.size>0?new Map([...e].filter(([,e])=>Number.isFinite(e)&&e>0)):new Map,this.elevationField=this.thematicElevation.size>0?t:null,this.markOverridesDirty(),this._onStyleChanged(),this._triggerRepaint()}clearThematicElevation(){this.thematicElevation.size!==0&&(this.thematicElevation=new Map,this.elevationField=null,this.markOverridesDirty(),this._onStyleChanged(),this._triggerRepaint())}setFilter(e,t){this.filter=e,e&&(e.minHeight!=null||e.maxHeight!=null)?(t.uFilterMinZ&&(t.uFilterMinZ.value=e.minHeight??-99999),t.uFilterMaxZ&&(t.uFilterMaxZ.value=e.maxHeight??99999),t.uFilterHeightActive&&(t.uFilterHeightActive.value=1)):t.uFilterHeightActive&&(t.uFilterHeightActive.value=0),this.markOverridesDirty(),this._onStyleChanged(),this._triggerRepaint()}clearFilter(e){this.setFilter(null,e)}async colorByField(e,t,n){if(!t)throw Error(`[s3m] 未配置业务属性数据源,先调用 setAttributeSource() 或构造时传 attributes`);let r=e.smids?.length?[...new Set(e.smids)]:n;if(!r.length)return this.clearThematicColors(),{field:e.field,type:`discrete`,matched:0,missing:0,legend:[]};let i=await t.queryBySmids(r),a=[],o=[];for(let t of r){let n=i.get(t),r=n?n[e.field]:void 0;if(r==null||r===``)continue;let s=Number(r);Number.isFinite(s)?a.push({smid:t,val:s}):o.push({smid:t,val:String(r)})}let s=a.length>=o.length&&a.length>0,c=new Map,l=[],u=e.defaultColor??`#64748b`,d=e.nullColor??`#334155`;if(s){let t=a.map(e=>e.val),n=Math.min(...t),r=Math.max(...t)-n||1,i=(e.ramp??[`#3b82f6`,`#10b981`,`#f59e0b`,`#ef4444`]).map(e=>new W(e)),o=Math.max(2,e.stops??5);for(let e=0;e<o;e++){let t=e/o,a=(e+1)/o,s=oS(i,(t+a)/2),c=n+t*r,u=n+a*r;l.push({color:`#${s.getHexString()}`,label:`${cS(c)} ~ ${cS(u)}`,count:0,min:c,max:u})}for(let{smid:e,val:t}of a){let i=Math.min(1,Math.max(0,(t-n)/r)),a=Math.min(o-1,Math.floor(i*o)),s=l[a].color;c.set(e,s),l[a].count++}}else{let t=new Map;for(let{val:e}of o)t.set(e,(t.get(e)??0)+1);let n=[...t.entries()].sort((e,t)=>t[1]-e[1]),r=Array.isArray(e.colors)?e.colors:[`#3b82f6`,`#10b981`,`#f59e0b`,`#ef4444`,`#8b5cf6`,`#ec4899`,`#06b6d4`,`#84cc16`],i=!Array.isArray(e.colors)&&e.colors?e.colors:null;for(let e=0;e<n.length;e++){let[t,a]=n[e],o=i?.[t]??r[e%r.length];l.push({color:o,label:t,count:a})}let a=new Map(l.map(e=>[e.label,e.color]));for(let{smid:e,val:t}of o)c.set(e,a.get(t)??u)}let f=0;for(let e of r)c.has(e)||(c.set(e,d),f++);return f>0&&l.push({color:d,label:`无数据 / 缺失`,count:f}),this.setThematicColors(c,e.field),{field:e.field,type:s?`continuous`:`discrete`,matched:r.length-f,missing:f,legend:l}}async filterByField(e,t,n){if(!t)throw Error(`[s3m] 未配置业务属性数据源,先调用 setAttributeSource() 或构造时传 attributes`);let r=e.smids?.length?[...new Set(e.smids)]:n,i=e.mode??`keep`,a=e.onMissing??`drop`,o={field:e.field,mode:i,matched:0,hidden:[]};if(!r.length)return this.fieldFilter=null,this.markOverridesDirty(),o;let s=await t.queryBySmids(r),c=new Set;for(let t of r){let n=s.get(t);n?sS(n[e.field]??null,n,e)&&c.add(t):a===`keep`&&c.add(t)}o.matched=c.size;let l=i===`keep`;return this.fieldFilter=c.size||l?{field:e.field,mode:l?`keep`:`drop`,matched:c}:null,o.hidden=r.filter(e=>l?!c.has(e):c.has(e)),this.markOverridesDirty(),this._onStyleChanged(),this._triggerRepaint(),o}clearFieldFilter(){this.fieldFilter&&(this.fieldFilter=null,this.markOverridesDirty(),this._triggerRepaint())}async elevateByField(e,t,n){if(!t)throw Error(`[s3m] 未配置业务属性数据源,先调用 setAttributeSource() 或构造时传 attributes`);let r=e.smids?.length?[...new Set(e.smids)]:n,i={field:e.field,matched:0,missing:r.length,min:0,max:0,appliedMax:0};if(!r.length)return this.thematicElevation=new Map,this.elevationField=null,this.markOverridesDirty(),i;let a=await t.queryBySmids(r),o=new Map;for(let t of r){let n=Number(a.get(t)?.[e.field]);Number.isFinite(n)&&o.set(t,n)}if(o.size===0)return this.thematicElevation=new Map,this.elevationField=null,this.markOverridesDirty(),this._onStyleChanged(),this._triggerRepaint(),i;let s=[...o.values()],c=Math.min(...s),l=Math.max(...s),u=e.scale??1,d=e.offset??0,f=new Map,p=0;for(let[t,n]of o){let r=e.map?e.map(n,{min:c,max:l}):n*u+d;Number.isFinite(r)&&(e.max!=null&&r>e.max&&(r=e.max),!(r<=0)&&(f.set(t,r),r>p&&(p=r)))}return this.thematicElevation=f,this.elevationField=e.field,this.markOverridesDirty(),this._onStyleChanged(),this._triggerRepaint(),{field:e.field,matched:f.size,missing:r.length-o.size,min:c,max:l,appliedMax:p}}auditBatches(e){let t=[],n=new Set,r=0;for(let i of e){let e=i.mesh.userData.geoRef?.pickInfo;if(!e)continue;let a=new Map;for(let[t,n]of Object.entries(e)){let e=Qg(n);if(e<0)continue;let r=Number(t),i=a.get(e);i?i.push(r):a.set(e,[r])}r+=a.size;for(let[e,r]of a)if(!(r.length<2)){for(let e of r)n.add(e);t.push({datasetId:i.datasetId,batchId:e,smids:r})}}return{smids:0,batches:r,conflicts:t,conflictingSmids:n.size}}_bakeStylesIntoBuffer(e,t,n,r,i){let a=t;for(let t=0;t<a;t++){e[t*4+0]=-1,e[t*4+1]=-1,e[t*4+2]=-1,e[t*4+3]=0;let n=(a+t)*4;e[n+0]=0,e[n+1]=0,e[n+2]=0,e[n+3]=0;let r=(a*2+t)*4;e[r+0]=1,e[r+1]=0,e[r+2]=0,e[r+3]=0;let i=(a*3+t)*4;e[i+0]=0,e[i+1]=1,e[i+2]=0,e[i+3]=0;let o=(a*4+t)*4;e[o+0]=0,e[o+1]=0,e[o+2]=1,e[o+3]=0;let s=(a*5+t)*4;e[s+0]=-1,e[s+1]=0,e[s+2]=0,e[s+3]=0}let o=!1,s=new Set,c=new Map,l=new Map,u=new Map,d=new Map,f=new Map,p=new Map,m=new Map,h=new Map,g=this.filter,_=r.userData;for(let[e,t]of Object.entries(n)){let n=Number(e),o=Qg(t);if(o<0||o>=a)continue;h.set(o,(h.get(o)??0)+1);let v=!1;if(g&&(g.include&&g.include.length>0&&!g.include.includes(n)&&(v=!0),g.exclude&&g.exclude.length>0&&g.exclude.includes(n)&&(v=!0),g.predicate)){let{segments:e}=e_(_.geoRef,o),t=n_({smid:n,box:t_(r.geometry,e),triangles:0,floorHeight:this._getLayerFloorHeight()});g.predicate({...t,smid:n})||(v=!0)}if(v){s.add(o);continue}if(this.fieldFilter){let e=this.fieldFilter.matched.has(n);if(this.fieldFilter.mode===`keep`?!e:e){s.add(o);continue}}let y=i.get(n);if(y?.hidden){s.add(o);continue}let b=y?.opacity;if(b!=null){if(b<=0){s.add(o);continue}b<1&&!m.has(o)&&m.set(o,b)}let x=y?.color??this.thematicColors.get(n);x&&!c.has(o)&&c.set(o,x);let S=y?.elevation??this.thematicElevation.get(n);if(S!=null&&!l.has(o)&&l.set(o,S),y?.translation&&!u.has(o)&&u.set(o,y.translation),y?.rotation!=null&&!d.has(o)){let e=rS(y.rotation);e&&d.set(o,e)}y?.pivot&&!f.has(o)&&f.set(o,y.pivot),y?.gpuPath&&!p.has(o)&&p.set(o,y.gpuPath)}for(let t of s)e[t*4+3]=-1,o=!0;let v=new W;for(let[t,n]of c)s.has(t)||(v.set(n),e[t*4+0]=v.r,e[t*4+1]=v.g,e[t*4+2]=v.b,o=!0);for(let[t,n]of l){if(s.has(t))continue;e[t*4+3]=n;let r=(a+t)*4;e[r+2]=n,o=!0}for(let[t,n]of u){if(s.has(t))continue;let r=(a+t)*4;e[r+0]=n[0],e[r+1]=n[1],e[r+2]=n[2]+(l.get(t)??0),o=!0}let y=!1;for(let[t,n]of m)s.has(t)||(e[(a+t)*4+3]=n,o=!0,y=!0);for(let[t,n]of d){if(s.has(t))continue;let r=f.get(t)??[0,0,0],i=(a*2+t)*4;e[i+0]=n[0],e[i+1]=n[1],e[i+2]=n[2],e[i+3]=r[0];let c=(a*3+t)*4;e[c+0]=n[3],e[c+1]=n[4],e[c+2]=n[5],e[c+3]=r[1];let l=(a*4+t)*4;e[l+0]=n[6],e[l+1]=n[7],e[l+2]=n[8],e[l+3]=r[2],o=!0}for(let[t,n]of f)d.has(t)||s.has(t)||(e[(a*2+t)*4+3]=n[0],e[(a*3+t)*4+3]=n[1],e[(a*4+t)*4+3]=n[2],o=!0);for(let[t,n]of p){if(s.has(t))continue;let r=(a*5+t)*4;e[r+0]=n.pathId,e[r+1]=n.speed??0,e[r+2]=n.phase??0;let i=1;n.loop===`clamp`||n.loop===!1?i=2:n.loop===`pingpong`&&(i=3),n.autoHeading===!1&&(i+=3),e[r+3]=i,o=!0}let b=0;for(let[e,t]of h)t<2||(s.has(e)||c.has(e)||l.has(e)||d.has(e)||p.has(e))&&b++;return{hasActive:o,hasFade:y,conflicts:b}}applyOverridesToMesh(e){let t=aS(e);if(!t)return;let n=e.userData.geoRef?.pickInfo,r=this.featureStyles.size>0||this.thematicColors.size>0||this.thematicElevation.size>0,i=this.filter,a=this.fieldFilter!=null||i!=null&&((i.include?.length??0)>0||(i.exclude?.length??0)>0||i.predicate!=null);if(!r&&!a||!n||Object.keys(n).length===0){t.userData.uBatchTexActive&&(t.userData.uBatchTexActive.value=0),t.transparent&&!this._isLayerTransparent()&&(t.transparent=!1);return}let o=0;for(let e of Object.values(n)){let t=Qg(e);t>o&&(o=t)}let s=Math.max(o+1,1),c=this._meshBatchTextures.get(e);if(!c||c.width<s){let n=new Float32Array(s*6*4),r=new Cu(n,s,6,ci,ei);r.minFilter=Rr,r.magFilter=Rr,c={texture:r,data:n,width:s},this._meshBatchTextures.set(e,c),t.userData.uBatchTex.value=r,t.userData.uBatchTexWidth.value=s}let{data:l,texture:u}=c,{hasActive:d,hasFade:f,conflicts:p}=this._bakeStylesIntoBuffer(l,c.width,n,e,this.featureStyles);f&&!t.transparent?t.transparent=!0:!f&&t.transparent&&!this._isLayerTransparent()&&(t.transparent=!1),p>0&&!this._batchConflictWarned&&(this._batchConflictWarned=!0,console.warn(`[s3m] 有 ${p} 个单体状态写不进独立的 batch(多个 SMID 共用同一个 batchId,\n S3M 的单体化粒度只到 batch,无法单独隐藏/改色其中一部分)。
4741
4741
  当前规则:任一 SMID 需要隐藏则整批隐藏,颜色 / 抬高取首个。
4742
- 用 layer.auditBatches() 可以列出具体是哪些 SMID 共用了 batchId。`)),u.needsUpdate=!0,t.userData.uBatchTexActive&&(t.userData.uBatchTexActive.value=+!!d)}prepareCrossFade(e,t){for(let n of t){let t=$x(n);if(!t)continue;let r=n.userData.geoRef?.pickInfo;if(!r||Object.keys(r).length===0)continue;let i=0;for(let e of Object.values(r)){let t=Qg(e);t>i&&(i=t)}let a=Math.max(i+1,1),o=this._meshBatchTextures.get(n);if(!o||o.width<a){let e=new Float32Array(a*6*4),r=new Cu(e,a,6,ci,ei);r.minFilter=Rr,r.magFilter=Rr,o={texture:r,data:e,width:a},this._meshBatchTextures.set(n,o),t.userData.uBatchTex.value=r,t.userData.uBatchTexWidth.value=a}if(!o.texture2||!o.data2||o.data2.length<o.width*6*4){let e=new Float32Array(o.width*6*4),t=new Cu(e,o.width,6,ci,ei);t.minFilter=Rr,t.magFilter=Rr,o.data2=e,o.texture2=t}this._bakeStylesIntoBuffer(o.data,o.width,r,n,this.featureStyles),o.texture.needsUpdate=!0;let s=this._bakeStylesIntoBuffer(o.data2,o.width,r,n,e);o.texture2.needsUpdate=!0,t.userData.uBatchTex2.value=o.texture2,t.userData.uBatchTexActive.value=1,s.hasFade&&!t.transparent&&(t.transparent=!0)}}commitCrossFade(e,t){this.featureStyles.clear();for(let[t,n]of e)this.featureStyles.set(t,n);for(let e of t){let t=$x(e);if(!t)continue;let n=this._meshBatchTextures.get(e);n&&n.data2&&n.texture2&&(n.data.set(n.data2),n.texture.needsUpdate=!0,t.userData.uBatchTex2.value=t.userData.uBatchTex.value)}this._onStyleChanged(),this._triggerRepaint()}cancelCrossFade(e){for(let t of e){let e=$x(t);e&&(e.userData.uBatchTex2.value=e.userData.uBatchTex.value)}this._triggerRepaint()}markOverridesDirty(e,t){if(e)for(let t of e)this._markedMeshes.add(t);else if(t)for(let e of t)this._markedMeshes.add(e);else this._dirtyAll=!0,this._markedMeshes.clear();this._flushScheduled||(this._flushScheduled=!0,queueMicrotask(()=>this.flushOverrides()))}disposeMesh(e){this._markedMeshes.delete(e);let t=this._meshBatchTextures.get(e);t&&(t.texture.dispose(),t.texture2?.dispose(),this._meshBatchTextures.delete(e))}flushOverrides(){if(!this._flushScheduled&&!this._dirtyAll&&this._markedMeshes.size===0)return;this._flushScheduled=!1;let e=this._applyOverrideHook??(e=>this.applyOverridesToMesh(e));if(this._dirtyAll){this._dirtyAll=!1,this._markedMeshes.clear();let t=this._getAllMeshes?this._getAllMeshes():[];for(let n of t)e(n);this._triggerRepaint()}else{for(let t of this._markedMeshes)e(t);this._markedMeshes.clear(),this._triggerRepaint()}}bindGPUPath(e,t,n={},r){let i=this.getFeatureStyle(e)??{};this.setFeatureStyle(e,{...i,gpuPath:{pathId:t,speed:n.speed??0,phase:n.phase??0,loop:n.loop??`loop`,autoHeading:n.autoHeading??!0}},r)}unbindGPUPath(e,t){let n=this.getFeatureStyle(e);if(!n||!n.gpuPath)return;let r={...n};delete r.gpuPath,this.setFeatureStyle(e,r,t)}setGPUPathProgress(e,t,n){let r=this.getFeatureStyle(e);r?.gpuPath&&this.setFeatureStyle(e,{...r,gpuPath:{...r.gpuPath,speed:0,phase:Math.min(1,Math.max(0,t))}},n)}};rh(),uh();var iS=class{constructor(e={}){X(this,`mode`,void 0),X(this,`opacity`,void 0),X(this,`color`,void 0),X(this,`gridColor`,void 0),X(this,`gridSize`,void 0),X(this,`excavationBounds`,null),X(this,`size`,void 0),X(this,`groundHeight`,0),X(this,`occlude`,void 0),X(this,`trackHeight`,void 0),X(this,`group`,void 0),X(this,`_mesh`,null),X(this,`_material`,null),X(this,`_depthMesh`,null),X(this,`_depthMaterial`,null),X(this,`_geom`,null),X(this,`_occludeExplicit`,void 0),this.mode=e.mode??`none`,this.opacity=e.opacity??.62,this.color=new W(e.color??`#0f172a`),this.gridColor=new W(e.gridColor??`#38bdf8`),this.gridSize=e.gridSize??10,this.excavationBounds=e.excavationBounds??null,this.size=e.size??6e3,this._occludeExplicit=e.occlude!==void 0,this.occlude=e.occlude??this.mode===`excavate`,this.trackHeight=e.trackHeight??!0,this.group=new Ml,this.group.name=`s3m-ground-surface`,this._initMesh(),this._applyMode()}_initMesh(){let e=new Pc(this.size,this.size,1,1);this._geom=e;let t=new gc({transparent:!0,depthTest:!0,depthWrite:!1,side:2,uniforms:{uColor:{value:this.color},uGridColor:{value:this.gridColor},uOpacity:{value:this.opacity},uGridSize:{value:this.gridSize},uMode:{value:this.mode===`excavate`?2:+(this.mode===`translucent`)},uHasExcavation:{value:0},uExcavationMin:{value:new B(-9999,-9999)},uExcavationMax:{value:new B(9999,9999)}},vertexShader:`
4742
+ 用 layer.auditBatches() 可以列出具体是哪些 SMID 共用了 batchId。`)),u.needsUpdate=!0,t.userData.uBatchTexActive&&(t.userData.uBatchTexActive.value=+!!d)}prepareCrossFade(e,t){for(let n of t){let t=aS(n);if(!t)continue;let r=n.userData.geoRef?.pickInfo;if(!r||Object.keys(r).length===0)continue;let i=0;for(let e of Object.values(r)){let t=Qg(e);t>i&&(i=t)}let a=Math.max(i+1,1),o=this._meshBatchTextures.get(n);if(!o||o.width<a){let e=new Float32Array(a*6*4),r=new Cu(e,a,6,ci,ei);r.minFilter=Rr,r.magFilter=Rr,o={texture:r,data:e,width:a},this._meshBatchTextures.set(n,o),t.userData.uBatchTex.value=r,t.userData.uBatchTexWidth.value=a}if(!o.texture2||!o.data2||o.data2.length<o.width*6*4){let e=new Float32Array(o.width*6*4),t=new Cu(e,o.width,6,ci,ei);t.minFilter=Rr,t.magFilter=Rr,o.data2=e,o.texture2=t}this._bakeStylesIntoBuffer(o.data,o.width,r,n,this.featureStyles),o.texture.needsUpdate=!0;let s=this._bakeStylesIntoBuffer(o.data2,o.width,r,n,e);o.texture2.needsUpdate=!0,t.userData.uBatchTex2.value=o.texture2,t.userData.uBatchTexActive.value=1,s.hasFade&&!t.transparent&&(t.transparent=!0)}}commitCrossFade(e,t){this.featureStyles.clear();for(let[t,n]of e)this.featureStyles.set(t,n);for(let e of t){let t=aS(e);if(!t)continue;let n=this._meshBatchTextures.get(e);n&&n.data2&&n.texture2&&(n.data.set(n.data2),n.texture.needsUpdate=!0,t.userData.uBatchTex2.value=t.userData.uBatchTex.value)}this._onStyleChanged(),this._triggerRepaint()}cancelCrossFade(e){for(let t of e){let e=aS(t);e&&(e.userData.uBatchTex2.value=e.userData.uBatchTex.value)}this._triggerRepaint()}markOverridesDirty(e,t){if(e)for(let t of e)this._markedMeshes.add(t);else if(t)for(let e of t)this._markedMeshes.add(e);else this._dirtyAll=!0,this._markedMeshes.clear();this._flushScheduled||(this._flushScheduled=!0,queueMicrotask(()=>this.flushOverrides()))}disposeMesh(e){this._markedMeshes.delete(e);let t=this._meshBatchTextures.get(e);t&&(t.texture.dispose(),t.texture2?.dispose(),this._meshBatchTextures.delete(e))}flushOverrides(){if(!this._flushScheduled&&!this._dirtyAll&&this._markedMeshes.size===0)return;this._flushScheduled=!1;let e=this._applyOverrideHook??(e=>this.applyOverridesToMesh(e));if(this._dirtyAll){this._dirtyAll=!1,this._markedMeshes.clear();let t=this._getAllMeshes?this._getAllMeshes():[];for(let n of t)e(n);this._triggerRepaint()}else{for(let t of this._markedMeshes)e(t);this._markedMeshes.clear(),this._triggerRepaint()}}bindGPUPath(e,t,n={},r){let i=this.getFeatureStyle(e)??{};this.setFeatureStyle(e,{...i,gpuPath:{pathId:t,speed:n.speed??0,phase:n.phase??0,loop:n.loop??`loop`,autoHeading:n.autoHeading??!0}},r)}unbindGPUPath(e,t){let n=this.getFeatureStyle(e);if(!n||!n.gpuPath)return;let r={...n};delete r.gpuPath,this.setFeatureStyle(e,r,t)}setGPUPathProgress(e,t,n){let r=this.getFeatureStyle(e);r?.gpuPath&&this.setFeatureStyle(e,{...r,gpuPath:{...r.gpuPath,speed:0,phase:Math.min(1,Math.max(0,t))}},n)}};rh(),uh();var uS=class{constructor(e={}){X(this,`mode`,void 0),X(this,`opacity`,void 0),X(this,`color`,void 0),X(this,`gridColor`,void 0),X(this,`gridSize`,void 0),X(this,`excavationBounds`,null),X(this,`size`,void 0),X(this,`groundHeight`,0),X(this,`occlude`,void 0),X(this,`trackHeight`,void 0),X(this,`group`,void 0),X(this,`_mesh`,null),X(this,`_material`,null),X(this,`_depthMesh`,null),X(this,`_depthMaterial`,null),X(this,`_geom`,null),X(this,`_occludeExplicit`,void 0),this.mode=e.mode??`none`,this.opacity=e.opacity??.62,this.color=new W(e.color??`#0f172a`),this.gridColor=new W(e.gridColor??`#38bdf8`),this.gridSize=e.gridSize??10,this.excavationBounds=e.excavationBounds??null,this.size=e.size??6e3,this._occludeExplicit=e.occlude!==void 0,this.occlude=e.occlude??this.mode===`excavate`,this.trackHeight=e.trackHeight??!0,this.group=new Ml,this.group.name=`s3m-ground-surface`,this._initMesh(),this._applyMode()}_initMesh(){let e=new Pc(this.size,this.size,1,1);this._geom=e;let t=new gc({transparent:!0,depthTest:!0,depthWrite:!1,side:2,uniforms:{uColor:{value:this.color},uGridColor:{value:this.gridColor},uOpacity:{value:this.opacity},uGridSize:{value:this.gridSize},uMode:{value:this.mode===`excavate`?2:+(this.mode===`translucent`)},uHasExcavation:{value:0},uExcavationMin:{value:new B(-9999,-9999)},uExcavationMax:{value:new B(9999,9999)}},vertexShader:`
4743
4743
  varying vec2 vEnuPos;
4744
4744
  void main() {
4745
4745
  vec4 worldPos = modelMatrix * vec4(position, 1.0);
@@ -4817,4 +4817,4 @@ void main() {
4817
4817
  }
4818
4818
  gl_FragColor = vec4(1.0);
4819
4819
  }
4820
- `}),i=new dc(e,r);i.position.set(0,0,-.02),i.renderOrder=-1e3,i.name=`s3m-ground-depth`,i.visible=!1,this.group.add(i),this._depthMesh=i,this._depthMaterial=r,this._syncUniforms()}_applyMode(){this._mesh&&(this._mesh.visible=this.mode!==`none`),this._material&&(this._material.uniforms.uMode.value=this.mode===`excavate`?2:+(this.mode===`translucent`),this._material.depthWrite=this.mode===`excavate`),this._depthMesh&&(this._depthMesh.visible=this.occlude,this._depthMaterial&&(this._depthMaterial.uniforms.uPunchPit.value=+(this.mode===`excavate`)))}update(e){e&&this.group.position.set(e.position.x,e.position.y,this.groundHeight)}setGroundHeight(e){this.groundHeight=e,this.group.position.z=e}setMode(e){this.mode=e,this._occludeExplicit||(this.occlude=e===`excavate`),this._applyMode()}setOcclude(e){this.occlude=e,this._occludeExplicit=!0,this._applyMode()}setOpacity(e){this.opacity=Math.max(0,Math.min(1,e)),this._material&&(this._material.uniforms.uOpacity.value=this.opacity)}setColors(e,t){this.color.set(e),t&&this.gridColor.set(t),this._material&&(this._material.uniforms.uColor.value=this.color,this._material.uniforms.uGridColor.value=this.gridColor)}setExcavationBounds(e){this.excavationBounds=e,this._syncUniforms()}autoFitExcavation(e){let t=1/0,n=1/0,r=-1/0,i=-1/0,a=!1;for(let o of e){let e=o.tileset?.config,s=e?.rootTiles??e?.tiles;if(Array.isArray(s))for(let e of s){let s=e.boundingBox;if(!s)continue;let c=s.center??{x:0,y:0},l=s.xExtent?.x?Math.abs(s.xExtent.x):50,u=s.yExtent?.y?Math.abs(s.yExtent.y):50,d=c.x+o.offset[0]-l,f=c.x+o.offset[0]+l,p=c.y+o.offset[1]-u,m=c.y+o.offset[1]+u;d<t&&(t=d),f>r&&(r=f),p<n&&(n=p),m>i&&(i=m),a=!0}}a&&Number.isFinite(t)&&this.setExcavationBounds([t-5,n-5,r+5,i+5])}_syncUniforms(){let e=this.excavationBounds;if(this._material){let t=this._material.uniforms;e?(t.uHasExcavation.value=1,t.uExcavationMin.value.set(e[0],e[1]),t.uExcavationMax.value.set(e[2],e[3])):t.uHasExcavation.value=0}if(this._depthMaterial){let t=this._depthMaterial.uniforms;e?(t.uHasExcavation.value=1,t.uExcavationMin.value.set(e[0],e[1]),t.uExcavationMax.value.set(e[2],e[3])):t.uHasExcavation.value=0}}dispose(){this._geom?.dispose(),this._geom=null,this._material?.dispose(),this._material=null,this._depthMaterial?.dispose(),this._depthMaterial=null,this._mesh=null,this._depthMesh=null,this.group.clear()}};rh(),Oy(),eb(),Ay(),Ny(),a_(),uh();var aS=65534;function oS(e){let t=Array.isArray(e.material)?e.material[0]:e.material;return t?.userData?.isStyled?t:null}function sS(e){return e.isPoints===!0}function cS(e){let t=e??1;return t<0?0:t>1?1:t}var lS=.001,uS=[`opacity`,`floorHeight`,`selectOpacity`,`selectEmissive`,`selectElevation`,`dimFactor`,`texMix`,`roofThreshold`,`ambientGain`,`edgeWidth`,`edgeOpacity`,`outlineWidth`],dS=[`colorA`,`colorB`,`colorC`,`selectColor`,`edgeColor`],fS=[`translation`,`elevation`,`opacity`,`color`,`rotation`],pS=class e{get datasets(){return this._datasetManager.datasets}get sceneAnchor(){return this._datasetManager.sceneAnchor}set sceneAnchor(e){this._datasetManager.sceneAnchor=e}_requestRepaint(){this._onRequestRepaint()}triggerRepaint(){this._requestRepaint()}constructor(e={}){X(this,`options`,void 0),X(this,`pickable`,void 0),X(this,`onStats`,void 0),X(this,`onReady`,void 0),X(this,`onPick`,void 0),X(this,`onError`,void 0),X(this,`geo`,null),X(this,`canvas`,null),X(this,`renderer`,null),X(this,`scene`,null),X(this,`camera`,null),X(this,`picker`,null),X(this,`uniforms`,void 0),X(this,`style`,void 0),X(this,`_styleTarget`,void 0),X(this,`outlineMaterial`,void 0),X(this,`lineShared`,void 0),X(this,`edgeMaterial`,void 0),X(this,`selectionEdgeMaterial`,void 0),X(this,`_edgeStyleUniforms`,void 0),X(this,`_selEdgeStyleUniforms`,void 0),X(this,`groundManager`,void 0),X(this,`_datasetManager`,new Xx),X(this,`_featureStyleManager`,void 0),X(this,`gpuPathManager`,new My),X(this,`_customPathTime`,!1),X(this,`_pickables`,new Map),X(this,`_pickSeq`,0),X(this,`_freePickIds`,[]),X(this,`_smidMeshes`,new Map),X(this,`_meshHeight`,new Map),X(this,`_heightMin`,1/0),X(this,`_heightMax`,-1/0),X(this,`_boxScratch`,new ho),X(this,`_selection`,null),X(this,`_selectedMeshes`,[]),X(this,`_outlineMesh`,null),X(this,`_outlineMeshes`,[]),X(this,`_selectionEdges`,null),X(this,`_selectionEdgeMeshes`,[]),X(this,`_edgesEnabled`,!1),X(this,`_tileFadeSeq`,0),X(this,`_modeGen`,0),X(this,`_shadingPrewarmed`,!1),X(this,`_prewarmShadingEnabled`,!0),X(this,`_prewarming`,!1),X(this,`_pathSpecs`,new Map),X(this,`_pathScratch`,new Float32Array(3)),X(this,`_pathScratch2`,new Float32Array(3)),X(this,`_creaseLines`,null),X(this,`_nativeEdgeLines`,new Set),X(this,`_pointClouds`,new Set),X(this,`_opacityTransparent`,!1),X(this,`animator`,new Lx),X(this,`attributeQuery`,null),X(this,`_enuMatrix`,new U),X(this,`_colorScratch`,new W),X(this,`_needsRepaint`,!0),X(this,`_frame`,0),X(this,`_fps`,{value:0,last:0}),X(this,`_ambientLight`,void 0),X(this,`_hemiLight`,void 0),X(this,`_keyLight`,void 0),X(this,`_fillLight`,void 0),X(this,`_lightOptions`,{ambientIntensity:.4,ambientColor:16777215,hemisphereIntensity:.8,hemisphereColor:16777215,hemisphereGroundColor:11976907,keyLightIntensity:1,keyLightColor:16777215,fillLightIntensity:.35,fillLightColor:16777215,mode:`headlamp`,azimuth:150,altitude:50}),X(this,`_datasetQueue`,void 0),X(this,`_onRequestRepaint`,()=>{}),X(this,`_getBearing`,void 0),X(this,`_lodRangeScale`,1),this.options=e,this.pickable=e.pickable!==!1,this._lodRangeScale=e.lodRangeScale??1,e.light&&Object.assign(this._lightOptions,e.light),e.totalMaxTiles&&(this._datasetManager.totalMaxTiles=e.totalMaxTiles),this._onRequestRepaint=e.onRequestRepaint??(()=>{}),this._getBearing=e.getBearing,this.onStats=e.onStats??(()=>{}),this.onReady=e.onReady??(()=>{}),this.onPick=e.onPick??(()=>{}),this.onError=e.onError??(e=>console.warn(`[s3m]`,e)),this._prewarmShadingEnabled=e.prewarmShading!==!1,this.groundManager=new iS(e.ground),this.scene||(this.scene=new Wl,this.scene.add(this.groundManager.group),this._addLights()),this._featureStyleManager=new rS(()=>this.style.floorHeight,()=>this._requestRepaint(),()=>{this._selection&&this._syncSelectionStyle()},()=>this.getAllMeshes(),e=>this._applyOverridesToMesh(e),()=>this._opacityTransparent),this.uniforms=Py(),by(b_),this.style={...Vy,...e.style??{}},this._styleTarget={...this.style},this._opacityTransparent=(this.style.opacity??1)<.999,this._applyStyleUniforms(),this._registerAnimChannels(),this.animator.onActive=()=>this._requestRepaint(),this.outlineMaterial=Iy(this.uniforms),this.lineShared=Rx(),this._edgeStyleUniforms={uColor:{value:new W(this.style.edgeColor)},uWidth:{value:Math.max(.1,this.style.edgeWidth??1.5)},uOpacity:{value:.6}},this.edgeMaterial=Vx(this.lineShared,{},this._edgeStyleUniforms),this._selEdgeStyleUniforms={uColor:{value:new W(this.style.outlineColor??this.style.selectColor)},uWidth:{value:Math.max(.1,this.style.outlineWidthPx??3)},uOpacity:{value:1},uElevation:{value:this.style.selectElevation??0}},this.selectionEdgeMaterial=Vx(this.lineShared,{},this._selEdgeStyleUniforms),this.setEdges(!!this.style.edges),this._applyOpacity(),this._fps.last=performance.now(),this._datasetQueue=this._normalizeDatasets(e),e.attributes&&(this.attributeQuery=new u_(e.attributes))}_createRenderer(e,t){let n=new Vl({canvas:e,context:t,antialias:!0});return n.autoClear=!1,n.setPixelRatio(1),n.toneMapping=this.options.toneMapping===void 0?0:this.options.toneMapping,n.toneMappingExposure=this.options.toneMappingExposure??1,n}_syncTextureCapabilities(e){let t=!!e.getExtension(`WEBGL_compressed_texture_s3tc`),n=!!e.getExtension(`WEBGL_compressed_texture_s3tc_srgb`);yy(t&&n)}mount(e,t){this.canvas=e,this.renderer=this._createRenderer(e,t),vy(this.renderer.capabilities.getMaxAnisotropy()),this._syncTextureCapabilities(t),this.scene=new Wl,this.scene.add(this.groundManager.group),this._addLights(),this.camera=new _c,this.camera.matrixAutoUpdate=!1,this.picker=new ax(this.renderer),this._applyStyleUniforms();for(let e of this._datasetQueue)this.addDataset(e).catch(e=>this.onError(e));this._recomputeAnchors()}restoreContext(e){if(!this.canvas)console.warn(`[s3m] restoreContext 调用过早(尚未 mount),按首次挂载处理`);else{try{this.renderer?.dispose?.()}catch{}this.renderer=this._createRenderer(this.canvas,e),vy(this.renderer.capabilities.getMaxAnisotropy()),this._syncTextureCapabilities(e),this.picker?.dispose(),this.picker=new ax(this.renderer),this._requestRepaint()}}unmount(){for(let e of[...this.datasets.keys()])this.removeDataset(e);this.clearCreases(),this.groundManager.dispose(),this.picker?.dispose(),this.picker=null,this.outlineMaterial.dispose(),this.edgeMaterial.dispose(),this.selectionEdgeMaterial.dispose(),this.scene?.clear(),this._selectedMeshes=[],this._outlineMeshes=[],this._selectionEdgeMeshes=[],this._outlineMesh=null,this._selectionEdges=null,this._smidMeshes.clear(),this._meshHeight.clear(),this.animator.clear(),this.animator.unregisterPrefix(`tile.`),this.animator.unregisterPrefix(`feature.`),this._pathSpecs.clear(),this._heightMin=1/0,this._heightMax=-1/0,this.renderer?.dispose?.(),this.renderer=null,this.canvas=null}_createLights(){this._ambientLight=new mp(this._lightOptions.ambientColor,this._lightOptions.ambientIntensity),this._hemiLight=new ep(this._lightOptions.hemisphereColor,this._lightOptions.hemisphereGroundColor,this._lightOptions.hemisphereIntensity),this._keyLight=new pp(this._lightOptions.keyLightColor,this._lightOptions.keyLightIntensity),this._fillLight=new pp(this._lightOptions.fillLightColor,this._lightOptions.fillLightIntensity),this._updateLights()}_addLights(){this.scene&&(this._ambientLight||this._createLights(),this.scene.add(this._ambientLight,this._hemiLight,this._keyLight,this._fillLight))}_applyLightOptions(){this._ambientLight&&(this._ambientLight.intensity=this._lightOptions.ambientIntensity,this._ambientLight.color.set(this._lightOptions.ambientColor)),this._hemiLight&&(this._hemiLight.intensity=this._lightOptions.hemisphereIntensity,this._hemiLight.color.set(this._lightOptions.hemisphereColor),this._hemiLight.groundColor.set(this._lightOptions.hemisphereGroundColor)),this._keyLight&&(this._keyLight.intensity=this._lightOptions.keyLightIntensity,this._keyLight.color.set(this._lightOptions.keyLightColor)),this._fillLight&&(this._fillLight.intensity=this._lightOptions.fillLightIntensity,this._fillLight.color.set(this._lightOptions.fillLightColor))}setLight(e){let t={...e};t.mainColor!==void 0&&t.keyLightColor===void 0&&(t.keyLightColor=t.mainColor),t.mainIntensity!==void 0&&t.keyLightIntensity===void 0&&(t.keyLightIntensity=t.mainIntensity),Object.assign(this._lightOptions,t),this._applyLightOptions(),this._updateLights(),this._needsRepaint=!0,this.triggerRepaint()}getLight(){return{...this._lightOptions}}setToneMapping(e,t=1){this.options.toneMapping=e,this.options.toneMappingExposure=t,this.renderer&&(this.renderer.toneMapping=e,this.renderer.toneMappingExposure=t,this._needsRepaint=!0,this.triggerRepaint())}getToneMapping(){return{toneMapping:this.renderer?this.renderer.toneMapping:this.options.toneMapping??0,toneMappingExposure:this.renderer?this.renderer.toneMappingExposure:this.options.toneMappingExposure??1}}_updateLights(){if(!this._keyLight||!this._fillLight)return;let e=this._lightOptions.mode===`fixed`?0:(this._getBearing?.()??0)*Math.PI/180,t=(t,n,r)=>{if(!t)return;let i=e+n*Math.PI/180,a=r*Math.PI/180,o=Math.cos(a);t.position.set(Math.sin(i)*o,Math.cos(i)*o,Math.sin(a)).multiplyScalar(1e3)};t(this._keyLight,this._lightOptions.azimuth,this._lightOptions.altitude),t(this._fillLight,this._lightOptions.azimuth+65,Math.max(10,this._lightOptions.altitude-20))}_normalizeDatasets(e){return Array.isArray(e.datasets)?e.datasets.filter(e=>!!e?.configUrl):e.configUrl?[{id:`default`,name:`默认数据集`,configUrl:e.configUrl,useWorker:e.useWorker}]:[]}async addDataset(e){if(!this.scene)throw Error(`[s3m] 图层尚未 addLayer,不能添加数据集`);return await this._datasetManager.addDataset(e,this.scene,this.geo,this.uniforms,this._lodRangeScale,this.options.buildTile,this.options.maxTiles??64,this.options.maxConcurrent??4,{onTile:(e,t)=>{this._registerTile(e,t),this.onStats(this.stats),this._needsRepaint=!0,this._requestRepaint()},onTileRemoved:(e,t)=>{this._unregisterTile(e,t),this.onStats(this.stats),this._needsRepaint=!0,this._requestRepaint()},onStats:()=>{this.onStats(this.stats),this._requestRepaint()},onError:e=>{this.onError(e),this.onStats(this.stats)},onReady:e=>{this.onReady(e),this._refreshAllHeights(),this.groundManager.excavationBounds||this.groundManager.autoFitExcavation(this.datasets.values())},triggerRepaint:()=>{this._requestRepaint()}})}_lngLatFromWorld(e,t){return h_(this.geo,e,t)}recomputeAnchors(){this._datasetManager.recomputeAnchors(this.geo),this._refreshAllHeights(),this._requestRepaint()}_recomputeAnchors(){this.recomputeAnchors()}getDatasetHeight(e){return this._datasetManager.getDatasetHeight(e)}setDatasetHeight(e,t){let n,r;typeof e==`number`?(n=this.datasets.keys().next().value??``,r=e):(n=e,r=t??0),this._datasetManager.setDatasetHeight(n,r,this.geo),this._syncGroundHeight(),this._refreshAllHeights(),this._requestRepaint()}_syncGroundHeight(){if(!this.groundManager.trackHeight)return;let e=this.datasets.keys().next().value;if(!e)return;let t=this._datasetManager.getDatasetHeight(e);this.groundManager.setGroundHeight(t)}setDatasetAlign(e,t){let n,r;t===void 0&&(e===`origin`||e===`bottom`||e===`top`||e===`center`)?(n=this.datasets.keys().next().value??``,r=e):(n=e,r=t??`origin`),this._datasetManager.setDatasetAlign(n,r,this.geo),this._refreshAllHeights(),this._requestRepaint()}_computeAlignOffset(e,t){return this._datasetManager.computeAlignOffset(e,t)}computeAlignOffset(e,t){return this._datasetManager.computeAlignOffset(e,t)}setFeatureStyle(e,t){this._featureStyleManager.setFeatureStyle(e,t,this._meshesOf([e]))}setFeaturesStyle(e,t){this._featureStyleManager.setFeaturesStyle(e,t,this._meshesOf(e))}moveFeature(e,t,n){let r=this._ensureFeatureChannel(e,`translation`);this.animator.to(r,t,n)}moveFeatureBy(e,t,n){let r=this._featureStyleManager.getFeatureStyle(e)?.translation??[0,0,0];this.moveFeature(e,[r[0]+t[0],r[1]+t[1],r[2]+t[2]],n)}rotateFeature(e,t,n,r){let i=this._featureStyleManager.getFeatureStyle(e)??{};n&&this._featureStyleManager.setFeatureStyle(e,{...i,pivot:n},this._meshesOf([e]));let a=Qx(t),o=this._ensureFeatureChannel(e,`rotation`);this.animator.to(o,a,r)}rotateFeatureBy(e,t,n,r){let i=Qx(this._featureStyleManager.getFeatureStyle(e)?.rotation),a=typeof t==`number`?[0,0,t]:t;this.rotateFeature(e,[i[0]+a[0],i[1]+a[1],i[2]+a[2]],n,r)}crossFadeStyles(e,t){let n=e instanceof Map?e:new Map(Object.entries(e).map(([e,t])=>[Number(e),t])),r=this.getAllMeshes();this._featureStyleManager.prepareCrossFade(n,r);let i=`batch.mix`;this.animator.has(i)||this.animator.register(i,{dim:1,read:e=>{e[0]=this.uniforms.uBatchMix?.value??0},write:e=>{this.uniforms.uBatchMix&&(this.uniforms.uBatchMix.value=e[0]),this.triggerRepaint()}}),(t?.duration??0)>0||t?.spring?(this.uniforms.uBatchMix&&(this.uniforms.uBatchMix.value=0),this.animator.to(i,1,{...t,onComplete:()=>{this.uniforms.uBatchMix&&(this.uniforms.uBatchMix.value=0),this._featureStyleManager.commitCrossFade(n,r),this.triggerRepaint(),t?.onComplete?.()}})):(this.animator.has(i)&&this.animator.cancel(i),this.uniforms.uBatchMix&&(this.uniforms.uBatchMix.value=0),this._featureStyleManager.commitCrossFade(n,r),this.triggerRepaint(),t?.onComplete?.())}followPath(e,t,n={}){let r=t instanceof ky?t:new ky(t,{closed:n.closed});if(r.length<=0)return;let i=n.offset??[0,0,0],a=n.duration??(n.speed&&n.speed>0?r.length/n.speed*1e3:2e3),o=`feature.${e}.path`;this._pathSpecs.set(o,{path:r,offset:i}),this.animator.has(o)||this.animator.register(o,{dim:1,read:e=>{e[0]=0},write:t=>{let n=this._pathSpecs.get(o);if(!n)return;n.path.sampleAt(t[0],this._pathScratch);let r=this._meshesOf([e]),i=this._featureStyleManager.getFeatureStyle(e)??{};this._featureStyleManager.setFeatureStyle(e,{...i,translation:[n.offset[0]+this._pathScratch[0],n.offset[1]+this._pathScratch[1],n.offset[2]+this._pathScratch[2]]},r);for(let e of r)e.frustumCulled=!1}});let s=()=>{this.animator.to(o,1,{duration:a,easing:n.easing??`linear`,onComplete:()=>{n.loop?s():n.onComplete?.()}})};s()}stopPath(e){let t=`feature.${e}.path`;this.animator.cancel(t),this.animator.unregister(t),this._pathSpecs.delete(t)}_gpuPathPoseAt(e){let t=this._featureStyleManager.getFeatureStyle(e)?.gpuPath;if(!t)return null;let n=this.gpuPathManager.getPath(t.pathId);if(!n||n.length<=0)return null;let r=this.uniforms.uPathTime?.value??0,i=(t.phase??0)+r*(t.speed??0),a=t.loop;a===`clamp`||a===!1?i=Math.min(1,Math.max(0,i)):a===`pingpong`?(i%=2,i<0&&(i+=2),i=i>1?2-i:i):i-=Math.floor(i),n.sampleAt(i,this._pathScratch);let o=[this._pathScratch[0],this._pathScratch[1],this._pathScratch[2]],s=0;if(t.autoHeading!==!1){let e=.001;n.sampleAt(Math.min(1,i+e),this._pathScratch2);let t=this._pathScratch2[0]-o[0],r=this._pathScratch2[1]-o[1];t*t+r*r<1e-8&&(n.sampleAt(Math.max(0,i-e),this._pathScratch2),t=o[0]-this._pathScratch2[0],r=o[1]-this._pathScratch2[1]),t*t+r*r>=1e-8&&(s=Math.atan2(r,t))}return{pos:o,yaw:s}}registerGPUPath(e,t={}){let n=this.gpuPathManager.registerPath(e,t);return this.gpuPathManager.updateUniforms(this.uniforms),n}unregisterGPUPath(e){let t=this.gpuPathManager.unregisterPath(e);return this.gpuPathManager.updateUniforms(this.uniforms),t}getGPUPathManager(){return this.gpuPathManager}bindGPUPath(e,t,n={}){let r;r=typeof t==`number`?t:this.registerGPUPath(t);let i=this._meshesOf([e]);this._featureStyleManager.bindGPUPath(e,r,n,i);for(let e of i)e.frustumCulled=!1;return this.gpuPathManager.updateUniforms(this.uniforms),r}unbindGPUPath(e){let t=this._meshesOf([e]);this._featureStyleManager.unbindGPUPath(e,t),this.gpuPathManager.updateUniforms(this.uniforms)}setGPUPathProgress(e,t){let n=this._meshesOf([e]);this._featureStyleManager.setGPUPathProgress(e,t,n);for(let e of n)e.frustumCulled=!1}setGPUPathTime(e,t=!1){this.uniforms.uPathTime&&(this.uniforms.uPathTime.value=e),this._customPathTime=!t}getGPUPathTime(){return this.uniforms.uPathTime?.value??0}animateFeature(e,t,n){if(t.translation&&this.moveFeature(e,t.translation,n),t.rotation!=null&&this.rotateFeature(e,t.rotation,t.pivot,n),t.elevation!=null&&this.animator.to(this._ensureFeatureChannel(e,`elevation`),t.elevation,n),t.opacity!=null&&this.animator.to(this._ensureFeatureChannel(e,`opacity`),t.opacity,n),t.color&&(this._colorScratch.set(t.color),this.animator.to(this._ensureFeatureChannel(e,`color`),[this._colorScratch.r,this._colorScratch.g,this._colorScratch.b],n)),t.hidden!=null){let n=this._featureStyleManager.getFeatureStyle(e)??{};this.setFeatureStyle(e,{...n,hidden:t.hidden})}}animateFeatures(e,t,n){let r=n?.stagger??0;if(r<=0){for(let r of e)this.animateFeature(r,t,n);return}let i=n?.delay??0;for(let a=0;a<e.length;a++)this.animateFeature(e[a],t,{...n,delay:i+a*r})}setMode(e,t={}){let n=Math.max(0,t.duration??300),r=Math.min(1,Math.max(.05,t.dim??.35));if(this.style.mode===e)return Promise.resolve();if(n<=0)return this.setStyle({mode:e}),Promise.resolve();let i=++this._modeGen;return new Promise(t=>{this.animator.to(`style.fade`,r,{duration:n,easing:`easeInOutQuad`,onComplete:()=>{i===this._modeGen?(this.setStyle({mode:e}),this.animator.to(`style.fade`,1,{duration:n,easing:`easeInOutQuad`,onComplete:t})):t()}})})}_ensureFeatureChannel(e,t){let n=`feature.${e}.${t}`;if(this.animator.has(n))return n;let r=t===`translation`||t===`color`||t===`rotation`?{dim:3,read:n=>{if(t===`translation`){let t=this._featureStyleManager.getFeatureStyle(e)?.translation;n[0]=t?.[0]??0,n[1]=t?.[1]??0,n[2]=t?.[2]??0}else if(t===`rotation`){let t=this._featureStyleManager.getFeatureStyle(e)?.rotation,r=Qx(t);n[0]=r[0],n[1]=r[1],n[2]=r[2]}else{let t=this._featureStyleManager.getFeatureStyle(e)?.color??this.style.colorA;this._colorScratch.set(t),n[0]=this._colorScratch.r,n[1]=this._colorScratch.g,n[2]=this._colorScratch.b}},write:n=>{let r=this._meshesOf([e]),i=this._featureStyleManager.getFeatureStyle(e)??{};if(t===`translation`){this._featureStyleManager.setFeatureStyle(e,{...i,translation:[n[0],n[1],n[2]]},r);let t=Math.abs(n[0])>1e-6||Math.abs(n[1])>1e-6||Math.abs(n[2])>1e-6,a=Qx(i.rotation),o=Math.abs(a[0])>1e-6||Math.abs(a[1])>1e-6||Math.abs(a[2])>1e-6;for(let e of r)e.frustumCulled=!(t||o)}else if(t===`rotation`){this._featureStyleManager.setFeatureStyle(e,{...i,rotation:[n[0],n[1],n[2]]},r);let t=Math.abs(n[0])>1e-6||Math.abs(n[1])>1e-6||Math.abs(n[2])>1e-6,a=i.translation??[0,0,0],o=Math.abs(a[0])>1e-6||Math.abs(a[1])>1e-6||Math.abs(a[2])>1e-6;for(let e of r)e.frustumCulled=!(t||o)}else{let t=this._colorScratch.setRGB(n[0],n[1],n[2]);this._featureStyleManager.setFeatureStyle(e,{...i,color:`#${t.getHexString()}`},r)}}}:{dim:1,read:n=>{let r=this._featureStyleManager.getFeatureStyle(e);n[0]=(t===`elevation`?r?.elevation:r?.opacity)??+(t===`opacity`)},write:n=>{let r=this._featureStyleManager.getFeatureStyle(e)??{},i=t===`elevation`?{...r,elevation:n[0]}:{...r,opacity:n[0]};this._featureStyleManager.setFeatureStyle(e,i,this._meshesOf([e]))}};return this.animator.register(n,r),n}_releaseFeatureChannels(e){for(let t of fS)this.animator.unregister(`feature.${e}.${t}`);let t=`feature.${e}.path`;this.animator.unregister(t),this._pathSpecs.delete(t)}getFeatureStyle(e){return this._featureStyleManager.getFeatureStyle(e)}getFeatureStyles(){return this._featureStyleManager.getFeatureStyles()}removeFeatureStyle(e){this._releaseFeatureChannels(e),this._featureStyleManager.removeFeatureStyle(e,this._meshesOf([e]))}clearFeatureStyles(){for(let e of this._featureStyleManager.getFeatureStyles().keys())this._releaseFeatureChannels(e);this._featureStyleManager.clearFeatureStyles()}setAttributeSource(e){this.attributeQuery=e?new u_(e):null}getLoadedSmids(){return[...this._smidMeshes.keys()]}auditBatches(){let e=this._featureStyleManager.auditBatches(this._pickables.values());return e.smids=this._smidMeshes.size,e}getThematicField(){return this._featureStyleManager.thematicField}setThematicColors(e,t=`custom`){this._featureStyleManager.setThematicColors(e,t)}clearThematic(){this._featureStyleManager.clearThematicColors()}getFilterField(){return this._featureStyleManager.fieldFilter?.field??null}filterByField(e){return this._featureStyleManager.filterByField(e,this.attributeQuery,this.getLoadedSmids())}clearFieldFilter(){this._featureStyleManager.clearFieldFilter()}getElevationField(){return this._featureStyleManager.elevationField}elevateByField(e){return this._featureStyleManager.elevateByField(e,this.attributeQuery,this.getLoadedSmids())}setThematicElevation(e,t=`custom`){this._featureStyleManager.setThematicElevation(e,t)}clearThematicElevation(){this._featureStyleManager.clearThematicElevation()}colorByField(e){return this._featureStyleManager.colorByField(e,this.attributeQuery,this.getLoadedSmids())}setFilter(e){this._featureStyleManager.setFilter(e,this.uniforms)}getFilter(){return this._featureStyleManager.filter}clearFilter(){this._featureStyleManager.clearFilter(this.uniforms)}setGroundMode(e){this.groundManager.setMode(e),this._requestRepaint()}setGroundOpacity(e){this.groundManager.setOpacity(e),this._requestRepaint()}setExcavationBounds(e){this.groundManager.setExcavationBounds(e),this._requestRepaint()}setGroundOcclude(e){this.groundManager.setOcclude(e),this._requestRepaint()}_isFeatureHidden(e,t){if(e==null)return!1;let n=this._featureStyleManager.fieldFilter;if(n){let t=n.matched.has(e);if(n.mode===`keep`?!t:t)return!0}let r=this._featureStyleManager.filter;return!!(r&&(r.include&&r.include.length>0&&!r.include.includes(e)||r.exclude&&r.exclude.length>0&&r.exclude.includes(e))||this._featureStyleManager.featureStyles.get(e)?.hidden)}getAllMeshes(){let e=[];for(let t of this._pickables.values())e.push(t.mesh);return e}_meshesOf(e){let t=new Set;for(let n of e){let e=this._smidMeshes.get(n);if(e)for(let n of e)t.add(n)}return t}_markOverridesDirty(e=`all`){e===`all`?this._featureStyleManager.markOverridesDirty(void 0,this.getAllMeshes()):this._featureStyleManager.markOverridesDirty(e)}flushOverrides(){this._featureStyleManager.flushOverrides()}_applyOverridesToMesh(e){this._featureStyleManager.applyOverridesToMesh(e)}removeDataset(e){if(this.datasets.get(e)){this._selection?.datasetId===e&&this.select(null),this._datasetManager.removeDataset(e,this.scene,this.geo,e=>{e.root.traverse(e=>{let t=e,n=t.userData;n.pickId!=null&&(this._pickables.delete(n.pickId),this._releasePickId(n.pickId),n.pickId=void 0),this._unindexMeshSmids(t),this._removeMeshHeight(t),t.geometry?.dispose?.();let r=oS(t);r&&r.dispose(),Qb(t.material)&&t.material.dispose(),this._featureStyleManager.disposeMesh(t)})});for(let[t,n]of this._pickables)n.datasetId===e&&this._pickables.delete(t);this.onStats(this.stats),this._requestRepaint()}}clearDatasets(){for(let e of[...this.datasets.keys()])this.removeDataset(e)}setDatasetVisible(e,t){this._datasetManager.setDatasetVisible(e,t),!t&&this._selection?.datasetId===e&&this.select(null),this._requestRepaint()}_registerTile(e,t){t.root.add(e.group),e.group.updateMatrixWorld(!0);let n=e.group.userData.hasNativeEdges===!0;for(let r of e.group.children){if(r.isLineSegments&&r.userData.isEdgeLines){r.visible=this._edgesEnabled,this._nativeEdgeLines.add(r),this._styleEdgeLine(r);continue}let i=sS(r),a=r;if(!a.isMesh&&!i)continue;i&&this._pointClouds.add(r);let o=a.userData;if(o.pickId=this._allocPickId(),o.datasetId=t.id,o.nativeEdges=n,this._pickables.set(o.pickId,{datasetId:t.id,mesh:a,tile:e.tile,skeletonName:o.skeletonName??``}),this._indexMeshSmids(a),this._addMeshHeight(a),!n&&!i&&this._datasetEdgesEnabled(t)&&!this._shouldSkipAutoEdges(o,t.name)&&this._ensureEdges(a),i)this._applyPointCloudStyle(r);else{let e=oS(a);if(e){e.transparent=cS(this.style.opacity)<.999;let t=this.style.depthWrite!==!1;e.depthWrite=e.transparent?t:this.style.depthWrite!==!1,e.flatShading=this.style.shading!==`smooth`,e.needsUpdate=!0,this._featureStyleManager.applyOverridesToMesh(a),this._startTileFade(a,e)}}this._replaySelectionOnto(a)}}_startTileFade(e,t){let n=this.style.fadeIn??0;if(n<=0)return;let r=t.userData.uTileFade;if(!r)return;r.value=0,t.transparent=!0,t.depthWrite=!0;let i=`tile.${this._tileFadeSeq++}.fade`;e.userData.tileFadeKey=i,this.animator.register(i,{dim:1,read:e=>{e[0]=r.value},write:e=>{r.value=e[0]}}),this.animator.to(i,1,{duration:n,easing:`easeOutQuad`,onComplete:()=>{r.value=1,e.userData.tileFadeKey=void 0,this.animator.unregister(i),this._featureStyleManager.applyOverridesToMesh(e),t.depthWrite=this.style.depthWrite!==!1,this._requestRepaint()}})}_isMeshCoveringSelection(e,t){if(!t.point)return!1;let n=e.geometry;if(!n||(n.boundingBox||n.computeBoundingBox(),!n.boundingBox))return!1;let r=new H(t.point[0],t.point[1],t.point[2]);e.updateWorldMatrix(!0,!1);let i=e.matrixWorld.clone().invert(),a=r.applyMatrix4(i);return n.boundingBox.clone().expandByScalar(.5).containsPoint(a)}_replaySelectionOnto(e){let t=this._selection;if(!t)return;let n=oS(e);if(!n)return;let r=e.userData,i=-1;if(t.smid!=null){let e=r.geoRef?.pickInfo,n=e?.[t.smid]??e?.[String(t.smid)];i=n?Qg(n):-1}if(e===t.mesh&&(i=t.batchId),i<0&&e!==t.mesh){if(t.smid==null&&r.datasetId===t.datasetId&&this._isMeshCoveringSelection(e,t))i=-1;else return}n.userData.uSelBatch.value=i,n.userData.uSelWhole.value=+(i<0),this._selectedMeshes.includes(e)||this._selectedMeshes.push(e),sS(e)&&this._applyPointCloudStyle(e,!0),this.uniforms.uSelMix.value=1,this.uniforms.uDim.value=+!!this.style.dimOthers}_unregisterTile(e,t){e.group.traverse(e=>{let t=e;if(e.isLineSegments&&t.userData?.isEdgeLines&&this._nativeEdgeLines.delete(e),sS(e)&&this._pointClouds.delete(e),t.userData?.tileFadeKey&&(this.animator.unregister(t.userData.tileFadeKey),t.userData.tileFadeKey=void 0),t.userData?.pickId!=null&&(this._pickables.delete(t.userData.pickId),this._releasePickId(t.userData.pickId),t.userData.pickId=void 0),t.isMesh){this._selectedMeshes.includes(t)&&(this._selectedMeshes=this._selectedMeshes.filter(e=>e!==t));let e=this._selection;if(e&&e.mesh===t){let n=e.smid,r=n==null?this._selectedMeshes.find(e=>e!==t&&e.parent&&e.parent.visible)??this._selectedMeshes.find(e=>e!==t&&e.parent):[...this._smidMeshes.get(n)??[]].find(e=>e!==t&&e.parent);r?(this._selection={...e,mesh:r},this._replaySelectionOnto(r)):this.select(null)}this._unindexMeshSmids(t),this._removeMeshHeight(t),this._featureStyleManager.disposeMesh(t),oS(t)?.dispose?.()}Qb(t.material)?t.material.dispose():t.material&&(Array.isArray(t.material)?t.material.forEach(e=>e?.dispose?.()):t.material.dispose?.()),t.geometry?.dispose?.()}),t.root.remove(e.group)}_allocPickId(){let e=this._freePickIds.pop();if(e!==void 0)return e;if(this._pickSeq>aS){for(let e=0;e<=aS;e++)if(!this._pickables.has(e))return e;throw Error(`[s3m] 可拾取网格超过 65535 个,2 字节 ID 编码不够用`)}return this._pickSeq++}_releasePickId(e){this._freePickIds.push(e)}setOpacity(e,t){this.setStyle({opacity:e},t)}setStyle(e={},t){Object.assign(this._styleTarget,e);let n=t?.duration??0,r=n>0||!!t?.spring,i=e;if(`edges`in e){let{edges:n,...a}=e;if(i=a,this.setEdges(!!n,r?t:void 0),Object.keys(i).length===0){this._requestRepaint();return}}let a=[],o={};for(let e of Object.keys(i))r&&this.animator.has(`style.${String(e)}`)?a.push(String(e)):o[e]=i[e];Object.keys(o).length>0&&(Object.assign(this.style,o),this._applyStyleEffects(o));for(let e of a)this.animator.to(`style.${e}`,this._animTargetOf(e,i),{...t,duration:n});this._requestRepaint()}getStyle(){return{...this._styleTarget,modeLabel:Ry[this._styleTarget.mode]}}_animTargetOf(e,t){let n=t[e];return this._animDimOf(e)===1?Number(n):(this._colorScratch.set(String(n)),[this._colorScratch.r,this._colorScratch.g,this._colorScratch.b])}_animDimOf(e){return dS.includes(e)?3:1}_registerAnimChannels(){for(let e of uS)this.animator.register(`style.${e}`,{dim:1,read:t=>{t[0]=Number(this.style[e]??0)},write:t=>{this.style[e]=t[0],this._onStyleChannelWrote(e)}});for(let e of dS)this.animator.register(`style.${e}`,{dim:3,read:t=>{let n=this._uniformColorOf(e);t[0]=n.r,t[1]=n.g,t[2]=n.b},write:t=>{let n=this._uniformColorOf(e);n.setRGB(t[0],t[1],t[2]),this.style[e]=`#${n.getHexString()}`,this._onStyleChannelWrote(e)}});this.animator.register(`style.edgeFade`,{dim:1,read:e=>{e[0]=this.uniforms.uEdgeFade?.value??1},write:e=>{this.uniforms.uEdgeFade&&(this.uniforms.uEdgeFade.value=e[0]),this._syncEdgeStyle()}}),this.animator.register(`style.fade`,{dim:1,read:e=>{e[0]=this.uniforms.uFade?.value??1},write:e=>{this.uniforms.uFade&&(this.uniforms.uFade.value=e[0]),this._requestRepaint()}})}_onStyleChannelWrote(e){e===`opacity`?this._applyOpacity():(this._applyStyleUniforms(),(e===`edgeColor`||e===`edgeWidth`||e===`edgeOpacity`)&&this._refreshEdgeLines())}_uniformColorOf(e){let t=this.uniforms;switch(e){case`colorA`:return t.uColorA.value;case`colorB`:return t.uColorB.value;case`colorC`:return t.uColorC.value;case`selectColor`:return t.uSelColor.value;case`edgeColor`:return this.edgeMaterial.uniforms.uColor.value;default:return t.uColorA.value}}_applyStyleEffects(e){this._applyStyleUniforms(),(`opacity`in e||`depthWrite`in e)&&this._applyOpacity(),`mode`in e&&this._applyPointCloudStyles(),`shading`in e&&this._applyShading(),`edgeThreshold`in e&&this._edgesEnabled?(this._disposeEdges(),this.setEdges(!0)):(`edgeColor`in e||`edgeWidth`in e||`opacity`in e||`edgeOpacity`in e)&&this._refreshEdgeLines(),this._selection&&(`outline`in e||`outlineStyle`in e?this.select(this._selection,{silent:!0}):this._syncSelectionStyle())}_applyStyleUniforms(){let e=this.uniforms,t=this.style;e.uMode.value=t.mode,e.uColorA.value.set(t.colorA),e.uColorB.value.set(t.colorB),e.uColorC.value.set(t.colorC),e.uSelColor.value.set(t.selectColor),e.uFloorHeight.value=t.floorHeight;let n=t.selectMode??zy.OVERLAY;e.uSelMode&&(e.uSelMode.value=n===zy.REPLACE?0:n===zy.MULTIPLY?2:n===zy.GLOW_ONLY?3:1),e.uSelOpacity&&t.selectOpacity!=null&&(e.uSelOpacity.value=t.selectOpacity),e.uSelEmissive&&t.selectEmissive!=null&&(e.uSelEmissive.value=t.selectEmissive),e.uSelElevation&&t.selectElevation!=null&&(e.uSelElevation.value=t.selectElevation),e.uDimFactor&&t.dimFactor!=null&&(e.uDimFactor.value=t.dimFactor),e.uRoofThreshold&&t.roofThreshold!=null&&(e.uRoofThreshold.value=t.roofThreshold),e.uTexMix&&t.texMix!=null&&(e.uTexMix.value=t.texMix),e.uAmbientGain&&t.ambientGain!=null&&(e.uAmbientGain.value=t.ambientGain),e.uOpacity&&t.opacity!=null&&(e.uOpacity.value=cS(t.opacity)),this.outlineMaterial&&(this.outlineMaterial.uniforms.uElevation&&t.selectElevation!=null&&(this.outlineMaterial.uniforms.uElevation.value=t.selectElevation),t.outlineWidth!=null&&(this.outlineMaterial.uniforms.uWidth.value=t.outlineWidth),t.outlineColor==null?this.outlineMaterial.uniforms.uColor.value.set(t.selectColor):this.outlineMaterial.uniforms.uColor.value.set(t.outlineColor))}_applyOpacity(){let e=cS(this.style.opacity);this.uniforms.uOpacity&&(this.uniforms.uOpacity.value=e);let t=e<.999;if(t!==this._opacityTransparent){this._opacityTransparent=t;let e=this.style.depthWrite!==!1;for(let n of this._pickables.values()){if(sS(n.mesh))continue;let r=oS(n.mesh);r&&(r.userData.uBatchTexActive?.value||(r.userData.uTileFade?.value??1)<1||(r.transparent=t,r.depthWrite=!t||e))}}for(let e of this._pointClouds)this._applyPointCloudStyle(e);this._syncEdgeStyle(),this._requestRepaint()}_applyPointCloudStyle(e,t=this._selectedMeshes.includes(e)){Zb(e,this.style,this.uniforms,t)}_applyPointCloudStyles(){for(let e of this._pointClouds)this._applyPointCloudStyle(e);this._requestRepaint()}_applyShading(){let e=this.style.shading!==`smooth`;for(let t of this._pickables.values()){let n=oS(t.mesh);n&&n.flatShading!==e&&(n.flatShading=e,n.needsUpdate=!0)}this._requestRepaint()}async prewarmShading(){if(this._shadingPrewarmed||this._prewarming)return;let e=this.renderer,t=this.scene,n=this.camera;if(!e||!t||!n)return;let r=[],i=new Set;for(let e of this._pickables.values()){let t=oS(e.mesh);t&&!i.has(t)&&(i.add(t),r.push(t))}if(r.length===0)return;this._shadingPrewarmed=!0,this._prewarming=!0;let a=this.style.shading===`smooth`,o=r.map(e=>e.flatShading);for(let e of r)e.flatShading=a;try{let r=e;typeof r.compileAsync==`function`?await r.compileAsync(t,n):e.compile(t,n)}catch{}finally{for(let e=0;e<r.length;e++)r[e].flatShading=o[e],r[e].needsUpdate=!0;this._prewarming=!1,this._requestRepaint()}}_addMeshHeight(e){let t=e.geometry?.boundingBox;if(!t)return;this._boxScratch.copy(t).applyMatrix4(e.matrixWorld);let n=this._boxScratch.min.z,r=this._boxScratch.max.z;Number.isFinite(n)&&Number.isFinite(r)&&(this._meshHeight.set(e,{min:n,max:r}),n<this._heightMin&&(this._heightMin=n),r>this._heightMax&&(this._heightMax=r),this._pushHeightRange())}_removeMeshHeight(e){let t=this._meshHeight.get(e);t&&(this._meshHeight.delete(e),t.min===this._heightMin||t.max===this._heightMax?this._recomputeHeightRange():this._pushHeightRange())}_refreshAllHeights(){if(this._meshHeight.size===0)return;let e=[...this._meshHeight.keys()];this._meshHeight.clear(),this._heightMin=1/0,this._heightMax=-1/0;for(let t of e)this._addMeshHeight(t);this._pushHeightRange()}_recomputeHeightRange(){let e=1/0,t=-1/0;for(let n of this._meshHeight.values())n.min<e&&(e=n.min),n.max>t&&(t=n.max);this._heightMin=e,this._heightMax=t,this._pushHeightRange()}_pushHeightRange(){let e=this._heightMin,t=this._heightMax;(!Number.isFinite(e)||!Number.isFinite(t)||t<=e)&&(e=0,t=100),this.uniforms.uHeightMin.value=e,this.uniforms.uHeightMax.value=t}_indexMeshSmids(e){let t=e.userData.geoRef?.pickInfo;if(t)for(let n of Object.keys(t)){let t=Number(n);if(!Number.isFinite(t)||t<0)continue;let r=this._smidMeshes.get(t);r||this._smidMeshes.set(t,r=new Set),r.add(e)}}_unindexMeshSmids(e){let t=e.userData.geoRef?.pickInfo;if(t)for(let n of Object.keys(t)){let t=Number(n),r=this._smidMeshes.get(t);r&&(r.delete(e),r.size===0&&this._smidMeshes.delete(t))}}setEdges(e,t){let n=!!t&&((t.duration??0)>0||!!t.spring);this._edgesEnabled=e,this.style.edges=e,this._styleTarget.edges=e;for(let t of this.datasets.values())t.root.traverse(t=>{t.userData.isEdgeLines&&(t.visible=e,this._styleEdgeLine(t))});if(this._syncEdgeStyle(),!e){n?this.animator.to(`style.edgeFade`,0,{...t,onComplete:()=>{this._disposeEdges(),this._requestRepaint(),t?.onComplete?.()}}):(this._setEdgeFade(1),this._disposeEdges()),this._requestRepaint();return}let r=[...this._pickables.values()].map(e=>e.mesh).filter(e=>{let t=e.userData;return!t.edges&&!t.nativeEdges&&!sS(e)}),i=0,a=()=>{let e=performance.now();for(;i<r.length&&performance.now()-e<8;)this._ensureEdges(r[i++]);i<r.length?setTimeout(a,0):this._requestRepaint()};a(),n?(this._setEdgeFade(0),this.animator.to(`style.edgeFade`,1,t)):this._setEdgeFade(1)}_setEdgeFade(e){this.uniforms.uEdgeFade&&(this.uniforms.uEdgeFade.value=e),this._syncEdgeStyle()}_disposeEdges(){for(let e of this._pickables.values())this._removeEdges(e.mesh)}async loadCreases(e){let t=await fetch(e);if(!t.ok)throw Error(`[s3m] 棱线缓存加载失败: ${t.status} ${e}`);let n=await t.arrayBuffer(),r=new Float32Array(n);if(r.length<6)return;let i=new q;i.setAttribute(`position`,new G(r,3));let a=this.style,o=new Qu({color:new W(a.edgeColor),transparent:!0,opacity:Math.min(1,Math.max(0,a.edgeOpacity??.6))*cS(a.opacity),depthWrite:!1}),s=new ld(i,o);s.renderOrder=2,s.frustumCulled=!1,s.raycast=()=>{},this.clearCreases(),this._creaseLines=s,this.scene?.add(s),this._requestRepaint()}clearCreases(){this._creaseLines&&(this.scene?.remove(this._creaseLines),this._creaseLines.geometry.dispose(),this._creaseLines.material?.dispose?.(),this._creaseLines=null,this._requestRepaint())}_syncEdgeStyle(){let e=this.style,t=this.uniforms.uEdgeFade?.value??1,n=Math.min(1,Math.max(0,e.edgeOpacity??.6))*cS(e.opacity)*t,r=this.edgeMaterial.uniforms;if(r.uColor.value.set(e.edgeColor),r.uWidth.value=Math.max(.1,e.edgeWidth??1.5),r.uOpacity.value=n,this._creaseLines){let t=this._creaseLines.material;t.color.set(e.edgeColor),t.opacity=n}}_styleEdgeLine(e){let t=e.material;t&&t.color&&(t.color.set(this.style.edgeColor),t.opacity=(this.style.edgeOpacity??.6)*cS(this.style.opacity)*(this.uniforms.uEdgeFade?.value??1),t.transparent=!0,t.polygonOffset=!0,t.polygonOffsetFactor=-1,t.polygonOffsetUnits=-1,t.needsUpdate=!0)}_refreshEdgeLines(){this._syncEdgeStyle();for(let e of this._nativeEdgeLines)e.parent&&this._styleEdgeLine(e)}_datasetEdgesEnabled(e){let t=e.options?.enableEdges;return t===!0||t!==!1&&this._edgesEnabled}_shouldSkipAutoEdges(t,n){let r=`${t.skeletonName??``} ${n}`.toLowerCase();return e._EDGE_SKIP_KEYWORDS.some(e=>r.includes(e))}_ensureEdges(e){let t=e.userData;if(t.edges||t.nativeEdges||!e.geometry||this._shouldSkipAutoEdges(t,``))return;let n=e.geometry.getAttribute(`position`);if((e.geometry.index?.count??(n?n.count:0))>12e4)return;let r=Yx(e.geometry,.005),i=this.style.edgeThreshold??55,a=new Qd(r,i);r.dispose();let o=a.getAttribute(`position`),s=o?o.array:null;if(a.dispose(),!s||s.length<6)return;let c=.005,l=Ux(e.geometry,c),u;if(l){let e=s.length/6;u=new Float32Array(e);for(let t=0;t<e;t++){let e=t*6;u[t]=l.get(Wx(s[e],s[e+1],s[e+2],1/c))??-1}}let d=new dc(Hx(s,u),this._createEdgeMaterial(e));d.renderOrder=2,d.frustumCulled=!1,d.raycast=()=>{},d.userData.isThickEdge=!0,t.edges=d,e.add(d)}_createEdgeMaterial(e){let t=oS(e),n=t?.userData?.uBatchTex?{uBatchTex:t.userData.uBatchTex,uBatchTex2:t.userData.uBatchTex2,uBatchMix:this.uniforms.uBatchMix,uBatchTexWidth:t.userData.uBatchTexWidth,uBatchTexActive:t.userData.uBatchTexActive,uPathTex:this.uniforms.uPathTex,uPathCount:this.uniforms.uPathCount,uPathTexActive:this.uniforms.uPathTexActive,uPathTime:this.uniforms.uPathTime}:void 0;return Vx(this.lineShared,{},this._edgeStyleUniforms,n)}_createSelectionEdgeMaterial(e){let t=oS(e),n=t?.userData?.uBatchTex?{uBatchTex:t.userData.uBatchTex,uBatchTex2:t.userData.uBatchTex2,uBatchMix:this.uniforms.uBatchMix,uBatchTexWidth:t.userData.uBatchTexWidth,uBatchTexActive:t.userData.uBatchTexActive,uPathTex:this.uniforms.uPathTex,uPathCount:this.uniforms.uPathCount,uPathTexActive:this.uniforms.uPathTexActive,uPathTime:this.uniforms.uPathTime}:void 0;return Vx(this.lineShared,{},this._selEdgeStyleUniforms,n)}_removeEdges(e){let t=e.userData,n=t.edges;if(!n)return;e.remove(n),n.geometry?.dispose();let r=n.material;Array.isArray(r)?r.forEach(e=>e?.dispose?.()):r?.dispose?.(),t.edges=null}getRayAt(e,t){if(!this.camera||!this.canvas)return null;let n=this.canvas,r=n.clientWidth||n.width,i=n.clientHeight||n.height;if(!r||!i)return null;let a=e/r*2-1,o=-(t/i)*2+1,s=new H(a,o,-1).unproject(this.camera),c=new H(a,o,1).unproject(this.camera).clone().sub(s).normalize();return new Bo(s,c)}_intersectMeshAtRay(e,t,n){let r=new gm;r.ray.copy(t);let i=r.intersectObject(e,!1);if(!i.length)return null;if(n!=null){let e=i.find(e=>e.instanceId===n);return e?e.point:i[0].point}return i[0].point}_buildPickResult(e,t,n,r){let i=t.mesh.userData,a=null,o=e.batchId,s=e.instanceIndex,c=i.geoRef,l=[];if(s!=null){let e=this._instanceFeature(t.mesh,c,s);if(!e)return null;a=e.smid,o=e.batchId}else{c=i.geoByBatchId?.get(e.batchId)??i.geoRef;let t=e_(c,e.batchId);a=t.smid,l=t.segments}if(this._isFeatureHidden(a,o))return null;let u=null,d=0;if(s!=null)u=this._instanceBox(t.mesh,s),d=t.mesh.geometry.index?Math.round(t.mesh.geometry.index.count/3):0;else if(a!=null&&this._smidMeshes.has(a)){let e=this._smidMeshes.get(a),t=1/0,n=1/0,r=1/0,i=-1/0,o=-1/0,s=-1/0,c=0;for(let l of e){let e=l.userData,u=e.geoRef?.pickInfo,f=u?.[a]??u?.[String(a)],p=f?Qg(f):-1,m=f?.segments??(p>=0?e_(e.geoRef,p).segments:[]),h=t_(l.geometry,m);h&&(h.minX<t&&(t=h.minX),h.minY<n&&(n=h.minY),h.minZ<r&&(r=h.minZ),h.maxX>i&&(i=h.maxX),h.maxY>o&&(o=h.maxY),h.maxZ>s&&(s=h.maxZ),c+=h.count,d+=h.triangles)}c>0&&(u={minX:t,minY:n,minZ:r,maxX:i,maxY:o,maxZ:s,count:c,triangles:d})}if(!u&&(u=t_(t.mesh.geometry,l),!u&&t.mesh.geometry)){t.mesh.geometry.boundingBox||t.mesh.geometry.computeBoundingBox();let e=t.mesh.geometry.boundingBox;e&&(u={minX:e.min.x,maxX:e.max.x,minY:e.min.y,maxY:e.max.y,minZ:e.min.z,maxZ:e.max.z,count:0,triangles:0})}let f=t.mesh.geometry,p=d>0?d:f.index?Math.round(f.index.count/3):0,m=n_({smid:a,box:u,triangles:p,floorHeight:this.style.floorHeight}),h=null;if(u&&this.sceneAnchor){let e=new H((u.minX+u.maxX)/2,(u.minY+u.maxY)/2,(u.minZ+u.maxZ)/2);e.applyMatrix4(t.mesh.matrixWorld);let n=this.sceneAnchor.meterInMercator;h=this._lngLatFromWorld(e.x*n+this.sceneAnchor.x,-e.y*n+this.sceneAnchor.y)}let g=n??null;!g&&r&&(g=this._intersectMeshAtRay(t.mesh,r,s));let _=null,v=null,y=null;if(g&&this.sceneAnchor){let e=a==null?{}:this._featureStyleManager.getFeatureEffectiveOffset(a),t=e.translation,n=e.elevation,r=g.clone();if(e.rotation){let t=Zx(e.rotation);if(t){let n=new V().set(t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),i=e.pivot?new H(e.pivot[0],e.pivot[1],e.pivot[2]):new H(0,0,0);r.sub(i).applyMatrix3(n).add(i)}}t?r.add(new H(t[0],t[1],t[2])):n&&(r.z+=n),_=[r.x,r.y,r.z];let i=this.sceneAnchor.meterInMercator;v=this._lngLatFromWorld(r.x*i+this.sceneAnchor.x,-r.y*i+this.sceneAnchor.y),y=r.z+(this.sceneAnchor.altitude??0)}else h&&u&&this.sceneAnchor&&(v=h,y=(u.minZ+u.maxZ)/2+(this.sceneAnchor.altitude??0));return{datasetId:t.datasetId,datasetName:this.datasets.get(t.datasetId)?.name??t.datasetId,objectId:e.objectId,batchId:o,instanceIndex:s,skeletonName:t.skeletonName,centerLngLat:h,point:_,lngLat:v,altitude:y,...m,mesh:t.mesh}}pick(e,t){if(!this.picker||!this.scene||!this.camera||!this.sceneAnchor)return null;let n=this.picker.pick(this.scene,this.camera,e,t);if(!n)return null;let r=this._pickables.get(n.objectId);if(!r)return null;let i=this.getRayAt(e,t);return this._buildPickResult(n,r,void 0,i??void 0)}pickPosition(e,t){if(!this.camera||!this.sceneAnchor)return null;let n=this.pick(e,t);if(n?.point&&n?.lngLat&&n.altitude!=null)return{lngLat:n.lngLat,altitude:n.altitude,point:n.point};let r=this.getRayAt(e,t);if(!r)return null;let i=new Ac(new H(0,0,1),0),a=new H,o=r.intersectPlane(i,a);if(o){let e=this.sceneAnchor.meterInMercator;return{lngLat:this._lngLatFromWorld(o.x*e+this.sceneAnchor.x,-o.y*e+this.sceneAnchor.y),altitude:o.z+(this.sceneAnchor.altitude??0),point:[o.x,o.y,o.z]}}return null}drillPick(e,t,n=10){if(!this.sceneAnchor||!this.camera)return[];let r=this.getRayAt(e,t);if(!r)return[];let i=new gm;i.ray.copy(r);let a=[...this._pickables.values()].map(e=>e.mesh).filter(e=>{let t=e;for(;t;){if(!t.visible)return!1;t=t.parent}return!0}),o=i.intersectObjects(a,!1);if(!o.length)return[];let s=[],c=new Set,l=new Set;for(let e of o){if(s.length>=n)break;let t=e.object,r=t.userData;if(r.pickId==null)continue;let i=this._pickables.get(r.pickId);if(!i)continue;let a=null,o=-1,u=e.instanceId;if(u!=null){let e=this._instanceFeature(t,r.geoRef,u);if(!e)continue;a=e.smid,o=e.batchId}else if(e.faceIndex!=null){let n=t.geometry.attributes.aBatchId;if(n){let i=t.geometry.index?t.geometry.index.getX(e.faceIndex*3):e.faceIndex*3;o=Math.round(n.getX(i)),a=e_(r.geoByBatchId?.get(o)??r.geoRef,o).smid}}if(a!=null){if(c.has(a))continue;c.add(a)}else{let e=`${r.pickId}:${o}:${u??-1}`;if(l.has(e))continue;l.add(e)}if(this._isFeatureHidden(a,o))continue;let d={objectId:r.pickId,batchId:o,instanceIndex:u},f=this._buildPickResult(d,i,e.point);f&&s.push(f)}return s}getFeatureBounds(e){if(!this.sceneAnchor)return null;let t=1/0,n=-1/0,r=1/0,i=-1/0,a=!1;for(let o of this._pickables.values()){let s=o.mesh,c=s.userData,l=c.geoRef,u=l?.pickInfo;if(!u)continue;let d=null;if(s.isInstancedMesh){let t=c.instanceLookup;t||(t=$g(u),c.instanceLookup=t);for(let[n,r]of t)if(r.smid===e){d=this._instanceBox(s,n);break}}else{let t=u,n=t[e]??t[String(e)];if(n){let e=e_(l,Qg(n));if(d=t_(s.geometry,e.segments),!d&&s.geometry){s.geometry.boundingBox||s.geometry.computeBoundingBox();let e=s.geometry.boundingBox;e&&(d={minX:e.min.x,maxX:e.max.x,minY:e.min.y,maxY:e.max.y,minZ:e.min.z,maxZ:e.max.z,count:0,triangles:0})}}}if(d){a=!0;let o=[new H(d.minX,d.minY,d.minZ),new H(d.maxX,d.minY,d.minZ),new H(d.minX,d.maxY,d.minZ),new H(d.maxX,d.maxY,d.minZ),new H(d.minX,d.minY,d.maxZ),new H(d.maxX,d.minY,d.maxZ),new H(d.minX,d.maxY,d.maxZ),new H(d.maxX,d.maxY,d.maxZ)],c=e==null?{}:this._featureStyleManager.getFeatureEffectiveOffset(e),l=c.translation,u=c.elevation,f=c.rotation?Zx(c.rotation):null,p=null,m=null;f&&(p=new V().set(f[0],f[1],f[2],f[3],f[4],f[5],f[6],f[7],f[8]),m=c.pivot?new H(c.pivot[0],c.pivot[1],c.pivot[2]):new H(0,0,0));let h=e==null?null:this._gpuPathPoseAt(e),g=null;if(h&&h.yaw!==0){let e=Math.cos(h.yaw),t=Math.sin(h.yaw);g=new V().set(e,-t,0,t,e,0,0,0,1)}for(let e of o){if(p&&m&&e.sub(m).applyMatrix3(p).add(m),g){let t=m??new H(0,0,0);e.sub(t).applyMatrix3(g).add(t)}l?e.add(new H(l[0],l[1],l[2])):u&&(e.z+=u),h&&e.add(new H(h.pos[0],h.pos[1],h.pos[2])),e.applyMatrix4(s.matrixWorld);let a=this.sceneAnchor.meterInMercator,[o,c]=this._lngLatFromWorld(e.x*a+this.sceneAnchor.x,-e.y*a+this.sceneAnchor.y);o<t&&(t=o),o>n&&(n=o),c<r&&(r=c),c>i&&(i=c)}}}return a?[[t,r],[n,i]]:null}_instanceFeature(e,t,n){let r=e.userData;return r.instanceLookup||(r.instanceLookup=$g(t?.pickInfo)),r.instanceLookup.get(n)??null}_instanceBox(e,t){let n=e;if(!n.isInstancedMesh)return null;let r=e.geometry;r.boundingBox||r.computeBoundingBox();let i=r.boundingBox;if(!i)return null;let a=new U;n.getMatrixAt(t,a);let o=i.clone().applyMatrix4(a);return{minX:o.min.x,minY:o.min.y,minZ:o.min.z,maxX:o.max.x,maxY:o.max.y,maxZ:o.max.z,count:r.getAttribute(`position`)?.count??0,triangles:r.index?Math.round(r.index.count/3):0}}select(e,{silent:t=!1}={}){if(this._selection){for(let e of this._selectedMeshes){if(sS(e)){this._applyPointCloudStyle(e,!1);continue}let t=oS(e);t&&(t.userData.uSelBatch.value=-1,t.userData.uSelWhole.value=0)}this._selectedMeshes=[],this._clearSelectionDecoration(),this._selection=null}if(!e){this.uniforms.uSelMix.value=0,this.uniforms.uDim.value=0,this.outlineMaterial.uniforms.uSelBatch.value=-1,this.outlineMaterial.uniforms.uSelWhole.value=0,this.outlineMaterial.uniforms.uElevation.value=0,this._requestRepaint(),t||this.onPick(null);return}this._selection=e;let n=new Set;if(e.smid!=null){let t=this._smidMeshes.get(e.smid);if(t)for(let e of t)n.add(e)}n.add(e.mesh);for(let t of n){let n=oS(t);if(!n)continue;let r=e.batchId;if(e.instanceIndex!=null&&t===e.mesh)r=e.batchId;else if(e.smid!=null){let n=t.userData.geoRef?.pickInfo,i=n?.[e.smid]??n?.[String(e.smid)],a=i?Qg(i):-1;r=a>=0?a:t===e.mesh?e.batchId:-1}n.userData.uSelBatch.value=r,n.userData.uSelWhole.value=+(r<0),this._selectedMeshes.push(t)}for(let e of this._selectedMeshes)sS(e)&&this._applyPointCloudStyle(e,!0);if(this.uniforms.uSelMix.value=1,this.uniforms.uDim.value=+!!this.style.dimOthers,this.style.outline){let t=[...n].filter(e=>!sS(e));t.length&&((this.style.outlineStyle??`edges`)===`edges`?this._addSelectionEdges(e,t):this._addSelectionHull(e,t))}this._requestRepaint()}_addSelectionEdges(e,t){this._syncSelectionStyle();for(let n of t){let t=n.userData,r=t.geoRef,i=[],a=-1;if(n===e.mesh&&e.instanceIndex!=null){i=[{vertexOffset:0,vertexCount:n.geometry.getAttribute(`position`)?.count??0}];let t=r?.pickInfo,o=t?.[e.smid??``]??t?.[String(e.smid)];a=o?Qg(o):-1}else if(e.smid!=null){let t=r?.pickInfo,n=t?.[e.smid]??t?.[String(e.smid)],o=n?Qg(n):-1;a=o,i=n?.segments??(o>=0?e_(r,o).segments:[])}else n===e.mesh&&(i=e_(t.geoByBatchId?.get(e.batchId)??r,e.batchId).segments,a=e.batchId);let o=qx(n.geometry,i);if(o&&o.length>0){let t=a>=0?new Float32Array(o.length/6).fill(a):void 0,r=new dc(Hx(o,t),this._createSelectionEdgeMaterial(n));r.renderOrder=4,r.frustumCulled=!1,r.raycast=()=>{},r.userData.isSelectionEdge=!0,n===e.mesh&&e.instanceIndex!=null&&this._applyInstanceTransform(r,e),n.add(r),this._selectionEdgeMeshes.push(r)}}this._selectionEdgeMeshes.length===0?this._addSelectionHull(e,t):this._selectionEdges=this._selectionEdgeMeshes[0]??null}_applyInstanceTransform(e,t){let n=t.mesh;if(t.instanceIndex==null||!n.isInstancedMesh)return;let r=new U;n.getMatrixAt(t.instanceIndex,r),r.decompose(e.position,e.quaternion,e.scale)}_addSelectionHull(e,t){let n=e.instanceIndex!=null;this.outlineMaterial.uniforms.uSelBatch.value=n?-1:e.batchId,this.outlineMaterial.uniforms.uSelWhole.value=n||e.batchId<0?1:0,this.outlineMaterial.uniforms.uElevation.value=n?this._selectionElevation(e):this.style.selectElevation??0;for(let n of t){let t=oS(n);t?.userData?.uBatchTex&&(this.outlineMaterial.uniforms.uBatchTex.value=t.userData.uBatchTex.value,this.outlineMaterial.uniforms.uBatchTexWidth.value=t.userData.uBatchTexWidth.value,this.outlineMaterial.uniforms.uBatchTexActive.value=t.userData.uBatchTexActive.value);let r=new dc(n.geometry,this.outlineMaterial);r.renderOrder=3,r.frustumCulled=!1,r.raycast=()=>{},n===e.mesh&&e.instanceIndex!=null&&this._applyInstanceTransform(r,e),n.add(r),this._outlineMeshes.push(r)}this._outlineMesh=this._outlineMeshes[0]??null}_syncSelectionStyle(){let e=this.style,t=this.selectionEdgeMaterial.uniforms;t.uColor.value.set(e.outlineColor??e.selectColor),t.uWidth.value=Math.max(.1,e.outlineWidthPx??3),t.uOpacity.value=cS(e.opacity),t.uElevation&&(t.uElevation.value=e.selectElevation??0);for(let e of this._outlineMeshes){let t=e.parent,n=t?oS(t)?.userData:null;n?.uBatchTex&&(this.outlineMaterial.uniforms.uBatchTex.value=n.uBatchTex.value,this.outlineMaterial.uniforms.uBatchTexWidth.value=n.uBatchTexWidth.value,this.outlineMaterial.uniforms.uBatchTexActive.value=n.uBatchTexActive.value)}}_selectionElevation(e){let t=this.style.selectElevation??0;if(e.smid!=null){let n=this._featureStyleManager.getFeatureEffectiveOffset(e.smid);n.elevation&&(t+=n.elevation)}return t}_clearSelectionDecoration(){for(let e of this._outlineMeshes)e.parent?.remove(e);this._outlineMeshes=[],this._outlineMesh=null;for(let e of this._selectionEdgeMeshes)e.parent?.remove(e),e.geometry.dispose();this._selectionEdgeMeshes=[],this._selectionEdges=null}_updateLineResolution(e){let t=e.width||1,n=e.height||1,r=e.clientWidth||t;this.lineShared.uResolution.value.set(t,n),this.lineShared.uDpr.value=Math.max(1,t/r)}get lodRangeScale(){return this._lodRangeScale}setLodRangeScale(e,t){if(!(e<=0)){if(t){let n=this.datasets.get(t);n?.tileset&&(n.tileset.lodRangeScale=e)}else{this._lodRangeScale=e;for(let t of this.datasets.values())t.tileset&&(t.tileset.lodRangeScale=e)}this._requestRepaint()}}renderFrame(e){if(!this.renderer||!this.scene||!this.camera||!this.sceneAnchor||!this.canvas)return!1;let t=this.renderer.getContext();if(t&&typeof t.isContextLost==`function`&&t.isContextLost())return!1;if(this._prewarming)return!0;let n=this.animator.tick();this.flushOverrides();let r=this.canvas,i=this.sceneAnchor.meterInMercator;this._enuMatrix.set(i,0,0,this.sceneAnchor.x,0,-i,0,this.sceneAnchor.y,0,0,i,this.sceneAnchor.z,0,0,0,1);let a=new U().fromArray(e.mvp);a.multiply(this._enuMatrix),this.camera.projectionMatrix.copy(a),this.camera.projectionMatrixInverse.copy(a).invert();let o=e.cameraEnu;this.camera.position.set(o[0],o[1],o[2]),this.camera.matrixWorld.setPosition(o[0],o[1],o[2]),this.camera.matrixWorldInverse.copy(this.camera.matrixWorld).invert(),this.groundManager.update(this.camera);let s=!1;for(let t of this.datasets.values()){if(!t.visible||!t.tileset)continue;let n=[o[0]-t.offset[0],o[1]-t.offset[1],o[2]-t.offset[2]];t.tileset.update(n,e.fovRad,e.canvasHeight)&&(s=!0)}this.style.mode===Ly.DYNAMIC&&(this.uniforms.uTime.value+=.016*(this.style.speed??1)),this.gpuPathManager.updateUniforms(this.uniforms);let c=(this.uniforms.uPathTexActive?.value??0)>0;c&&!this._customPathTime&&this.uniforms.uPathTime&&(this.uniforms.uPathTime.value+=.016),this._updateLights(),this._updateLineResolution(r),this.renderer.setViewport(0,0,r.width,r.height),this.renderer.resetState(),(this.uniforms.uOpacity?.value??1)>lS&&this.renderer.render(this.scene,this.camera),this._frame++;let l=performance.now();l-this._fps.last>500&&(this._fps.value=Math.round(this._frame*1e3/(l-this._fps.last)),this._frame=0,this._fps.last=l);let u=n||this.style.mode===Ly.DYNAMIC||c||this.stats.loading>0||s;return this._prewarmShadingEnabled&&!this._shadingPrewarmed&&this._pickables.size>0&&this.prewarmShading(),u}get fps(){return this._fps.value}get stats(){let e={tiles:0,loading:0,failed:0,meshes:0,vertices:0,triangles:0,datasets:this.datasets.size};for(let t of this.datasets.values()){let n=t.tileset?.stats;n&&(e.tiles+=n.tiles,e.loading+=n.loading,e.failed+=n.failed,e.meshes+=n.meshes,e.vertices+=n.vertices,e.triangles+=n.triangles)}return e}getBounds(){let e=1/0,t=1/0,n=-1/0,r=-1/0;for(let i of this.datasets.values()){let a=Vb(i.tileset?.config?.geoBounds);a&&(e=Math.min(e,a.left),n=Math.max(n,a.right),t=Math.min(t,a.bottom),r=Math.max(r,a.top))}return isFinite(e)?[[e,t],[n,r]]:null}dispose(){this.unmount()}};X(pS,`_EDGE_SKIP_KEYWORDS`,[`terrain`,`ground`,`vegetation`,`green`,`road`,`dem`,`绿地`,`道路`,`地面`,`地形`,`植被`,`铺装`]),Pb(),rh();var mS=1e-4;function hS(e,t){let n=e.elements;for(let e=0;e<16;e++){let r=Math.max(1,Math.abs(n[e]),Math.abs(t[e]));if(Math.abs(n[e]-t[e])>mS*r)return!1}return!0}function gS(e){let t=e.elements,n=1;for(let e=0;e<16;e++){let r=Math.abs(t[e]);r>n&&(n=r)}let r=1e-6*n;return Math.abs(t[3])<r&&Math.abs(t[7])<r&&Math.abs(t[11])<r&&Math.abs(t[15]-1)<r}function _S(e,t){return t>0&&Math.abs(e.elements[5]*Math.tan(t/2)-1)<.001}function vS(e){if(!e||typeof e!=`object`)return null;let t=e;return t.defaultProjectionData?.projectionMatrix??t.projectionMatrix??null}function yS(e){let t={nearZ:null,farZ:null};if(!e||typeof e!=`object`)return t;let n=e,r=n.defaultProjectionData,i=e=>{let t=n[e];if(typeof t==`number`&&Number.isFinite(t))return t;let i=r?.[e];return typeof i==`number`&&Number.isFinite(i)?i:null};return{nearZ:i(`nearZ`),farZ:i(`farZ`)}}function bS(e,t){if(e&&typeof e==`object`){let t=e.fov;if(typeof t==`number`&&Number.isFinite(t)&&t>0)return t}return typeof t==`number`&&Number.isFinite(t)&&t>0?t:null}function xS(e,t){let n=e.projectionMatrix;if(!n||n.length<16)return null;let r=new U().fromArray(Array.from(n)),i=new U().fromArray(Array.from(e.mvp));if(r.determinant()===0||!_S(r,t.fov))return null;let a=r.clone().invert().multiply(i);if(!hS(r.clone().multiply(a),Array.from(e.mvp))||!gS(a)||!_S(r,t.fov))return null;let{distance:o,fov:s,aspect:c}=t;if(!(o>0)||!(s>0)||!(c>0))return null;let l=o*Math.tan(s/2),u=l*c,d=e.nearZ!=null&&e.nearZ>0?e.nearZ:1,f=e.farZ!=null&&e.farZ>d?e.farZ:o*4+1e3;f>d||(f=d+1e3);let p=new zc(-u,u,l,-l,d,f);return p.updateProjectionMatrix(),{matrix:p.projectionMatrix.clone().multiply(a),view:a}}function SS(e,t,n){let r=e.projectionMatrix;if(!r||r.length<16)return null;let i=new U().fromArray(Array.from(r)),a=new U().fromArray(Array.from(e.mvp));if(i.determinant()===0||!_S(i,t.fov))return null;let o=i.clone().invert().multiply(a);if(!hS(i.clone().multiply(o),Array.from(e.mvp))||!gS(o))return null;let s=Math.max(0,Math.min(1,n));if(s<=0)return{matrix:a,view:o};let{distance:c,fov:l,aspect:u}=t;if(!(c>0)||!(l>0)||!(u>0))return null;let d=c*Math.tan(l/2),f=d*u,p=e.nearZ!=null&&e.nearZ>0?e.nearZ:1,m=e.farZ!=null&&e.farZ>p?e.farZ:c*4+1e3;m>p||(m=p+1e3);let h=new zc(-f,f,d,-d,p,m);if(h.updateProjectionMatrix(),s>=1)return{matrix:h.projectionMatrix.clone().multiply(o),view:o};let g=new U,_=i.elements,v=h.projectionMatrix.elements,y=g.elements;for(let e=0;e<16;e++)y[e]=(1-s)*_[e]+s*v[e];return{matrix:g.multiply(o),view:o}}var CS=i({Animator:()=>Lx,AttributeQuery:()=>u_,BinaryReader:()=>dh,DEFAULT_FLOOR_HEIGHT:()=>i_,DEFAULT_STYLE:()=>Vy,DatasetManager:()=>Xx,EARTH_RADIUS:()=>d_,EASING_NAMES:()=>gx,FeatureStyleManager:()=>rS,GPUPathManager:()=>My,GroundManager:()=>iS,Path:()=>ky,Picker:()=>ax,PixelFormat:()=>rv,S3MFormatError:()=>Xg,S3MTileset:()=>Wb,S3MViewer:()=>pS,S3M_VERSION:()=>vg,SAMPLES_PER_PATH:()=>256,SELECT_MODE:()=>zy,SELECT_MODE_LABELS:()=>By,STYLE:()=>Ly,STYLE_LABELS:()=>Ry,TextureCompress:()=>iv,VertexTag:()=>yg,VertexTagV3:()=>bg,buildAttributes:()=>n_,buildBlendedMVP:()=>SS,buildFeatureEdgeSegments:()=>qx,buildOrthoMVP:()=>xS,buildThickLineGeometry:()=>Hx,buildTileObjects:()=>jb,createLineSharedUniforms:()=>Rx,createOutlineMaterial:()=>Iy,createSharedUniforms:()=>Py,createStyledMaterial:()=>Fy,createTexture:()=>wy,createThickLineMaterial:()=>Vx,cubicBezier:()=>Dx,default:()=>pS,dxtPixelFormatOf:()=>nv,easing:()=>_x,extractEulerAngles:()=>Qx,extractFovRadians:()=>bS,extractNearFar:()=>yS,extractProjectionMatrix:()=>vS,isS3M1Buffer:()=>ag,lngLatFromMercator:()=>p_,lngLatFromWorld:()=>h_,measureSegments:()=>t_,mercatorFromLngLat:()=>f_,parseS3M1:()=>_g,parseS3MB:()=>Zg,resolveFeature:()=>e_,resolveRotationMatrix:()=>Zx,resolveTextureKind:()=>tv,setMaxAnisotropy:()=>vy,steps:()=>Ox,worldFromLngLat:()=>m_});a_(),eb(),Ny(),Oy(),sv(),Ay(),rh(),a_(),sv(),Oy(),Ay(),Ny(),eb(),Pb();var wS=globalThis;return wS.THREE||(wS.THREE=a),wS.S3M=CS,e.Animator=Lx,e.AttributeQuery=u_,e.BinaryReader=dh,e.DEFAULT_FLOOR_HEIGHT=i_,e.DEFAULT_STYLE=Vy,e.DatasetManager=Xx,e.EARTH_RADIUS=d_,e.EASING_NAMES=gx,e.FeatureStyleManager=rS,e.GPUPathManager=My,e.GroundManager=iS,e.Path=ky,e.Picker=ax,e.PixelFormat=rv,e.S3MFormatError=Xg,e.S3MTileset=Wb,e.S3MViewer=pS,e.default=pS,e.S3M_VERSION=vg,e.SAMPLES_PER_PATH=jy,e.SELECT_MODE=zy,e.SELECT_MODE_LABELS=By,e.STYLE=Ly,e.STYLE_LABELS=Ry,e.TextureCompress=iv,e.VertexTag=yg,e.VertexTagV3=bg,e.buildAttributes=n_,e.buildBlendedMVP=SS,e.buildFeatureEdgeSegments=qx,e.buildOrthoMVP=xS,e.buildThickLineGeometry=Hx,e.buildTileObjects=jb,e.createLineSharedUniforms=Rx,e.createOutlineMaterial=Iy,e.createSharedUniforms=Py,e.createStyledMaterial=Fy,e.createTexture=wy,e.createThickLineMaterial=Vx,e.cubicBezier=Dx,e.dxtPixelFormatOf=nv,e.easing=_x,e.extractEulerAngles=Qx,e.extractFovRadians=bS,e.extractNearFar=yS,e.extractProjectionMatrix=vS,e.isS3M1Buffer=ag,e.lngLatFromMercator=p_,e.lngLatFromWorld=h_,e.measureSegments=t_,e.mercatorFromLngLat=f_,e.parseS3M1=_g,e.parseS3MB=Zg,e.resolveFeature=e_,e.resolveRotationMatrix=Zx,e.resolveTextureKind=tv,e.setMaxAnisotropy=vy,e.steps=Ox,e.worldFromLngLat=m_,e})({});
4820
+ `}),i=new dc(e,r);i.position.set(0,0,-.02),i.renderOrder=-1e3,i.name=`s3m-ground-depth`,i.visible=!1,this.group.add(i),this._depthMesh=i,this._depthMaterial=r,this._syncUniforms()}_applyMode(){this._mesh&&(this._mesh.visible=this.mode!==`none`),this._material&&(this._material.uniforms.uMode.value=this.mode===`excavate`?2:+(this.mode===`translucent`),this._material.depthWrite=this.mode===`excavate`),this._depthMesh&&(this._depthMesh.visible=this.occlude,this._depthMaterial&&(this._depthMaterial.uniforms.uPunchPit.value=+(this.mode===`excavate`)))}update(e){e&&this.group.position.set(e.position.x,e.position.y,this.groundHeight)}setGroundHeight(e){this.groundHeight=e,this.group.position.z=e}setMode(e){this.mode=e,this._occludeExplicit||(this.occlude=e===`excavate`),this._applyMode()}setOcclude(e){this.occlude=e,this._occludeExplicit=!0,this._applyMode()}setOpacity(e){this.opacity=Math.max(0,Math.min(1,e)),this._material&&(this._material.uniforms.uOpacity.value=this.opacity)}setColors(e,t){this.color.set(e),t&&this.gridColor.set(t),this._material&&(this._material.uniforms.uColor.value=this.color,this._material.uniforms.uGridColor.value=this.gridColor)}setExcavationBounds(e){this.excavationBounds=e,this._syncUniforms()}autoFitExcavation(e){let t=1/0,n=1/0,r=-1/0,i=-1/0,a=!1;for(let o of e){let e=o.tileset?.config,s=e?.rootTiles??e?.tiles;if(Array.isArray(s))for(let e of s){let s=e.boundingBox;if(!s)continue;let c=s.center??{x:0,y:0},l=s.xExtent?.x?Math.abs(s.xExtent.x):50,u=s.yExtent?.y?Math.abs(s.yExtent.y):50,d=c.x+o.offset[0]-l,f=c.x+o.offset[0]+l,p=c.y+o.offset[1]-u,m=c.y+o.offset[1]+u;d<t&&(t=d),f>r&&(r=f),p<n&&(n=p),m>i&&(i=m),a=!0}}a&&Number.isFinite(t)&&this.setExcavationBounds([t-5,n-5,r+5,i+5])}_syncUniforms(){let e=this.excavationBounds;if(this._material){let t=this._material.uniforms;e?(t.uHasExcavation.value=1,t.uExcavationMin.value.set(e[0],e[1]),t.uExcavationMax.value.set(e[2],e[3])):t.uHasExcavation.value=0}if(this._depthMaterial){let t=this._depthMaterial.uniforms;e?(t.uHasExcavation.value=1,t.uExcavationMin.value.set(e[0],e[1]),t.uExcavationMax.value.set(e[2],e[3])):t.uHasExcavation.value=0}}dispose(){this._geom?.dispose(),this._geom=null,this._material?.dispose(),this._material=null,this._depthMaterial?.dispose(),this._depthMaterial=null,this._mesh=null,this._depthMesh=null,this.group.clear()}};rh(),Py(),ob(),Iy(),zy(),a_(),uh();var dS=65534;function fS(e){let t=Array.isArray(e.material)?e.material[0]:e.material;return t?.userData?.isStyled?t:null}function pS(e){return e.isPoints===!0}function mS(e){let t=e??1;return t<0?0:t>1?1:t}var hS=.001,gS=[`opacity`,`floorHeight`,`selectOpacity`,`selectEmissive`,`selectElevation`,`dimFactor`,`texMix`,`roofThreshold`,`ambientGain`,`edgeWidth`,`edgeOpacity`,`outlineWidth`],_S=[`colorA`,`colorB`,`colorC`,`selectColor`,`edgeColor`],vS=[`translation`,`elevation`,`opacity`,`color`,`rotation`],yS=class e{get datasets(){return this._datasetManager.datasets}get sceneAnchor(){return this._datasetManager.sceneAnchor}set sceneAnchor(e){this._datasetManager.sceneAnchor=e}_requestRepaint(){this._onRequestRepaint()}triggerRepaint(){this._requestRepaint()}constructor(e={}){X(this,`options`,void 0),X(this,`pickable`,void 0),X(this,`onStats`,void 0),X(this,`onReady`,void 0),X(this,`onPick`,void 0),X(this,`onError`,void 0),X(this,`geo`,null),X(this,`canvas`,null),X(this,`renderer`,null),X(this,`scene`,null),X(this,`camera`,null),X(this,`picker`,null),X(this,`uniforms`,void 0),X(this,`style`,void 0),X(this,`_styleTarget`,void 0),X(this,`outlineMaterial`,void 0),X(this,`lineShared`,void 0),X(this,`edgeMaterial`,void 0),X(this,`selectionEdgeMaterial`,void 0),X(this,`_edgeStyleUniforms`,void 0),X(this,`_selEdgeStyleUniforms`,void 0),X(this,`groundManager`,void 0),X(this,`_datasetManager`,new nS),X(this,`_featureStyleManager`,void 0),X(this,`gpuPathManager`,new Ry),X(this,`_customPathTime`,!1),X(this,`_pickables`,new Map),X(this,`_pickSeq`,0),X(this,`_freePickIds`,[]),X(this,`_smidMeshes`,new Map),X(this,`_meshHeight`,new Map),X(this,`_heightMin`,1/0),X(this,`_heightMax`,-1/0),X(this,`_boxScratch`,new ho),X(this,`_selection`,null),X(this,`_selectedMeshes`,[]),X(this,`_outlineMesh`,null),X(this,`_outlineMeshes`,[]),X(this,`_selectionEdges`,null),X(this,`_selectionEdgeMeshes`,[]),X(this,`_edgesEnabled`,!1),X(this,`_tileFadeSeq`,0),X(this,`_modeGen`,0),X(this,`_shadingPrewarmed`,!1),X(this,`_prewarmShadingEnabled`,!0),X(this,`_prewarming`,!1),X(this,`_pathSpecs`,new Map),X(this,`_pathScratch`,new Float32Array(3)),X(this,`_pathScratch2`,new Float32Array(3)),X(this,`_creaseLines`,null),X(this,`_nativeEdgeLines`,new Set),X(this,`_pointClouds`,new Set),X(this,`_opacityTransparent`,!1),X(this,`animator`,new Ux),X(this,`attributeQuery`,null),X(this,`_enuMatrix`,new U),X(this,`_colorScratch`,new W),X(this,`_needsRepaint`,!0),X(this,`_frame`,0),X(this,`_fps`,{value:0,last:0}),X(this,`_ambientLight`,void 0),X(this,`_hemiLight`,void 0),X(this,`_keyLight`,void 0),X(this,`_fillLight`,void 0),X(this,`_lightOptions`,{ambientIntensity:.4,ambientColor:16777215,hemisphereIntensity:.8,hemisphereColor:16777215,hemisphereGroundColor:11976907,keyLightIntensity:1,keyLightColor:16777215,fillLightIntensity:.35,fillLightColor:16777215,mode:`headlamp`,azimuth:150,altitude:50}),X(this,`_datasetQueue`,void 0),X(this,`_onRequestRepaint`,()=>{}),X(this,`_getBearing`,void 0),X(this,`_lodRangeScale`,1),X(this,`_lodPixelRatioCap`,1/0),this.options=e,this.pickable=e.pickable!==!1,this._lodRangeScale=e.lodRangeScale??1,this._lodPixelRatioCap=e.lodPixelRatioCap??1/0,Sy(e.maxTextureSize??1/0),e.light&&Object.assign(this._lightOptions,e.light),e.totalMaxTiles&&(this._datasetManager.totalMaxTiles=e.totalMaxTiles),this._onRequestRepaint=e.onRequestRepaint??(()=>{}),this._getBearing=e.getBearing,this.onStats=e.onStats??(()=>{}),this.onReady=e.onReady??(()=>{}),this.onPick=e.onPick??(()=>{}),this.onError=e.onError??(e=>console.warn(`[s3m]`,e)),this._prewarmShadingEnabled=e.prewarmShading!==!1,this.groundManager=new uS(e.ground),this.scene||(this.scene=new Wl,this.scene.add(this.groundManager.group),this._addLights()),this._featureStyleManager=new lS(()=>this.style.floorHeight,()=>this._requestRepaint(),()=>{this._selection&&this._syncSelectionStyle()},()=>this.getAllMeshes(),e=>this._applyOverridesToMesh(e),()=>this._opacityTransparent),this.uniforms=By(),wy(b_),this.style={...qy,...e.style??{}},this._styleTarget={...this.style},this._opacityTransparent=(this.style.opacity??1)<.999,this._applyStyleUniforms(),this._registerAnimChannels(),this.animator.onActive=()=>this._requestRepaint(),this.outlineMaterial=Hy(this.uniforms),this.lineShared=Wx(),this._edgeStyleUniforms={uColor:{value:new W(this.style.edgeColor)},uWidth:{value:Math.max(.1,this.style.edgeWidth??1.5)},uOpacity:{value:.6}},this.edgeMaterial=qx(this.lineShared,{},this._edgeStyleUniforms),this._selEdgeStyleUniforms={uColor:{value:new W(this.style.outlineColor??this.style.selectColor)},uWidth:{value:Math.max(.1,this.style.outlineWidthPx??3)},uOpacity:{value:1},uElevation:{value:this.style.selectElevation??0}},this.selectionEdgeMaterial=qx(this.lineShared,{},this._selEdgeStyleUniforms),this.setEdges(!!this.style.edges),this._applyOpacity(),this._fps.last=performance.now(),this._datasetQueue=this._normalizeDatasets(e),e.attributes&&(this.attributeQuery=new u_(e.attributes))}_createRenderer(e,t){let n=new Vl({canvas:e,context:t,antialias:!0});return n.autoClear=!1,n.setPixelRatio(1),n.toneMapping=this.options.toneMapping===void 0?0:this.options.toneMapping,n.toneMappingExposure=this.options.toneMappingExposure??1,n}_syncTextureCapabilities(e){let t=!!e.getExtension(`WEBGL_compressed_texture_s3tc`),n=!!e.getExtension(`WEBGL_compressed_texture_s3tc_srgb`);Cy(t&&n)}mount(e,t){this.canvas=e,this.renderer=this._createRenderer(e,t),xy(this.renderer.capabilities.getMaxAnisotropy(),this.options.anisotropyCap??1/0),this._syncTextureCapabilities(t),this.scene=new Wl,this.scene.add(this.groundManager.group),this._addLights(),this.camera=new _c,this.camera.matrixAutoUpdate=!1,this.picker=new dx(this.renderer),this._applyStyleUniforms();for(let e of this._datasetQueue)this.addDataset(e).catch(e=>this.onError(e));this._recomputeAnchors()}restoreContext(e){if(!this.canvas)console.warn(`[s3m] restoreContext 调用过早(尚未 mount),按首次挂载处理`);else{try{this.renderer?.dispose?.()}catch{}this.renderer=this._createRenderer(this.canvas,e),xy(this.renderer.capabilities.getMaxAnisotropy(),this.options.anisotropyCap??1/0),this._syncTextureCapabilities(e),this.picker?.dispose(),this.picker=new dx(this.renderer),this._requestRepaint()}}unmount(){for(let e of[...this.datasets.keys()])this.removeDataset(e);this.clearCreases(),this.groundManager.dispose(),this.picker?.dispose(),this.picker=null,this.outlineMaterial.dispose(),this.edgeMaterial.dispose(),this.selectionEdgeMaterial.dispose(),this.scene?.clear(),this._selectedMeshes=[],this._outlineMeshes=[],this._selectionEdgeMeshes=[],this._outlineMesh=null,this._selectionEdges=null,this._smidMeshes.clear(),this._meshHeight.clear(),this.animator.clear(),this.animator.unregisterPrefix(`tile.`),this.animator.unregisterPrefix(`feature.`),this._pathSpecs.clear(),this._heightMin=1/0,this._heightMax=-1/0,this.renderer?.dispose?.(),this.renderer=null,this.canvas=null}_createLights(){this._ambientLight=new mp(this._lightOptions.ambientColor,this._lightOptions.ambientIntensity),this._hemiLight=new ep(this._lightOptions.hemisphereColor,this._lightOptions.hemisphereGroundColor,this._lightOptions.hemisphereIntensity),this._keyLight=new pp(this._lightOptions.keyLightColor,this._lightOptions.keyLightIntensity),this._fillLight=new pp(this._lightOptions.fillLightColor,this._lightOptions.fillLightIntensity),this._updateLights()}_addLights(){this.scene&&(this._ambientLight||this._createLights(),this.scene.add(this._ambientLight,this._hemiLight,this._keyLight,this._fillLight))}_applyLightOptions(){this._ambientLight&&(this._ambientLight.intensity=this._lightOptions.ambientIntensity,this._ambientLight.color.set(this._lightOptions.ambientColor)),this._hemiLight&&(this._hemiLight.intensity=this._lightOptions.hemisphereIntensity,this._hemiLight.color.set(this._lightOptions.hemisphereColor),this._hemiLight.groundColor.set(this._lightOptions.hemisphereGroundColor)),this._keyLight&&(this._keyLight.intensity=this._lightOptions.keyLightIntensity,this._keyLight.color.set(this._lightOptions.keyLightColor)),this._fillLight&&(this._fillLight.intensity=this._lightOptions.fillLightIntensity,this._fillLight.color.set(this._lightOptions.fillLightColor))}setLight(e){let t={...e};t.mainColor!==void 0&&t.keyLightColor===void 0&&(t.keyLightColor=t.mainColor),t.mainIntensity!==void 0&&t.keyLightIntensity===void 0&&(t.keyLightIntensity=t.mainIntensity),Object.assign(this._lightOptions,t),this._applyLightOptions(),this._updateLights(),this._needsRepaint=!0,this.triggerRepaint()}getLight(){return{...this._lightOptions}}setToneMapping(e,t=1){this.options.toneMapping=e,this.options.toneMappingExposure=t,this.renderer&&(this.renderer.toneMapping=e,this.renderer.toneMappingExposure=t,this._needsRepaint=!0,this.triggerRepaint())}getToneMapping(){return{toneMapping:this.renderer?this.renderer.toneMapping:this.options.toneMapping??0,toneMappingExposure:this.renderer?this.renderer.toneMappingExposure:this.options.toneMappingExposure??1}}_updateLights(){if(!this._keyLight||!this._fillLight)return;let e=this._lightOptions.mode===`fixed`?0:(this._getBearing?.()??0)*Math.PI/180,t=(t,n,r)=>{if(!t)return;let i=e+n*Math.PI/180,a=r*Math.PI/180,o=Math.cos(a);t.position.set(Math.sin(i)*o,Math.cos(i)*o,Math.sin(a)).multiplyScalar(1e3)};t(this._keyLight,this._lightOptions.azimuth,this._lightOptions.altitude),t(this._fillLight,this._lightOptions.azimuth+65,Math.max(10,this._lightOptions.altitude-20))}_normalizeDatasets(e){return Array.isArray(e.datasets)?e.datasets.filter(e=>!!e?.configUrl):e.configUrl?[{id:`default`,name:`默认数据集`,configUrl:e.configUrl,useWorker:e.useWorker}]:[]}async addDataset(e){if(!this.scene)throw Error(`[s3m] 图层尚未 addLayer,不能添加数据集`);return await this._datasetManager.addDataset(e,this.scene,this.geo,this.uniforms,this._lodRangeScale,this.options.buildTile,this.options.maxTiles??64,this.options.maxConcurrent??4,{onTile:(e,t)=>{this._registerTile(e,t),this.onStats(this.stats),this._needsRepaint=!0,this._requestRepaint()},onTileRemoved:(e,t)=>{this._unregisterTile(e,t),this.onStats(this.stats),this._needsRepaint=!0,this._requestRepaint()},onStats:()=>{this.onStats(this.stats),this._requestRepaint()},onError:e=>{this.onError(e),this.onStats(this.stats)},onReady:e=>{this.onReady(e),this._refreshAllHeights(),this.groundManager.excavationBounds||this.groundManager.autoFitExcavation(this.datasets.values())},triggerRepaint:()=>{this._requestRepaint()}},this.options.maxTriangles??1/0)}_lngLatFromWorld(e,t){return h_(this.geo,e,t)}recomputeAnchors(){this._datasetManager.recomputeAnchors(this.geo),this._refreshAllHeights(),this._requestRepaint()}_recomputeAnchors(){this.recomputeAnchors()}getDatasetHeight(e){return this._datasetManager.getDatasetHeight(e)}setDatasetHeight(e,t){let n,r;typeof e==`number`?(n=this.datasets.keys().next().value??``,r=e):(n=e,r=t??0),this._datasetManager.setDatasetHeight(n,r,this.geo),this._syncGroundHeight(),this._refreshAllHeights(),this._requestRepaint()}_syncGroundHeight(){if(!this.groundManager.trackHeight)return;let e=this.datasets.keys().next().value;if(!e)return;let t=this._datasetManager.getDatasetHeight(e);this.groundManager.setGroundHeight(t)}setDatasetAlign(e,t){let n,r;t===void 0&&(e===`origin`||e===`bottom`||e===`top`||e===`center`)?(n=this.datasets.keys().next().value??``,r=e):(n=e,r=t??`origin`),this._datasetManager.setDatasetAlign(n,r,this.geo),this._refreshAllHeights(),this._requestRepaint()}_computeAlignOffset(e,t){return this._datasetManager.computeAlignOffset(e,t)}computeAlignOffset(e,t){return this._datasetManager.computeAlignOffset(e,t)}setFeatureStyle(e,t){this._featureStyleManager.setFeatureStyle(e,t,this._meshesOf([e]))}setFeaturesStyle(e,t){this._featureStyleManager.setFeaturesStyle(e,t,this._meshesOf(e))}moveFeature(e,t,n){let r=this._ensureFeatureChannel(e,`translation`);this.animator.to(r,t,n)}moveFeatureBy(e,t,n){let r=this._featureStyleManager.getFeatureStyle(e)?.translation??[0,0,0];this.moveFeature(e,[r[0]+t[0],r[1]+t[1],r[2]+t[2]],n)}rotateFeature(e,t,n,r){let i=this._featureStyleManager.getFeatureStyle(e)??{};n&&this._featureStyleManager.setFeatureStyle(e,{...i,pivot:n},this._meshesOf([e]));let a=iS(t),o=this._ensureFeatureChannel(e,`rotation`);this.animator.to(o,a,r)}rotateFeatureBy(e,t,n,r){let i=iS(this._featureStyleManager.getFeatureStyle(e)?.rotation),a=typeof t==`number`?[0,0,t]:t;this.rotateFeature(e,[i[0]+a[0],i[1]+a[1],i[2]+a[2]],n,r)}crossFadeStyles(e,t){let n=e instanceof Map?e:new Map(Object.entries(e).map(([e,t])=>[Number(e),t])),r=this.getAllMeshes();this._featureStyleManager.prepareCrossFade(n,r);let i=`batch.mix`;this.animator.has(i)||this.animator.register(i,{dim:1,read:e=>{e[0]=this.uniforms.uBatchMix?.value??0},write:e=>{this.uniforms.uBatchMix&&(this.uniforms.uBatchMix.value=e[0]),this.triggerRepaint()}}),(t?.duration??0)>0||t?.spring?(this.uniforms.uBatchMix&&(this.uniforms.uBatchMix.value=0),this.animator.to(i,1,{...t,onComplete:()=>{this.uniforms.uBatchMix&&(this.uniforms.uBatchMix.value=0),this._featureStyleManager.commitCrossFade(n,r),this.triggerRepaint(),t?.onComplete?.()}})):(this.animator.has(i)&&this.animator.cancel(i),this.uniforms.uBatchMix&&(this.uniforms.uBatchMix.value=0),this._featureStyleManager.commitCrossFade(n,r),this.triggerRepaint(),t?.onComplete?.())}followPath(e,t,n={}){let r=t instanceof Fy?t:new Fy(t,{closed:n.closed});if(r.length<=0)return;let i=n.offset??[0,0,0],a=n.duration??(n.speed&&n.speed>0?r.length/n.speed*1e3:2e3),o=`feature.${e}.path`;this._pathSpecs.set(o,{path:r,offset:i}),this.animator.has(o)||this.animator.register(o,{dim:1,read:e=>{e[0]=0},write:t=>{let n=this._pathSpecs.get(o);if(!n)return;n.path.sampleAt(t[0],this._pathScratch);let r=this._meshesOf([e]),i=this._featureStyleManager.getFeatureStyle(e)??{};this._featureStyleManager.setFeatureStyle(e,{...i,translation:[n.offset[0]+this._pathScratch[0],n.offset[1]+this._pathScratch[1],n.offset[2]+this._pathScratch[2]]},r);for(let e of r)e.frustumCulled=!1}});let s=()=>{this.animator.to(o,1,{duration:a,easing:n.easing??`linear`,onComplete:()=>{n.loop?s():n.onComplete?.()}})};s()}stopPath(e){let t=`feature.${e}.path`;this.animator.cancel(t),this.animator.unregister(t),this._pathSpecs.delete(t)}_gpuPathPoseAt(e){let t=this._featureStyleManager.getFeatureStyle(e)?.gpuPath;if(!t)return null;let n=this.gpuPathManager.getPath(t.pathId);if(!n||n.length<=0)return null;let r=this.uniforms.uPathTime?.value??0,i=(t.phase??0)+r*(t.speed??0),a=t.loop;a===`clamp`||a===!1?i=Math.min(1,Math.max(0,i)):a===`pingpong`?(i%=2,i<0&&(i+=2),i=i>1?2-i:i):i-=Math.floor(i),n.sampleAt(i,this._pathScratch);let o=[this._pathScratch[0],this._pathScratch[1],this._pathScratch[2]],s=0;if(t.autoHeading!==!1){let e=.001;n.sampleAt(Math.min(1,i+e),this._pathScratch2);let t=this._pathScratch2[0]-o[0],r=this._pathScratch2[1]-o[1];t*t+r*r<1e-8&&(n.sampleAt(Math.max(0,i-e),this._pathScratch2),t=o[0]-this._pathScratch2[0],r=o[1]-this._pathScratch2[1]),t*t+r*r>=1e-8&&(s=Math.atan2(r,t))}return{pos:o,yaw:s}}registerGPUPath(e,t={}){let n=this.gpuPathManager.registerPath(e,t);return this.gpuPathManager.updateUniforms(this.uniforms),n}unregisterGPUPath(e){let t=this.gpuPathManager.unregisterPath(e);return this.gpuPathManager.updateUniforms(this.uniforms),t}getGPUPathManager(){return this.gpuPathManager}bindGPUPath(e,t,n={}){let r;r=typeof t==`number`?t:this.registerGPUPath(t);let i=this._meshesOf([e]);this._featureStyleManager.bindGPUPath(e,r,n,i);for(let e of i)e.frustumCulled=!1;return this.gpuPathManager.updateUniforms(this.uniforms),r}unbindGPUPath(e){let t=this._meshesOf([e]);this._featureStyleManager.unbindGPUPath(e,t),this.gpuPathManager.updateUniforms(this.uniforms)}setGPUPathProgress(e,t){let n=this._meshesOf([e]);this._featureStyleManager.setGPUPathProgress(e,t,n);for(let e of n)e.frustumCulled=!1}setGPUPathTime(e,t=!1){this.uniforms.uPathTime&&(this.uniforms.uPathTime.value=e),this._customPathTime=!t}getGPUPathTime(){return this.uniforms.uPathTime?.value??0}animateFeature(e,t,n){if(t.translation&&this.moveFeature(e,t.translation,n),t.rotation!=null&&this.rotateFeature(e,t.rotation,t.pivot,n),t.elevation!=null&&this.animator.to(this._ensureFeatureChannel(e,`elevation`),t.elevation,n),t.opacity!=null&&this.animator.to(this._ensureFeatureChannel(e,`opacity`),t.opacity,n),t.color&&(this._colorScratch.set(t.color),this.animator.to(this._ensureFeatureChannel(e,`color`),[this._colorScratch.r,this._colorScratch.g,this._colorScratch.b],n)),t.hidden!=null){let n=this._featureStyleManager.getFeatureStyle(e)??{};this.setFeatureStyle(e,{...n,hidden:t.hidden})}}animateFeatures(e,t,n){let r=n?.stagger??0;if(r<=0){for(let r of e)this.animateFeature(r,t,n);return}let i=n?.delay??0;for(let a=0;a<e.length;a++)this.animateFeature(e[a],t,{...n,delay:i+a*r})}setMode(e,t={}){let n=Math.max(0,t.duration??300),r=Math.min(1,Math.max(.05,t.dim??.35));if(this.style.mode===e)return Promise.resolve();if(n<=0)return this.setStyle({mode:e}),Promise.resolve();let i=++this._modeGen;return new Promise(t=>{this.animator.to(`style.fade`,r,{duration:n,easing:`easeInOutQuad`,onComplete:()=>{i===this._modeGen?(this.setStyle({mode:e}),this.animator.to(`style.fade`,1,{duration:n,easing:`easeInOutQuad`,onComplete:t})):t()}})})}_ensureFeatureChannel(e,t){let n=`feature.${e}.${t}`;if(this.animator.has(n))return n;let r=t===`translation`||t===`color`||t===`rotation`?{dim:3,read:n=>{if(t===`translation`){let t=this._featureStyleManager.getFeatureStyle(e)?.translation;n[0]=t?.[0]??0,n[1]=t?.[1]??0,n[2]=t?.[2]??0}else if(t===`rotation`){let t=this._featureStyleManager.getFeatureStyle(e)?.rotation,r=iS(t);n[0]=r[0],n[1]=r[1],n[2]=r[2]}else{let t=this._featureStyleManager.getFeatureStyle(e)?.color??this.style.colorA;this._colorScratch.set(t),n[0]=this._colorScratch.r,n[1]=this._colorScratch.g,n[2]=this._colorScratch.b}},write:n=>{let r=this._meshesOf([e]),i=this._featureStyleManager.getFeatureStyle(e)??{};if(t===`translation`){this._featureStyleManager.setFeatureStyle(e,{...i,translation:[n[0],n[1],n[2]]},r);let t=Math.abs(n[0])>1e-6||Math.abs(n[1])>1e-6||Math.abs(n[2])>1e-6,a=iS(i.rotation),o=Math.abs(a[0])>1e-6||Math.abs(a[1])>1e-6||Math.abs(a[2])>1e-6;for(let e of r)e.frustumCulled=!(t||o)}else if(t===`rotation`){this._featureStyleManager.setFeatureStyle(e,{...i,rotation:[n[0],n[1],n[2]]},r);let t=Math.abs(n[0])>1e-6||Math.abs(n[1])>1e-6||Math.abs(n[2])>1e-6,a=i.translation??[0,0,0],o=Math.abs(a[0])>1e-6||Math.abs(a[1])>1e-6||Math.abs(a[2])>1e-6;for(let e of r)e.frustumCulled=!(t||o)}else{let t=this._colorScratch.setRGB(n[0],n[1],n[2]);this._featureStyleManager.setFeatureStyle(e,{...i,color:`#${t.getHexString()}`},r)}}}:{dim:1,read:n=>{let r=this._featureStyleManager.getFeatureStyle(e);n[0]=(t===`elevation`?r?.elevation:r?.opacity)??+(t===`opacity`)},write:n=>{let r=this._featureStyleManager.getFeatureStyle(e)??{},i=t===`elevation`?{...r,elevation:n[0]}:{...r,opacity:n[0]};this._featureStyleManager.setFeatureStyle(e,i,this._meshesOf([e]))}};return this.animator.register(n,r),n}_releaseFeatureChannels(e){for(let t of vS)this.animator.unregister(`feature.${e}.${t}`);let t=`feature.${e}.path`;this.animator.unregister(t),this._pathSpecs.delete(t)}getFeatureStyle(e){return this._featureStyleManager.getFeatureStyle(e)}getFeatureStyles(){return this._featureStyleManager.getFeatureStyles()}removeFeatureStyle(e){this._releaseFeatureChannels(e),this._featureStyleManager.removeFeatureStyle(e,this._meshesOf([e]))}clearFeatureStyles(){for(let e of this._featureStyleManager.getFeatureStyles().keys())this._releaseFeatureChannels(e);this._featureStyleManager.clearFeatureStyles()}setAttributeSource(e){this.attributeQuery=e?new u_(e):null}getLoadedSmids(){return[...this._smidMeshes.keys()]}auditBatches(){let e=this._featureStyleManager.auditBatches(this._pickables.values());return e.smids=this._smidMeshes.size,e}getThematicField(){return this._featureStyleManager.thematicField}setThematicColors(e,t=`custom`){this._featureStyleManager.setThematicColors(e,t)}clearThematic(){this._featureStyleManager.clearThematicColors()}getFilterField(){return this._featureStyleManager.fieldFilter?.field??null}filterByField(e){return this._featureStyleManager.filterByField(e,this.attributeQuery,this.getLoadedSmids())}clearFieldFilter(){this._featureStyleManager.clearFieldFilter()}getElevationField(){return this._featureStyleManager.elevationField}elevateByField(e){return this._featureStyleManager.elevateByField(e,this.attributeQuery,this.getLoadedSmids())}setThematicElevation(e,t=`custom`){this._featureStyleManager.setThematicElevation(e,t)}clearThematicElevation(){this._featureStyleManager.clearThematicElevation()}colorByField(e){return this._featureStyleManager.colorByField(e,this.attributeQuery,this.getLoadedSmids())}setFilter(e){this._featureStyleManager.setFilter(e,this.uniforms)}getFilter(){return this._featureStyleManager.filter}clearFilter(){this._featureStyleManager.clearFilter(this.uniforms)}setGroundMode(e){this.groundManager.setMode(e),this._requestRepaint()}setGroundOpacity(e){this.groundManager.setOpacity(e),this._requestRepaint()}setExcavationBounds(e){this.groundManager.setExcavationBounds(e),this._requestRepaint()}setGroundOcclude(e){this.groundManager.setOcclude(e),this._requestRepaint()}_isFeatureHidden(e,t){if(e==null)return!1;let n=this._featureStyleManager.fieldFilter;if(n){let t=n.matched.has(e);if(n.mode===`keep`?!t:t)return!0}let r=this._featureStyleManager.filter;return!!(r&&(r.include&&r.include.length>0&&!r.include.includes(e)||r.exclude&&r.exclude.length>0&&r.exclude.includes(e))||this._featureStyleManager.featureStyles.get(e)?.hidden)}getAllMeshes(){let e=[];for(let t of this._pickables.values())e.push(t.mesh);return e}_meshesOf(e){let t=new Set;for(let n of e){let e=this._smidMeshes.get(n);if(e)for(let n of e)t.add(n)}return t}_markOverridesDirty(e=`all`){e===`all`?this._featureStyleManager.markOverridesDirty(void 0,this.getAllMeshes()):this._featureStyleManager.markOverridesDirty(e)}flushOverrides(){this._featureStyleManager.flushOverrides()}_applyOverridesToMesh(e){this._featureStyleManager.applyOverridesToMesh(e)}removeDataset(e){if(this.datasets.get(e)){this._selection?.datasetId===e&&this.select(null),this._datasetManager.removeDataset(e,this.scene,this.geo,e=>{e.root.traverse(e=>{let t=e,n=t.userData;n.pickId!=null&&(this._pickables.delete(n.pickId),this._releasePickId(n.pickId),n.pickId=void 0),this._unindexMeshSmids(t),this._removeMeshHeight(t),t.geometry?.dispose?.();let r=fS(t);r&&r.dispose(),ix(t.material)&&t.material.dispose(),this._featureStyleManager.disposeMesh(t)})});for(let[t,n]of this._pickables)n.datasetId===e&&this._pickables.delete(t);this.onStats(this.stats),this._requestRepaint()}}clearDatasets(){for(let e of[...this.datasets.keys()])this.removeDataset(e)}setDatasetVisible(e,t){this._datasetManager.setDatasetVisible(e,t),!t&&this._selection?.datasetId===e&&this.select(null),this._requestRepaint()}_registerTile(e,t){t.root.add(e.group),e.group.updateMatrixWorld(!0);let n=e.group.userData.hasNativeEdges===!0;for(let r of e.group.children){if(r.isLineSegments&&r.userData.isEdgeLines){r.visible=this._edgesEnabled,this._nativeEdgeLines.add(r),this._styleEdgeLine(r);continue}let i=pS(r),a=r;if(!a.isMesh&&!i)continue;i&&this._pointClouds.add(r);let o=a.userData;if(o.pickId=this._allocPickId(),o.datasetId=t.id,o.nativeEdges=n,this._pickables.set(o.pickId,{datasetId:t.id,mesh:a,tile:e.tile,skeletonName:o.skeletonName??``}),this._indexMeshSmids(a),this._addMeshHeight(a),!n&&!i&&this._datasetEdgesEnabled(t)&&!this._shouldSkipAutoEdges(o,t.name)&&this._ensureEdges(a),i)this._applyPointCloudStyle(r);else{let e=fS(a);if(e){e.transparent=mS(this.style.opacity)<.999;let t=this.style.depthWrite!==!1;e.depthWrite=e.transparent?t:this.style.depthWrite!==!1,e.flatShading=this.style.shading!==`smooth`,e.needsUpdate=!0,this._featureStyleManager.applyOverridesToMesh(a),this._startTileFade(a,e)}}this._replaySelectionOnto(a)}}_startTileFade(e,t){let n=this.style.fadeIn??0;if(n<=0)return;let r=t.userData.uTileFade;if(!r)return;r.value=0,t.transparent=!0,t.depthWrite=!0;let i=`tile.${this._tileFadeSeq++}.fade`;e.userData.tileFadeKey=i,this.animator.register(i,{dim:1,read:e=>{e[0]=r.value},write:e=>{r.value=e[0]}}),this.animator.to(i,1,{duration:n,easing:`easeOutQuad`,onComplete:()=>{r.value=1,e.userData.tileFadeKey=void 0,this.animator.unregister(i),this._featureStyleManager.applyOverridesToMesh(e),t.depthWrite=this.style.depthWrite!==!1,this._requestRepaint()}})}_isMeshCoveringSelection(e,t){if(!t.point)return!1;let n=e.geometry;if(!n||(n.boundingBox||n.computeBoundingBox(),!n.boundingBox))return!1;let r=new H(t.point[0],t.point[1],t.point[2]);e.updateWorldMatrix(!0,!1);let i=e.matrixWorld.clone().invert(),a=r.applyMatrix4(i);return n.boundingBox.clone().expandByScalar(.5).containsPoint(a)}_replaySelectionOnto(e){let t=this._selection;if(!t)return;let n=fS(e);if(!n)return;let r=e.userData,i=-1;if(t.smid!=null){let e=r.geoRef?.pickInfo,n=e?.[t.smid]??e?.[String(t.smid)];i=n?Qg(n):-1}if(e===t.mesh&&(i=t.batchId),i<0&&e!==t.mesh){if(t.smid==null&&r.datasetId===t.datasetId&&this._isMeshCoveringSelection(e,t))i=-1;else return}n.userData.uSelBatch.value=i,n.userData.uSelWhole.value=+(i<0),this._selectedMeshes.includes(e)||this._selectedMeshes.push(e),pS(e)&&this._applyPointCloudStyle(e,!0),this.uniforms.uSelMix.value=1,this.uniforms.uDim.value=+!!this.style.dimOthers}_unregisterTile(e,t){e.group.traverse(e=>{let t=e;if(e.isLineSegments&&t.userData?.isEdgeLines&&this._nativeEdgeLines.delete(e),pS(e)&&this._pointClouds.delete(e),t.userData?.tileFadeKey&&(this.animator.unregister(t.userData.tileFadeKey),t.userData.tileFadeKey=void 0),t.userData?.pickId!=null&&(this._pickables.delete(t.userData.pickId),this._releasePickId(t.userData.pickId),t.userData.pickId=void 0),t.isMesh){this._selectedMeshes.includes(t)&&(this._selectedMeshes=this._selectedMeshes.filter(e=>e!==t));let e=this._selection;if(e&&e.mesh===t){let n=e.smid,r=n==null?this._selectedMeshes.find(e=>e!==t&&e.parent&&e.parent.visible)??this._selectedMeshes.find(e=>e!==t&&e.parent):[...this._smidMeshes.get(n)??[]].find(e=>e!==t&&e.parent);r?(this._selection={...e,mesh:r},this._replaySelectionOnto(r)):this.select(null)}this._unindexMeshSmids(t),this._removeMeshHeight(t),this._featureStyleManager.disposeMesh(t),fS(t)?.dispose?.()}ix(t.material)?t.material.dispose():t.material&&(Array.isArray(t.material)?t.material.forEach(e=>e?.dispose?.()):t.material.dispose?.()),t.geometry?.dispose?.()}),t.root.remove(e.group)}_allocPickId(){let e=this._freePickIds.pop();if(e!==void 0)return e;if(this._pickSeq>dS){for(let e=0;e<=dS;e++)if(!this._pickables.has(e))return e;throw Error(`[s3m] 可拾取网格超过 65535 个,2 字节 ID 编码不够用`)}return this._pickSeq++}_releasePickId(e){this._freePickIds.push(e)}setOpacity(e,t){this.setStyle({opacity:e},t)}setStyle(e={},t){Object.assign(this._styleTarget,e);let n=t?.duration??0,r=n>0||!!t?.spring,i=e;if(`edges`in e){let{edges:n,...a}=e;if(i=a,this.setEdges(!!n,r?t:void 0),Object.keys(i).length===0){this._requestRepaint();return}}let a=[],o={};for(let e of Object.keys(i))r&&this.animator.has(`style.${String(e)}`)?a.push(String(e)):o[e]=i[e];Object.keys(o).length>0&&(Object.assign(this.style,o),this._applyStyleEffects(o));for(let e of a)this.animator.to(`style.${e}`,this._animTargetOf(e,i),{...t,duration:n});this._requestRepaint()}getStyle(){return{...this._styleTarget,modeLabel:Wy[this._styleTarget.mode]}}_animTargetOf(e,t){let n=t[e];return this._animDimOf(e)===1?Number(n):(this._colorScratch.set(String(n)),[this._colorScratch.r,this._colorScratch.g,this._colorScratch.b])}_animDimOf(e){return _S.includes(e)?3:1}_registerAnimChannels(){for(let e of gS)this.animator.register(`style.${e}`,{dim:1,read:t=>{t[0]=Number(this.style[e]??0)},write:t=>{this.style[e]=t[0],this._onStyleChannelWrote(e)}});for(let e of _S)this.animator.register(`style.${e}`,{dim:3,read:t=>{let n=this._uniformColorOf(e);t[0]=n.r,t[1]=n.g,t[2]=n.b},write:t=>{let n=this._uniformColorOf(e);n.setRGB(t[0],t[1],t[2]),this.style[e]=`#${n.getHexString()}`,this._onStyleChannelWrote(e)}});this.animator.register(`style.edgeFade`,{dim:1,read:e=>{e[0]=this.uniforms.uEdgeFade?.value??1},write:e=>{this.uniforms.uEdgeFade&&(this.uniforms.uEdgeFade.value=e[0]),this._syncEdgeStyle()}}),this.animator.register(`style.fade`,{dim:1,read:e=>{e[0]=this.uniforms.uFade?.value??1},write:e=>{this.uniforms.uFade&&(this.uniforms.uFade.value=e[0]),this._requestRepaint()}})}_onStyleChannelWrote(e){e===`opacity`?this._applyOpacity():(this._applyStyleUniforms(),(e===`edgeColor`||e===`edgeWidth`||e===`edgeOpacity`)&&this._refreshEdgeLines())}_uniformColorOf(e){let t=this.uniforms;switch(e){case`colorA`:return t.uColorA.value;case`colorB`:return t.uColorB.value;case`colorC`:return t.uColorC.value;case`selectColor`:return t.uSelColor.value;case`edgeColor`:return this.edgeMaterial.uniforms.uColor.value;default:return t.uColorA.value}}_applyStyleEffects(e){this._applyStyleUniforms(),(`opacity`in e||`depthWrite`in e)&&this._applyOpacity(),`mode`in e&&this._applyPointCloudStyles(),`shading`in e&&this._applyShading(),`edgeThreshold`in e&&this._edgesEnabled?(this._disposeEdges(),this.setEdges(!0)):(`edgeColor`in e||`edgeWidth`in e||`opacity`in e||`edgeOpacity`in e)&&this._refreshEdgeLines(),this._selection&&(`outline`in e||`outlineStyle`in e?this.select(this._selection,{silent:!0}):this._syncSelectionStyle())}_applyStyleUniforms(){let e=this.uniforms,t=this.style;e.uMode.value=t.mode,e.uColorA.value.set(t.colorA),e.uColorB.value.set(t.colorB),e.uColorC.value.set(t.colorC),e.uSelColor.value.set(t.selectColor),e.uFloorHeight.value=t.floorHeight;let n=t.selectMode??Gy.OVERLAY;e.uSelMode&&(e.uSelMode.value=n===Gy.REPLACE?0:n===Gy.MULTIPLY?2:n===Gy.GLOW_ONLY?3:1),e.uSelOpacity&&t.selectOpacity!=null&&(e.uSelOpacity.value=t.selectOpacity),e.uSelEmissive&&t.selectEmissive!=null&&(e.uSelEmissive.value=t.selectEmissive),e.uSelElevation&&t.selectElevation!=null&&(e.uSelElevation.value=t.selectElevation),e.uDimFactor&&t.dimFactor!=null&&(e.uDimFactor.value=t.dimFactor),e.uRoofThreshold&&t.roofThreshold!=null&&(e.uRoofThreshold.value=t.roofThreshold),e.uTexMix&&t.texMix!=null&&(e.uTexMix.value=t.texMix),e.uAmbientGain&&t.ambientGain!=null&&(e.uAmbientGain.value=t.ambientGain),e.uOpacity&&t.opacity!=null&&(e.uOpacity.value=mS(t.opacity)),this.outlineMaterial&&(this.outlineMaterial.uniforms.uElevation&&t.selectElevation!=null&&(this.outlineMaterial.uniforms.uElevation.value=t.selectElevation),t.outlineWidth!=null&&(this.outlineMaterial.uniforms.uWidth.value=t.outlineWidth),t.outlineColor==null?this.outlineMaterial.uniforms.uColor.value.set(t.selectColor):this.outlineMaterial.uniforms.uColor.value.set(t.outlineColor))}_applyOpacity(){let e=mS(this.style.opacity);this.uniforms.uOpacity&&(this.uniforms.uOpacity.value=e);let t=e<.999;if(t!==this._opacityTransparent){this._opacityTransparent=t;let e=this.style.depthWrite!==!1;for(let n of this._pickables.values()){if(pS(n.mesh))continue;let r=fS(n.mesh);r&&(r.userData.uBatchTexActive?.value||(r.userData.uTileFade?.value??1)<1||(r.transparent=t,r.depthWrite=!t||e))}}for(let e of this._pointClouds)this._applyPointCloudStyle(e);this._syncEdgeStyle(),this._requestRepaint()}_applyPointCloudStyle(e,t=this._selectedMeshes.includes(e)){rx(e,this.style,this.uniforms,t)}_applyPointCloudStyles(){for(let e of this._pointClouds)this._applyPointCloudStyle(e);this._requestRepaint()}_applyShading(){let e=this.style.shading!==`smooth`;for(let t of this._pickables.values()){let n=fS(t.mesh);n&&n.flatShading!==e&&(n.flatShading=e,n.needsUpdate=!0)}this._requestRepaint()}async prewarmShading(){if(this._shadingPrewarmed||this._prewarming)return;let e=this.renderer,t=this.scene,n=this.camera;if(!e||!t||!n)return;let r=[],i=new Set;for(let e of this._pickables.values()){let t=fS(e.mesh);t&&!i.has(t)&&(i.add(t),r.push(t))}if(r.length===0)return;this._shadingPrewarmed=!0,this._prewarming=!0;let a=this.style.shading===`smooth`,o=r.map(e=>e.flatShading);for(let e of r)e.flatShading=a;try{let r=e;typeof r.compileAsync==`function`?await r.compileAsync(t,n):e.compile(t,n)}catch{}finally{for(let e=0;e<r.length;e++)r[e].flatShading=o[e],r[e].needsUpdate=!0;this._prewarming=!1,this._requestRepaint()}}_addMeshHeight(e){let t=e.geometry?.boundingBox;if(!t)return;this._boxScratch.copy(t).applyMatrix4(e.matrixWorld);let n=this._boxScratch.min.z,r=this._boxScratch.max.z;Number.isFinite(n)&&Number.isFinite(r)&&(this._meshHeight.set(e,{min:n,max:r}),n<this._heightMin&&(this._heightMin=n),r>this._heightMax&&(this._heightMax=r),this._pushHeightRange())}_removeMeshHeight(e){let t=this._meshHeight.get(e);t&&(this._meshHeight.delete(e),t.min===this._heightMin||t.max===this._heightMax?this._recomputeHeightRange():this._pushHeightRange())}_refreshAllHeights(){if(this._meshHeight.size===0)return;let e=[...this._meshHeight.keys()];this._meshHeight.clear(),this._heightMin=1/0,this._heightMax=-1/0;for(let t of e)this._addMeshHeight(t);this._pushHeightRange()}_recomputeHeightRange(){let e=1/0,t=-1/0;for(let n of this._meshHeight.values())n.min<e&&(e=n.min),n.max>t&&(t=n.max);this._heightMin=e,this._heightMax=t,this._pushHeightRange()}_pushHeightRange(){let e=this._heightMin,t=this._heightMax;(!Number.isFinite(e)||!Number.isFinite(t)||t<=e)&&(e=0,t=100),this.uniforms.uHeightMin.value=e,this.uniforms.uHeightMax.value=t}_indexMeshSmids(e){let t=e.userData.geoRef?.pickInfo;if(t)for(let n of Object.keys(t)){let t=Number(n);if(!Number.isFinite(t)||t<0)continue;let r=this._smidMeshes.get(t);r||this._smidMeshes.set(t,r=new Set),r.add(e)}}_unindexMeshSmids(e){let t=e.userData.geoRef?.pickInfo;if(t)for(let n of Object.keys(t)){let t=Number(n),r=this._smidMeshes.get(t);r&&(r.delete(e),r.size===0&&this._smidMeshes.delete(t))}}setEdges(e,t){let n=!!t&&((t.duration??0)>0||!!t.spring);this._edgesEnabled=e,this.style.edges=e,this._styleTarget.edges=e;for(let t of this.datasets.values())t.root.traverse(t=>{t.userData.isEdgeLines&&(t.visible=e,this._styleEdgeLine(t))});if(this._syncEdgeStyle(),!e){n?this.animator.to(`style.edgeFade`,0,{...t,onComplete:()=>{this._disposeEdges(),this._requestRepaint(),t?.onComplete?.()}}):(this._setEdgeFade(1),this._disposeEdges()),this._requestRepaint();return}let r=[...this._pickables.values()].map(e=>e.mesh).filter(e=>{let t=e.userData;return!t.edges&&!t.nativeEdges&&!pS(e)}),i=0,a=()=>{let e=performance.now();for(;i<r.length&&performance.now()-e<8;)this._ensureEdges(r[i++]);i<r.length?setTimeout(a,0):this._requestRepaint()};a(),n?(this._setEdgeFade(0),this.animator.to(`style.edgeFade`,1,t)):this._setEdgeFade(1)}_setEdgeFade(e){this.uniforms.uEdgeFade&&(this.uniforms.uEdgeFade.value=e),this._syncEdgeStyle()}_disposeEdges(){for(let e of this._pickables.values())this._removeEdges(e.mesh)}async loadCreases(e){let t=await fetch(e);if(!t.ok)throw Error(`[s3m] 棱线缓存加载失败: ${t.status} ${e}`);let n=await t.arrayBuffer(),r=new Float32Array(n);if(r.length<6)return;let i=new q;i.setAttribute(`position`,new G(r,3));let a=this.style,o=new Qu({color:new W(a.edgeColor),transparent:!0,opacity:Math.min(1,Math.max(0,a.edgeOpacity??.6))*mS(a.opacity),depthWrite:!1}),s=new ld(i,o);s.renderOrder=2,s.frustumCulled=!1,s.raycast=()=>{},this.clearCreases(),this._creaseLines=s,this.scene?.add(s),this._requestRepaint()}clearCreases(){this._creaseLines&&(this.scene?.remove(this._creaseLines),this._creaseLines.geometry.dispose(),this._creaseLines.material?.dispose?.(),this._creaseLines=null,this._requestRepaint())}_syncEdgeStyle(){let e=this.style,t=this.uniforms.uEdgeFade?.value??1,n=Math.min(1,Math.max(0,e.edgeOpacity??.6))*mS(e.opacity)*t,r=this.edgeMaterial.uniforms;if(r.uColor.value.set(e.edgeColor),r.uWidth.value=Math.max(.1,e.edgeWidth??1.5),r.uOpacity.value=n,this._creaseLines){let t=this._creaseLines.material;t.color.set(e.edgeColor),t.opacity=n}}_styleEdgeLine(e){let t=e.material;t&&t.color&&(t.color.set(this.style.edgeColor),t.opacity=(this.style.edgeOpacity??.6)*mS(this.style.opacity)*(this.uniforms.uEdgeFade?.value??1),t.transparent=!0,t.polygonOffset=!0,t.polygonOffsetFactor=-1,t.polygonOffsetUnits=-1,t.needsUpdate=!0)}_refreshEdgeLines(){this._syncEdgeStyle();for(let e of this._nativeEdgeLines)e.parent&&this._styleEdgeLine(e)}_datasetEdgesEnabled(e){let t=e.options?.enableEdges;return t===!0||t!==!1&&this._edgesEnabled}_shouldSkipAutoEdges(t,n){let r=`${t.skeletonName??``} ${n}`.toLowerCase();return e._EDGE_SKIP_KEYWORDS.some(e=>r.includes(e))}_ensureEdges(e){let t=e.userData;if(t.edges||t.nativeEdges||!e.geometry||this._shouldSkipAutoEdges(t,``))return;let n=e.geometry.getAttribute(`position`);if((e.geometry.index?.count??(n?n.count:0))>12e4)return;let r=tS(e.geometry,.005),i=this.style.edgeThreshold??55,a=new Qd(r,i);r.dispose();let o=a.getAttribute(`position`),s=o?o.array:null;if(a.dispose(),!s||s.length<6)return;let c=.005,l=Yx(e.geometry,c),u;if(l){let e=s.length/6;u=new Float32Array(e);for(let t=0;t<e;t++){let e=t*6;u[t]=l.get(Xx(s[e],s[e+1],s[e+2],1/c))??-1}}let d=new dc(Jx(s,u),this._createEdgeMaterial(e));d.renderOrder=2,d.frustumCulled=!1,d.raycast=()=>{},d.userData.isThickEdge=!0,t.edges=d,e.add(d)}_createEdgeMaterial(e){let t=fS(e),n=t?.userData?.uBatchTex?{uBatchTex:t.userData.uBatchTex,uBatchTex2:t.userData.uBatchTex2,uBatchMix:this.uniforms.uBatchMix,uBatchTexWidth:t.userData.uBatchTexWidth,uBatchTexActive:t.userData.uBatchTexActive,uPathTex:this.uniforms.uPathTex,uPathCount:this.uniforms.uPathCount,uPathTexActive:this.uniforms.uPathTexActive,uPathTime:this.uniforms.uPathTime}:void 0;return qx(this.lineShared,{},this._edgeStyleUniforms,n)}_createSelectionEdgeMaterial(e){let t=fS(e),n=t?.userData?.uBatchTex?{uBatchTex:t.userData.uBatchTex,uBatchTex2:t.userData.uBatchTex2,uBatchMix:this.uniforms.uBatchMix,uBatchTexWidth:t.userData.uBatchTexWidth,uBatchTexActive:t.userData.uBatchTexActive,uPathTex:this.uniforms.uPathTex,uPathCount:this.uniforms.uPathCount,uPathTexActive:this.uniforms.uPathTexActive,uPathTime:this.uniforms.uPathTime}:void 0;return qx(this.lineShared,{},this._selEdgeStyleUniforms,n)}_removeEdges(e){let t=e.userData,n=t.edges;if(!n)return;e.remove(n),n.geometry?.dispose();let r=n.material;Array.isArray(r)?r.forEach(e=>e?.dispose?.()):r?.dispose?.(),t.edges=null}getRayAt(e,t){if(!this.camera||!this.canvas)return null;let n=this.canvas,r=n.clientWidth||n.width,i=n.clientHeight||n.height;if(!r||!i)return null;let a=e/r*2-1,o=-(t/i)*2+1,s=new H(a,o,-1).unproject(this.camera),c=new H(a,o,1).unproject(this.camera).clone().sub(s).normalize();return new Bo(s,c)}_intersectMeshAtRay(e,t,n){let r=new gm;r.ray.copy(t);let i=r.intersectObject(e,!1);if(!i.length)return null;if(n!=null){let e=i.find(e=>e.instanceId===n);return e?e.point:i[0].point}return i[0].point}_buildPickResult(e,t,n,r){let i=t.mesh.userData,a=null,o=e.batchId,s=e.instanceIndex,c=i.geoRef,l=[];if(s!=null){let e=this._instanceFeature(t.mesh,c,s);if(!e)return null;a=e.smid,o=e.batchId}else{c=i.geoByBatchId?.get(e.batchId)??i.geoRef;let t=e_(c,e.batchId);a=t.smid,l=t.segments}if(this._isFeatureHidden(a,o))return null;let u=null,d=0;if(s!=null)u=this._instanceBox(t.mesh,s),d=t.mesh.geometry.index?Math.round(t.mesh.geometry.index.count/3):0;else if(a!=null&&this._smidMeshes.has(a)){let e=this._smidMeshes.get(a),t=1/0,n=1/0,r=1/0,i=-1/0,o=-1/0,s=-1/0,c=0;for(let l of e){let e=l.userData,u=e.geoRef?.pickInfo,f=u?.[a]??u?.[String(a)],p=f?Qg(f):-1,m=f?.segments??(p>=0?e_(e.geoRef,p).segments:[]),h=t_(l.geometry,m);h&&(h.minX<t&&(t=h.minX),h.minY<n&&(n=h.minY),h.minZ<r&&(r=h.minZ),h.maxX>i&&(i=h.maxX),h.maxY>o&&(o=h.maxY),h.maxZ>s&&(s=h.maxZ),c+=h.count,d+=h.triangles)}c>0&&(u={minX:t,minY:n,minZ:r,maxX:i,maxY:o,maxZ:s,count:c,triangles:d})}if(!u&&(u=t_(t.mesh.geometry,l),!u&&t.mesh.geometry)){t.mesh.geometry.boundingBox||t.mesh.geometry.computeBoundingBox();let e=t.mesh.geometry.boundingBox;e&&(u={minX:e.min.x,maxX:e.max.x,minY:e.min.y,maxY:e.max.y,minZ:e.min.z,maxZ:e.max.z,count:0,triangles:0})}let f=t.mesh.geometry,p=d>0?d:f.index?Math.round(f.index.count/3):0,m=n_({smid:a,box:u,triangles:p,floorHeight:this.style.floorHeight}),h=null;if(u&&this.sceneAnchor){let e=new H((u.minX+u.maxX)/2,(u.minY+u.maxY)/2,(u.minZ+u.maxZ)/2);e.applyMatrix4(t.mesh.matrixWorld);let n=this.sceneAnchor.meterInMercator;h=this._lngLatFromWorld(e.x*n+this.sceneAnchor.x,-e.y*n+this.sceneAnchor.y)}let g=n??null;!g&&r&&(g=this._intersectMeshAtRay(t.mesh,r,s));let _=null,v=null,y=null;if(g&&this.sceneAnchor){let e=a==null?{}:this._featureStyleManager.getFeatureEffectiveOffset(a),t=e.translation,n=e.elevation,r=g.clone();if(e.rotation){let t=rS(e.rotation);if(t){let n=new V().set(t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),i=e.pivot?new H(e.pivot[0],e.pivot[1],e.pivot[2]):new H(0,0,0);r.sub(i).applyMatrix3(n).add(i)}}t?r.add(new H(t[0],t[1],t[2])):n&&(r.z+=n),_=[r.x,r.y,r.z];let i=this.sceneAnchor.meterInMercator;v=this._lngLatFromWorld(r.x*i+this.sceneAnchor.x,-r.y*i+this.sceneAnchor.y),y=r.z+(this.sceneAnchor.altitude??0)}else h&&u&&this.sceneAnchor&&(v=h,y=(u.minZ+u.maxZ)/2+(this.sceneAnchor.altitude??0));return{datasetId:t.datasetId,datasetName:this.datasets.get(t.datasetId)?.name??t.datasetId,objectId:e.objectId,batchId:o,instanceIndex:s,skeletonName:t.skeletonName,centerLngLat:h,point:_,lngLat:v,altitude:y,...m,mesh:t.mesh}}pick(e,t){if(!this.picker||!this.scene||!this.camera||!this.sceneAnchor)return null;let n=this.picker.pick(this.scene,this.camera,e,t);if(!n)return null;let r=this._pickables.get(n.objectId);if(!r)return null;let i=this.getRayAt(e,t);return this._buildPickResult(n,r,void 0,i??void 0)}pickPosition(e,t){if(!this.camera||!this.sceneAnchor)return null;let n=this.pick(e,t);if(n?.point&&n?.lngLat&&n.altitude!=null)return{lngLat:n.lngLat,altitude:n.altitude,point:n.point};let r=this.getRayAt(e,t);if(!r)return null;let i=new Ac(new H(0,0,1),0),a=new H,o=r.intersectPlane(i,a);if(o){let e=this.sceneAnchor.meterInMercator;return{lngLat:this._lngLatFromWorld(o.x*e+this.sceneAnchor.x,-o.y*e+this.sceneAnchor.y),altitude:o.z+(this.sceneAnchor.altitude??0),point:[o.x,o.y,o.z]}}return null}drillPick(e,t,n=10){if(!this.sceneAnchor||!this.camera)return[];let r=this.getRayAt(e,t);if(!r)return[];let i=new gm;i.ray.copy(r);let a=[...this._pickables.values()].map(e=>e.mesh).filter(e=>{let t=e;for(;t;){if(!t.visible)return!1;t=t.parent}return!0}),o=i.intersectObjects(a,!1);if(!o.length)return[];let s=[],c=new Set,l=new Set;for(let e of o){if(s.length>=n)break;let t=e.object,r=t.userData;if(r.pickId==null)continue;let i=this._pickables.get(r.pickId);if(!i)continue;let a=null,o=-1,u=e.instanceId;if(u!=null){let e=this._instanceFeature(t,r.geoRef,u);if(!e)continue;a=e.smid,o=e.batchId}else if(e.faceIndex!=null){let n=t.geometry.attributes.aBatchId;if(n){let i=t.geometry.index?t.geometry.index.getX(e.faceIndex*3):e.faceIndex*3;o=Math.round(n.getX(i)),a=e_(r.geoByBatchId?.get(o)??r.geoRef,o).smid}}if(a!=null){if(c.has(a))continue;c.add(a)}else{let e=`${r.pickId}:${o}:${u??-1}`;if(l.has(e))continue;l.add(e)}if(this._isFeatureHidden(a,o))continue;let d={objectId:r.pickId,batchId:o,instanceIndex:u},f=this._buildPickResult(d,i,e.point);f&&s.push(f)}return s}getFeatureBounds(e){if(!this.sceneAnchor)return null;let t=1/0,n=-1/0,r=1/0,i=-1/0,a=!1;for(let o of this._pickables.values()){let s=o.mesh,c=s.userData,l=c.geoRef,u=l?.pickInfo;if(!u)continue;let d=null;if(s.isInstancedMesh){let t=c.instanceLookup;t||(t=$g(u),c.instanceLookup=t);for(let[n,r]of t)if(r.smid===e){d=this._instanceBox(s,n);break}}else{let t=u,n=t[e]??t[String(e)];if(n){let e=e_(l,Qg(n));if(d=t_(s.geometry,e.segments),!d&&s.geometry){s.geometry.boundingBox||s.geometry.computeBoundingBox();let e=s.geometry.boundingBox;e&&(d={minX:e.min.x,maxX:e.max.x,minY:e.min.y,maxY:e.max.y,minZ:e.min.z,maxZ:e.max.z,count:0,triangles:0})}}}if(d){a=!0;let o=[new H(d.minX,d.minY,d.minZ),new H(d.maxX,d.minY,d.minZ),new H(d.minX,d.maxY,d.minZ),new H(d.maxX,d.maxY,d.minZ),new H(d.minX,d.minY,d.maxZ),new H(d.maxX,d.minY,d.maxZ),new H(d.minX,d.maxY,d.maxZ),new H(d.maxX,d.maxY,d.maxZ)],c=e==null?{}:this._featureStyleManager.getFeatureEffectiveOffset(e),l=c.translation,u=c.elevation,f=c.rotation?rS(c.rotation):null,p=null,m=null;f&&(p=new V().set(f[0],f[1],f[2],f[3],f[4],f[5],f[6],f[7],f[8]),m=c.pivot?new H(c.pivot[0],c.pivot[1],c.pivot[2]):new H(0,0,0));let h=e==null?null:this._gpuPathPoseAt(e),g=null;if(h&&h.yaw!==0){let e=Math.cos(h.yaw),t=Math.sin(h.yaw);g=new V().set(e,-t,0,t,e,0,0,0,1)}for(let e of o){if(p&&m&&e.sub(m).applyMatrix3(p).add(m),g){let t=m??new H(0,0,0);e.sub(t).applyMatrix3(g).add(t)}l?e.add(new H(l[0],l[1],l[2])):u&&(e.z+=u),h&&e.add(new H(h.pos[0],h.pos[1],h.pos[2])),e.applyMatrix4(s.matrixWorld);let a=this.sceneAnchor.meterInMercator,[o,c]=this._lngLatFromWorld(e.x*a+this.sceneAnchor.x,-e.y*a+this.sceneAnchor.y);o<t&&(t=o),o>n&&(n=o),c<r&&(r=c),c>i&&(i=c)}}}return a?[[t,r],[n,i]]:null}_instanceFeature(e,t,n){let r=e.userData;return r.instanceLookup||(r.instanceLookup=$g(t?.pickInfo)),r.instanceLookup.get(n)??null}_instanceBox(e,t){let n=e;if(!n.isInstancedMesh)return null;let r=e.geometry;r.boundingBox||r.computeBoundingBox();let i=r.boundingBox;if(!i)return null;let a=new U;n.getMatrixAt(t,a);let o=i.clone().applyMatrix4(a);return{minX:o.min.x,minY:o.min.y,minZ:o.min.z,maxX:o.max.x,maxY:o.max.y,maxZ:o.max.z,count:r.getAttribute(`position`)?.count??0,triangles:r.index?Math.round(r.index.count/3):0}}select(e,{silent:t=!1}={}){if(this._selection){for(let e of this._selectedMeshes){if(pS(e)){this._applyPointCloudStyle(e,!1);continue}let t=fS(e);t&&(t.userData.uSelBatch.value=-1,t.userData.uSelWhole.value=0)}this._selectedMeshes=[],this._clearSelectionDecoration(),this._selection=null}if(!e){this.uniforms.uSelMix.value=0,this.uniforms.uDim.value=0,this.outlineMaterial.uniforms.uSelBatch.value=-1,this.outlineMaterial.uniforms.uSelWhole.value=0,this.outlineMaterial.uniforms.uElevation.value=0,this._requestRepaint(),t||this.onPick(null);return}this._selection=e;let n=new Set;if(e.smid!=null){let t=this._smidMeshes.get(e.smid);if(t)for(let e of t)n.add(e)}n.add(e.mesh);for(let t of n){let n=fS(t);if(!n)continue;let r=e.batchId;if(e.instanceIndex!=null&&t===e.mesh)r=e.batchId;else if(e.smid!=null){let n=t.userData.geoRef?.pickInfo,i=n?.[e.smid]??n?.[String(e.smid)],a=i?Qg(i):-1;r=a>=0?a:t===e.mesh?e.batchId:-1}n.userData.uSelBatch.value=r,n.userData.uSelWhole.value=+(r<0),this._selectedMeshes.push(t)}for(let e of this._selectedMeshes)pS(e)&&this._applyPointCloudStyle(e,!0);if(this.uniforms.uSelMix.value=1,this.uniforms.uDim.value=+!!this.style.dimOthers,this.style.outline){let t=[...n].filter(e=>!pS(e));t.length&&((this.style.outlineStyle??`edges`)===`edges`?this._addSelectionEdges(e,t):this._addSelectionHull(e,t))}this._requestRepaint()}_addSelectionEdges(e,t){this._syncSelectionStyle();for(let n of t){let t=n.userData,r=t.geoRef,i=[],a=-1;if(n===e.mesh&&e.instanceIndex!=null){i=[{vertexOffset:0,vertexCount:n.geometry.getAttribute(`position`)?.count??0}];let t=r?.pickInfo,o=t?.[e.smid??``]??t?.[String(e.smid)];a=o?Qg(o):-1}else if(e.smid!=null){let t=r?.pickInfo,n=t?.[e.smid]??t?.[String(e.smid)],o=n?Qg(n):-1;a=o,i=n?.segments??(o>=0?e_(r,o).segments:[])}else n===e.mesh&&(i=e_(t.geoByBatchId?.get(e.batchId)??r,e.batchId).segments,a=e.batchId);let o=$x(n.geometry,i);if(o&&o.length>0){let t=a>=0?new Float32Array(o.length/6).fill(a):void 0,r=new dc(Jx(o,t),this._createSelectionEdgeMaterial(n));r.renderOrder=4,r.frustumCulled=!1,r.raycast=()=>{},r.userData.isSelectionEdge=!0,n===e.mesh&&e.instanceIndex!=null&&this._applyInstanceTransform(r,e),n.add(r),this._selectionEdgeMeshes.push(r)}}this._selectionEdgeMeshes.length===0?this._addSelectionHull(e,t):this._selectionEdges=this._selectionEdgeMeshes[0]??null}_applyInstanceTransform(e,t){let n=t.mesh;if(t.instanceIndex==null||!n.isInstancedMesh)return;let r=new U;n.getMatrixAt(t.instanceIndex,r),r.decompose(e.position,e.quaternion,e.scale)}_addSelectionHull(e,t){let n=e.instanceIndex!=null;this.outlineMaterial.uniforms.uSelBatch.value=n?-1:e.batchId,this.outlineMaterial.uniforms.uSelWhole.value=n||e.batchId<0?1:0,this.outlineMaterial.uniforms.uElevation.value=n?this._selectionElevation(e):this.style.selectElevation??0;for(let n of t){let t=fS(n);t?.userData?.uBatchTex&&(this.outlineMaterial.uniforms.uBatchTex.value=t.userData.uBatchTex.value,this.outlineMaterial.uniforms.uBatchTexWidth.value=t.userData.uBatchTexWidth.value,this.outlineMaterial.uniforms.uBatchTexActive.value=t.userData.uBatchTexActive.value);let r=new dc(n.geometry,this.outlineMaterial);r.renderOrder=3,r.frustumCulled=!1,r.raycast=()=>{},n===e.mesh&&e.instanceIndex!=null&&this._applyInstanceTransform(r,e),n.add(r),this._outlineMeshes.push(r)}this._outlineMesh=this._outlineMeshes[0]??null}_syncSelectionStyle(){let e=this.style,t=this.selectionEdgeMaterial.uniforms;t.uColor.value.set(e.outlineColor??e.selectColor),t.uWidth.value=Math.max(.1,e.outlineWidthPx??3),t.uOpacity.value=mS(e.opacity),t.uElevation&&(t.uElevation.value=e.selectElevation??0);for(let e of this._outlineMeshes){let t=e.parent,n=t?fS(t)?.userData:null;n?.uBatchTex&&(this.outlineMaterial.uniforms.uBatchTex.value=n.uBatchTex.value,this.outlineMaterial.uniforms.uBatchTexWidth.value=n.uBatchTexWidth.value,this.outlineMaterial.uniforms.uBatchTexActive.value=n.uBatchTexActive.value)}}_selectionElevation(e){let t=this.style.selectElevation??0;if(e.smid!=null){let n=this._featureStyleManager.getFeatureEffectiveOffset(e.smid);n.elevation&&(t+=n.elevation)}return t}_clearSelectionDecoration(){for(let e of this._outlineMeshes)e.parent?.remove(e);this._outlineMeshes=[],this._outlineMesh=null;for(let e of this._selectionEdgeMeshes)e.parent?.remove(e),e.geometry.dispose();this._selectionEdgeMeshes=[],this._selectionEdges=null}_updateLineResolution(e){let t=e.width||1,n=e.height||1,r=e.clientWidth||t;this.lineShared.uResolution.value.set(t,n),this.lineShared.uDpr.value=Math.max(1,t/r)}get lodRangeScale(){return this._lodRangeScale}get lodPixelRatioCap(){return this._lodPixelRatioCap}setLodPixelRatioCap(e){let t=e>0?e:1/0;this._lodPixelRatioCap=t,this.options.lodPixelRatioCap=t,this._requestRepaint()}_lodScreenHeight(e){let t=this._lodPixelRatioCap;if(!Number.isFinite(t))return e;let n=this.canvas?.clientHeight??0;return n<=0?e:Math.min(e,n*t)}get maxTriangles(){return this.options.maxTriangles??1/0}setMaxTriangles(e,t){let n=e>0?e:1/0;if(t){let e=this.datasets.get(t);e?.tileset&&e.tileset.setMaxTriangles(n)}else{this.options.maxTriangles=n;for(let e of this.datasets.values())e.tileset&&e.tileset.setMaxTriangles(n)}}get anisotropyCap(){return this.options.anisotropyCap??1/0}setAnisotropyCap(e){let t=Number.isFinite(e)&&e>0?Math.max(1,e):1/0;this.options.anisotropyCap=t,xy(this.renderer?.capabilities.getMaxAnisotropy?.()??1,t),this._requestRepaint()}get maxTextureSize(){return this.options.maxTextureSize??1/0}setMaxTextureSize(e){let t=Number.isFinite(e)&&e>=1?e:1/0;this.options.maxTextureSize=t,Sy(t),this._requestRepaint()}setLodRangeScale(e,t){if(!(e<=0)){if(t){let n=this.datasets.get(t);n?.tileset&&(n.tileset.lodRangeScale=e)}else{this._lodRangeScale=e;for(let t of this.datasets.values())t.tileset&&(t.tileset.lodRangeScale=e)}this._requestRepaint()}}renderFrame(e){if(!this.renderer||!this.scene||!this.camera||!this.sceneAnchor||!this.canvas)return!1;let t=this.renderer.getContext();if(t&&typeof t.isContextLost==`function`&&t.isContextLost())return!1;if(this._prewarming)return!0;let n=this.animator.tick();this.flushOverrides();let r=this.canvas,i=this.sceneAnchor.meterInMercator;this._enuMatrix.set(i,0,0,this.sceneAnchor.x,0,-i,0,this.sceneAnchor.y,0,0,i,this.sceneAnchor.z,0,0,0,1);let a=new U().fromArray(e.mvp);a.multiply(this._enuMatrix),this.camera.projectionMatrix.copy(a),this.camera.projectionMatrixInverse.copy(a).invert();let o=e.cameraEnu;this.camera.position.set(o[0],o[1],o[2]),this.camera.matrixWorld.setPosition(o[0],o[1],o[2]),this.camera.matrixWorldInverse.copy(this.camera.matrixWorld).invert(),this.groundManager.update(this.camera);let s=!1,c=this._lodScreenHeight(e.canvasHeight);for(let t of this.datasets.values()){if(!t.visible||!t.tileset)continue;let n=[o[0]-t.offset[0],o[1]-t.offset[1],o[2]-t.offset[2]];t.tileset.update(n,e.fovRad,c)&&(s=!0)}this.style.mode===Uy.DYNAMIC&&(this.uniforms.uTime.value+=.016*(this.style.speed??1)),this.gpuPathManager.updateUniforms(this.uniforms);let l=(this.uniforms.uPathTexActive?.value??0)>0;l&&!this._customPathTime&&this.uniforms.uPathTime&&(this.uniforms.uPathTime.value+=.016),this._updateLights(),this._updateLineResolution(r),this.renderer.setViewport(0,0,r.width,r.height),this.renderer.resetState(),(this.uniforms.uOpacity?.value??1)>hS&&this.renderer.render(this.scene,this.camera),this._frame++;let u=performance.now();u-this._fps.last>500&&(this._fps.value=Math.round(this._frame*1e3/(u-this._fps.last)),this._frame=0,this._fps.last=u);let d=n||this.style.mode===Uy.DYNAMIC||l||this.stats.loading>0||s;return this._prewarmShadingEnabled&&!this._shadingPrewarmed&&this._pickables.size>0&&this.prewarmShading(),d}get fps(){return this._fps.value}get stats(){let e={tiles:0,loading:0,failed:0,meshes:0,vertices:0,triangles:0,datasets:this.datasets.size};for(let t of this.datasets.values()){let n=t.tileset?.stats;n&&(e.tiles+=n.tiles,e.loading+=n.loading,e.failed+=n.failed,e.meshes+=n.meshes,e.vertices+=n.vertices,e.triangles+=n.triangles)}return e}getBounds(){let e=1/0,t=1/0,n=-1/0,r=-1/0;for(let i of this.datasets.values()){let a=qb(i.tileset?.config?.geoBounds);a&&(e=Math.min(e,a.left),n=Math.max(n,a.right),t=Math.min(t,a.bottom),r=Math.max(r,a.top))}return isFinite(e)?[[e,t],[n,r]]:null}dispose(){this.unmount()}};X(yS,`_EDGE_SKIP_KEYWORDS`,[`terrain`,`ground`,`vegetation`,`green`,`road`,`dem`,`绿地`,`道路`,`地面`,`地形`,`植被`,`铺装`]),Bb(),rh();var bS=1e-4;function xS(e,t){let n=e.elements;for(let e=0;e<16;e++){let r=Math.max(1,Math.abs(n[e]),Math.abs(t[e]));if(Math.abs(n[e]-t[e])>bS*r)return!1}return!0}function SS(e){let t=e.elements,n=1;for(let e=0;e<16;e++){let r=Math.abs(t[e]);r>n&&(n=r)}let r=1e-6*n;return Math.abs(t[3])<r&&Math.abs(t[7])<r&&Math.abs(t[11])<r&&Math.abs(t[15]-1)<r}function CS(e,t){return t>0&&Math.abs(e.elements[5]*Math.tan(t/2)-1)<.001}function wS(e){if(!e||typeof e!=`object`)return null;let t=e;return t.defaultProjectionData?.projectionMatrix??t.projectionMatrix??null}function TS(e){let t={nearZ:null,farZ:null};if(!e||typeof e!=`object`)return t;let n=e,r=n.defaultProjectionData,i=e=>{let t=n[e];if(typeof t==`number`&&Number.isFinite(t))return t;let i=r?.[e];return typeof i==`number`&&Number.isFinite(i)?i:null};return{nearZ:i(`nearZ`),farZ:i(`farZ`)}}function ES(e,t){if(e&&typeof e==`object`){let t=e.fov;if(typeof t==`number`&&Number.isFinite(t)&&t>0)return t}return typeof t==`number`&&Number.isFinite(t)&&t>0?t:null}function DS(e,t){let n=e.projectionMatrix;if(!n||n.length<16)return null;let r=new U().fromArray(Array.from(n)),i=new U().fromArray(Array.from(e.mvp));if(r.determinant()===0||!CS(r,t.fov))return null;let a=r.clone().invert().multiply(i);if(!xS(r.clone().multiply(a),Array.from(e.mvp))||!SS(a)||!CS(r,t.fov))return null;let{distance:o,fov:s,aspect:c}=t;if(!(o>0)||!(s>0)||!(c>0))return null;let l=o*Math.tan(s/2),u=l*c,d=e.nearZ!=null&&e.nearZ>0?e.nearZ:1,f=e.farZ!=null&&e.farZ>d?e.farZ:o*4+1e3;f>d||(f=d+1e3);let p=new zc(-u,u,l,-l,d,f);return p.updateProjectionMatrix(),{matrix:p.projectionMatrix.clone().multiply(a),view:a}}function OS(e,t){if(!(t>0)||t>=1)return null;let n=e.projectionMatrix;if(!n||n.length<16)return null;let r=new U().fromArray(Array.from(n));if(!Number.isFinite(r.determinant())||r.determinant()===0||Math.abs(r.elements[11]+1)>1e-6)return null;let i=e.nearZ!=null&&e.nearZ>0?e.nearZ:NaN,a=e.farZ!=null&&e.farZ>i?e.farZ:NaN;if(!(i>0)||!(a>i)){let e=-r.elements[10];if(!(e>1)||(i=-r.elements[14]/(e+1),a=i*(e+1)/(e-1),!(i>0)||!(a>i)))return null}let o=i*t;if(!(o>0)||!(o<a))return null;let s=r.clone();s.elements[10]=-(a+o)/(a-o),s.elements[14]=-2*a*o/(a-o);let c=s.multiply(r.clone().invert()).multiply(new U().fromArray(Array.from(e.mvp)));for(let e=0;e<16;e++)if(!Number.isFinite(c.elements[e]))return null;return c}function kS(e,t,n){let r=e.projectionMatrix;if(!r||r.length<16)return null;let i=new U().fromArray(Array.from(r)),a=new U().fromArray(Array.from(e.mvp));if(i.determinant()===0||!CS(i,t.fov))return null;let o=i.clone().invert().multiply(a);if(!xS(i.clone().multiply(o),Array.from(e.mvp))||!SS(o))return null;let s=Math.max(0,Math.min(1,n));if(s<=0)return{matrix:a,view:o};let{distance:c,fov:l,aspect:u}=t;if(!(c>0)||!(l>0)||!(u>0))return null;let d=c*Math.tan(l/2),f=d*u,p=e.nearZ!=null&&e.nearZ>0?e.nearZ:1,m=e.farZ!=null&&e.farZ>p?e.farZ:c*4+1e3;m>p||(m=p+1e3);let h=new zc(-f,f,d,-d,p,m);if(h.updateProjectionMatrix(),s>=1)return{matrix:h.projectionMatrix.clone().multiply(o),view:o};let g=new U,_=i.elements,v=h.projectionMatrix.elements,y=g.elements;for(let e=0;e<16;e++)y[e]=(1-s)*_[e]+s*v[e];return{matrix:g.multiply(o),view:o}}var AS=i({Animator:()=>Ux,AttributeQuery:()=>u_,BinaryReader:()=>dh,DEFAULT_FLOOR_HEIGHT:()=>i_,DEFAULT_STYLE:()=>qy,DatasetManager:()=>nS,EARTH_RADIUS:()=>d_,EASING_NAMES:()=>Sx,FeatureStyleManager:()=>lS,GPUPathManager:()=>Ry,GroundManager:()=>uS,Path:()=>Fy,Picker:()=>dx,PixelFormat:()=>rv,S3MFormatError:()=>Xg,S3MTileset:()=>Xb,S3MViewer:()=>yS,S3M_VERSION:()=>vg,SAMPLES_PER_PATH:()=>256,SELECT_MODE:()=>Gy,SELECT_MODE_LABELS:()=>Ky,STYLE:()=>Uy,STYLE_LABELS:()=>Wy,TextureCompress:()=>iv,VertexTag:()=>yg,VertexTagV3:()=>bg,buildAttributes:()=>n_,buildBlendedMVP:()=>kS,buildFeatureEdgeSegments:()=>$x,buildNearScaledMVP:()=>OS,buildOrthoMVP:()=>DS,buildThickLineGeometry:()=>Jx,buildTileObjects:()=>Lb,createLineSharedUniforms:()=>Wx,createOutlineMaterial:()=>Hy,createSharedUniforms:()=>By,createStyledMaterial:()=>Vy,createTexture:()=>Oy,createThickLineMaterial:()=>qx,cubicBezier:()=>Nx,default:()=>yS,dxtPixelFormatOf:()=>nv,easing:()=>Cx,extractEulerAngles:()=>iS,extractFovRadians:()=>ES,extractNearFar:()=>TS,extractProjectionMatrix:()=>wS,isS3M1Buffer:()=>ag,lngLatFromMercator:()=>p_,lngLatFromWorld:()=>h_,measureSegments:()=>t_,mercatorFromLngLat:()=>f_,parseS3M1:()=>_g,parseS3MB:()=>Zg,resolveFeature:()=>e_,resolveRotationMatrix:()=>rS,resolveTextureKind:()=>tv,setMaxAnisotropy:()=>xy,setMaxTextureSize:()=>Sy,steps:()=>Px,worldFromLngLat:()=>m_});a_(),ob(),zy(),Py(),sv(),Iy(),rh(),a_(),sv(),Py(),Iy(),zy(),ob(),Bb();var jS=globalThis;return jS.THREE||(jS.THREE=a),jS.S3M=AS,e.Animator=Ux,e.AttributeQuery=u_,e.BinaryReader=dh,e.DEFAULT_FLOOR_HEIGHT=i_,e.DEFAULT_STYLE=qy,e.DatasetManager=nS,e.EARTH_RADIUS=d_,e.EASING_NAMES=Sx,e.FeatureStyleManager=lS,e.GPUPathManager=Ry,e.GroundManager=uS,e.Path=Fy,e.Picker=dx,e.PixelFormat=rv,e.S3MFormatError=Xg,e.S3MTileset=Xb,e.S3MViewer=yS,e.default=yS,e.S3M_VERSION=vg,e.SAMPLES_PER_PATH=Ly,e.SELECT_MODE=Gy,e.SELECT_MODE_LABELS=Ky,e.STYLE=Uy,e.STYLE_LABELS=Wy,e.TextureCompress=iv,e.VertexTag=yg,e.VertexTagV3=bg,e.buildAttributes=n_,e.buildBlendedMVP=kS,e.buildFeatureEdgeSegments=$x,e.buildNearScaledMVP=OS,e.buildOrthoMVP=DS,e.buildThickLineGeometry=Jx,e.buildTileObjects=Lb,e.createLineSharedUniforms=Wx,e.createOutlineMaterial=Hy,e.createSharedUniforms=By,e.createStyledMaterial=Vy,e.createTexture=Oy,e.createThickLineMaterial=qx,e.cubicBezier=Nx,e.dxtPixelFormatOf=nv,e.easing=Cx,e.extractEulerAngles=iS,e.extractFovRadians=ES,e.extractNearFar=TS,e.extractProjectionMatrix=wS,e.isS3M1Buffer=ag,e.lngLatFromMercator=p_,e.lngLatFromWorld=h_,e.measureSegments=t_,e.mercatorFromLngLat=f_,e.parseS3M1=_g,e.parseS3MB=Zg,e.resolveFeature=e_,e.resolveRotationMatrix=rS,e.resolveTextureKind=tv,e.setMaxAnisotropy=xy,e.setMaxTextureSize=Sy,e.steps=Px,e.worldFromLngLat=m_,e})({});